同一软件有 2 个版本,但功能不同

同一软件有 2 个版本,但功能不同

我以前通过 Ubuntu 软件中心安装了 Darktable,它运行良好。然而,在 Darktable 首选项选项卡中,OpenCL 未启用。

我真的希望启用 OpenCl,因为它可以提高 Darktable 的性能。因此,我确保我拥有正确的 NVIDIA 驱动程序,该驱动程序允许启用 OpenCL 配置,并尝试运行darkatbe-cltest,但失败并显示以下错误消息:

darktable-cltest not known 
You can install it with sudo apt install darktable

我有点困惑,因为我已经按照上面描述的方式安装了 Darktable。

但我确实继续进行操作sudo apt install darktable,在我的计算机上安装了新版本的 Darktable。

我还使用了sudo add-apt-repository ppa:pmjdebruijn/darktable-release,以便更新到较新的版本。奇怪的是,这个新版本现在支持 OpenCL!

现在我的电脑上有 2 个不同版本的 Darktable,都是 2.6.2 版本。但是,一个支持 OpenCL,而另一个不支持。两个版本的布局也略有不同(字体大小和填充不同)。

当我运行 Synaptic 时,我只能看到一个版本的 Darktable,即从终端安装的版本。

当我尝试查找通过 Ubuntu 软件中心安装的软件包(例如 Discord)时,我无法在 Synaptic 中找到它们。

因为我以为 Ubuntu 软件中心是终端的 GUI,所以在 Ubuntu 软件中心找不到安装的每个软件包有点奇怪。

(注意:我必须提到,我确实运行了sudo apt-get update && sudo apt upgrade几次,并且还通过 Synaptic 更新了我在那里看到的一些软件包。)

答案1

Debian 和 Ubuntu apt-getaptsynaptic可能还有其他一些)以“老式”的deb文件使用方式(类似于rpm已经存在很久的 redhat 文件)从存储库提供软件包。这些很容易使用,但以“老式”的方式安装软件和库,将它们添加到主机操作系统;如果出现严重的不匹配,可能会破坏整个操作系统。

Snap 和类似的 AppImage 和 Flatpak 是安装软件的其他方式,它们的不同之处在于软件最终进入“容器”,其特点是容器包含运行软件包所需的所有软件(因此“不能”干扰主机操作系统)。但这有一个警告,即容器可能需要特殊设置 - 至少 - 才能与(或者可以使用部分)实际安装的操作系统或硬件及其文件和/或库。

例如,要使gimpsnap 包能够使用主机操作系统提供的 CUPS 进行打印,只需

sudo snap connect gimp:cups-control  

是必须的。

如果您不提供该功能,或者没有这样的适配,则操作系统功能将不可用。

我怀疑您的情况就是 OpenCL 的情况。

有关的:snaps、appimage、flatpak 和其他之间有什么区别?

相关内容