Ubuntu

是否可以將 pdfgrep 集成到 nemo 搜尋中?

  • December 8, 2021

我經常發現自己在尋找 PDF 文件。幸運的是,我發現 pdfgrep 在按內容查找 PDF 文件方面確實做得很好。

以下命令讓我搜尋在第一頁上有我的搜尋詞的文件

pdfgrep -irl --page-range=1 2>/dev/null 'mysearchword'

是否可以將此命令集成到 Nemo 文件管理器搜尋中?

是的!

https://github.com/linuxmint/nemo/tree/master/search-helpers解釋瞭如何:

  1. 編寫一個腳本或程序,獲取文件名並輸出該文件的純文字
  2. 使該腳本可執行
  3. 編寫一個搜尋助手定義文件並將其放入~/.local/share/nemo/search-helpers.

幸運的是,第一部分已經由pdfgrep內部使用的 PDF 庫完成:有一個pdftotext實用程序。

所以你需要做的是安裝pdftotextsudo 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 安裝。

引用自:https://unix.stackexchange.com/questions/680655