如何让已安装的应用程序被rofi检测到?

ano*_*332 6 linux i3 dmenu

我最近在 /opt 中安装了一个 IDE(我知道有些人建议将软件放入 /usr/local 中,但这完全是独立的),因为该应用程序在我的 ditro 存储库中不可用,我必须从 .sh 文件安装它。

从终端启动时应用程序运行良好;但是,我想运行它而不必每次都声明可执行文件的路径。我使用 Rofi 作为我的应用程序启动器,但是当我搜索我的 IDE 时,没有找到它(可能是因为我在没有使用包管理器的情况下安装了它 - 但不明白这种行为背后的原因)。

如何让我安装到 /opt 的应用程序可以通过 Dmenu 或 Rofi 等应用程序启动器进行搜索?

ano*_*332 4

1.$路径

PATH 是Linux 和其他类Unix 操作系统中的一个环境变量,它告诉shell 在哪些目录中搜索可执行文件(即准备运行的程序)以响应用户发出的命令。

由于我决定将软件安装到“/opt”中,因此我必须确保“/opt”已在 PATH 中列出;不是。我修改了“/etc/profile”文件

:/选择

在 PATH 变量的末尾。注意:编辑“/etc/profile”将影响系统上的所有用户,如果您只想为该特定用户更改它,则应该使用主目录中的文件。

2. 符号链接

符号链接就像实际文件或目录的快捷方式或引用。大多数情况下,当通过其他程序使用这些链接时,这些链接是透明的...符号链接始终用于链接库并确保文件位于一致的位置,而无需移动或复制原始文件。

修改 $PATH 变量只能解决部分问题。将 /opt 添加到 $PATH 变量仅添加该目录,而不添加位于其中的特定应用程序。我还需要在 /opt 目录中创建指向特定应用程序的符号链接,以便可以在我的应用程序启动器中搜索它。

ln -s /opt/applicationFolder/可执行文件 /opt/applicationName

这将为位于目录“/opt/”中的“/opt/applicationFolder”中名为“applicationName”的可执行文件创建符号链接。必须注销/重新启动才能看到更改。

资源:

  • 为什么不直接将符号链接放入“PATH”中已有的目录中?例如 `ln -s /opt/applicationFolder/executable /usr/local/bin/applicationName`。这样,您就不必修改任何配置文件(更新时可能会被覆盖)。 (2认同)