有趣的事实:

有趣的事实:

我经常发现自己在寻找 PDF 文档。幸运的是,我发现 pdfgrep 在按内容查找 PDF 文档方面确实做得很好。

通过以下命令,我可以搜索首页上包含我的搜索词的文档

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

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

答案1

是的!

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

  1. 编写一个脚本或程序,获取文件名并输出该文件的纯文本
  2. 使该脚本可执行
  3. 编写一个搜索帮助器定义文件并将其放入~/.local/share/nemo/search-helpers.

幸运的是,第一部分已经由内部使用的 PDF 库完成pdfgrep:有一个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 搜索助手,因此您无需执行任何操作。只需安装,当您在 nemo 中点击+poppler-utils时,您应该会得到该搜索。ctrlf

不太有趣的事实: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。

相关内容