以下是我在 22.04 上安装 nautilus-compare 的方法:

以下是我在 22.04 上安装 nautilus-compare 的方法:

回答在 20.04 上安装 nautilus-compare 无法在 22.04 上工作,因为它没有 jammy 的发布文件。

但如果我将其指向焦点包,它似乎就起作用了:

sudo add-apt-repository ppa:boamaod/nautilus-compare
sudo sed -i 's/jammy/focal/g' /etc/apt/sources.list.d/boamaod-ubuntu-nautilus-compare-jammy.list
sudo apt-get install nautilus-compare

这是在 Ubuntu 22.04 上安装 nautilus-compare 的最佳方法吗?

答案1

以下是我在 22.04 上安装 nautilus-compare 的方法:

通过执行以下操作,可以直接从源安装:

安装 nautilus python3 绑定

sudo apt-get install python3-nautilus

下载最新源

wget https://launchpad.net/~boamaod/+archive/ubuntu/nautilus-compare/+sourcefiles/nautilus-compare/1.0.0~focal1/nautilus-compare_1.0.0~focal1.tar.xz

tar -xvf nautilus-compare_1.0.0~focal1.tar.xz 

安装源文件

cd nautilus-compare-1.0.0/src
sudo cp nautilus-compare.py /usr/share/nautilus-python/extensions/

sudo mkdir /usr/share/nautilus-compare
sudo cp utils.py /usr/share/nautilus-compare
sudo cp nautilus-compare-preferences.py /usr/share/nautilus-compare

安装任何缺少的 python3 模块

此时,如果 python 源使用了您尚未安装的任何模块,那么您也需要安装它们,例如使用pip。我已经拥有所有模块,因此不需要。

然后重新启动nautilus现在应该会出现比较菜单。

nautilus -q && nautilus &

答案2

联系开发者

最好的办法是请求开发人员提供适用于 Ubuntu 22.04 的软件版本。

然而,有时这是不可能的,例如当开发人员停止开发或放弃软件时。

尝试从源代码编译

如果你知道如何操作,你可以在你的 Ubuntu 22.04 中编译源代码。这将确保满足所有依赖关系。

使用“Focal” PPA

这是最糟糕的选择。情况会变得有多糟糕取决于该 PPA 中还有哪些其他软件以及这些软件与已安装软件的依赖关系。这种混合和匹配可能会导致无法解决的依赖问题。从其他版本或其他发行版安装应用程序可能会破坏您的操作系统安装。在最坏的情况下,您的 Ubuntu 22.04 可能会完全无法启动。

可能存在技术原因导致该软件无法在 Ubuntu 22.04 上使用。如果是这样,现在或以后在 Ubuntu 22.04 中安装其他软件时可能会出现不可预测的问题。

希望这可以帮助

答案3

对于 22.04,我下载了https://launchpadlibrarian.net/471415152/nautilus-compare_1.0.0~focal1_all.deb并且它按预期工作。

它只有几个具有非常通用依赖关系的 Python 文件:

$ apt show ./nautilus-compare_1.0.0~focal1_all.deb
...
Installed-Size: 97,3 kB
Depends: nautilus, python3-nautilus, python3-xdg
Recommends: meld (>= 3.12.1)
Suggests: kdiff3 | kdiff3-qt, diffuse, kompare, fldiff, tkdiff, xxdiff
...

有了这一组适度的依赖关系,我认为这不会导致任何系统问题,无论是在 22.04 中,还是在 Ubuntu 的任何后续版本中。

然而,由于缺乏 Python 和 GNOME 的向后兼容性,它最终将停止工作。来自 nukkio 的评论和这个答案,似乎对于 GNOME 的更高版本(43+),您需要更改 nautilus-compare.py 中的几行。

相关内容