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

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

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

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

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

答案1

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”的可执行文件创建符号链接。必须注销/重新启动才能看到更改。

资源:

答案2

确保 rofi 已安装:

sudo apt update
sudo apt install rofi

要获取 rofi 上已安装和正在运行的应用程序的列表:

rofi -show combi -combi-modi "window,drun,ssh" -modi combi

将上面的命令绑定到一个按键上,以便直接从按键启动

要显示安装在非 bin 目录中的应用程序,请在 ~/.local/share/applications 中添加桌面文件 your_app.desktop

your_app.desktop 应包含以下内容:

[Desktop Entry]
Exec=/absolute_path/to/YourApp
Type=Application
Categories=Development
Name=name of the Your App, for example : Eclipse

答案3

  1. 跑步

显示 $PATH 中的可执行文件列表并可以启动它们(在终端中可选)。按删除条目绑定(shift-delete)将从运行历史记录中删除该条目。按接受自定义绑定(control-enter 或 shift-enter)将在终端中运行该命令。

  1. DR运行

与运行启动相同,但列表是从已安装的桌面文件创建的。如果在桌面文件中指定,它会自动在终端中启动它们。按删除条目绑定(shift-delete)将从运行历史记录中删除该条目。使用自定义输入(无条目匹配)按下接受自定义绑定(control-enter 或 shift-enter)将在终端中运行该命令。

如果您想使用运行 IDE ,您应该添加一个包含以下内容的rofi -show drun.desktop 文件:~/.local/share/applications

[Desktop Entry]
Exec=/opt/path/to/IDE
Type=Application
Categories=Development
Name=name of the IDE, for example : Qt Creator

有关桌面入口文件的更多信息:开发者.gnome.org

相关内容