Tom*_*Tom 11 install-from-source
从源代码安装应用程序时,以及偶尔使用update-alternatives. 到目前为止,这只是一个小烦恼(即,没有妨碍最终目标)但现在它是一种挫败感,因为它指向我的知识库中的一个漏洞......所以当我收到一条消息时' foo' 是“未注册的应用程序”(或者我不能使用 foo 的默认图标,因为 Ubuntu 不知道 'foo'):
什么定义了“注册应用程序”?
我如何定义从源代码安装的应用程序(并且可能驻留在 $HOME/bin/app-name 中),以便它包含与从 .deb 安装的包相同的功能?(如果答案不是从答案 1 中不言而喻的)
例子:
我下载并解压sublime-text-2to 的每日开发版本/home/tom/bin/sublime-text-2。我已经创建了一个带有适当快捷方式等的 *.desktop 文件。但是即使我提供了该选项的完整路径名,sublime 的图标也无法显示在任何启动器中。解决方案是从 deb 包安装第二个sublime 实例。
当我从 .deb 包安装 sublime-text-2 时,它安装在 下/usr/bin && /usr/lib,安装的.desktop文件存储在 下/usr/share/applications,相关行显示:icon=sublime_text。
我缺少的链接在哪里?不知何故,Ubuntu 知道如何从sublime_text后者中提取图标,但在前者中不知道(同样,即使提供了完整路径)。
小智 3
我认为您在源安装时同时遇到了几个问题。
update-alternatives不允许您将任何程序设置为给定名称的首选应用程序。该程序必须首先使用该--install选项进行注册。例如:
sudo update-alternatives --set editor /home/peter/bin/foo
update-alternatives: error: alternative /home/peter/bin/foo for editor not registered, not setting.
Run Code Online (Sandbox Code Playgroud)
如果您想了解注册是如何完成的,请检查例如/var/lib/dpkg/info/nano.postinst。
但请注意,定义一个指向某些用户主目录的系统范围替代方案是非常虚假的。通常有环境变量或其他设置来仅为一个用户设置首选项。
桌面文件的问题可能是完全独立的,但您需要提供有关您使用的路径的更多详细信息。
一般来说,从源安装应用程序可能很难与系统的其余部分很好地集成,具体取决于特定的应用程序。