Ubuntu
是否可以將 pdfgrep 集成到 nemo 搜尋中?
我經常發現自己在尋找 PDF 文件。幸運的是,我發現 pdfgrep 在按內容查找 PDF 文件方面確實做得很好。
以下命令讓我搜尋在第一頁上有我的搜尋詞的文件
pdfgrep -irl --page-range=1 2>/dev/null 'mysearchword'
是否可以將此命令集成到 Nemo 文件管理器搜尋中?
是的!
https://github.com/linuxmint/nemo/tree/master/search-helpers解釋瞭如何:
- 編寫一個腳本或程序,獲取文件名並輸出該文件的純文字
- 使該腳本可執行
- 編寫一個搜尋助手定義文件並將其放入
~/.local/share/nemo/search-helpers
.幸運的是,第一部分已經由
pdfgrep
內部使用的 PDF 庫完成:有一個pdftotext
實用程序。所以你需要做的是安裝
pdftotext
(sudo apt install poppler-utils
),然後寫一個application-pdf.nemo_search_helper
:[Nemo Search Helper] TryExec=pdftotext Exec=pdftotext %s MimeType=application/pdf; Priority=100
並將其放入
application-pdf.nemo_search_helper
.有趣的事實:
這已經在 nemo 5 中實現了,有一個 pdftotext 搜尋助手,所以你不需要做任何事情。只需 install ,當您在 nemo 中點擊+
poppler-utils
時,您應該會得到該搜尋。ctrl``f
不那麼有趣的事實:Ubuntu 21.10 出奇地保守
…在它發布的 Nemo 版本中:您需要 nemo 5,但它發布了 nemo 4。
您可以將官方的 nemo 源建構到 Ubuntu 包中並安裝它,但不能保證。這可能會破壞您的系統,我還沒有測試過功能!
現在,您可以從原始碼建構 nemo:
sudo apt install git-buildpackage git clone https://github.com/linuxmint/nemo cd nemo dpkg-buildpackage -rfakeroot
這將抱怨失去的包裹:
dpkg-checkbuilddeps: error: Unmet build dependencies: cinnamon-l10n debhelper-compat (= 12) dh-python gobject-introspection gtk-doc-tools (>= 1.4) intltool (>= 0.40.1) itstool libatk1.0-dev (>= 1.32.0) libcinnamon-desktop-dev (>= 4.8) libexempi-dev (>= 2.2.0) libexif-dev (>= 0.6.20) libgail-3-dev libgirepository1.0-dev (>= 0.9.12) libglib2.0-dev (>= 2.45.7) libglib2.0-doc libgsf-1-dev libgtk-3-dev (>= 3.10) libgtk-3-doc libnotify-dev (>= 0.7.0) libpango1.0-dev libx11-dev libxapp-dev (>= 2.0.0) libxext-dev libxml2-dev (>= 2.7.8) libxrender-dev meson python3-gi x11proto-core-dev
只需安裝這些(列表可能看起來與您不同!)使用
sudo apt install cinnamon-l10n debhelper-compat dh-python gobject-introspection gtk-doc-tools intltool itstool libatk1.0-dev libcinnamon-desktop-dev libexempi-dev libexif-dev libgail-3-dev libgirepository1.0-dev libglib2.0-dev libglib2.0-doc libgsf-1-dev libgtk-3-dev libgtk-3-doc libnotify-dev libpango1.0-dev libx11-dev libxapp-dev libxext-dev libxml2-dev libxrender-dev meson python3-gi x11proto-core-dev
然後再試一次:
dpkg-buildpackage -rfakeroot
現在應該可以完美地工作。(它適用於我新的 Ubuntu 21.10 容器)。您現在可以安裝:
cd .. sudo dpkg -i gir*.deb libnemo*.deb nemo-data*.deb nemo_*.deb # there will be config errors of the above; run apt-get install to fix these: sudo apt-get install -f
你去吧,你現在將有一個最前沿的 nemo 安裝。