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