我必须添加一个:
export PATH="/path/to/my/bin:$PATH"
到我的bash.rc
,用于progA
的二进制库位置。现在,每当我启动 GNOME 终端实例时,我都可以键入progA
并按回车键,然后执行正确的二进制文件。
但是,如果我progA
通过 GUI 启动应用程序,我的系统就会出错,不知道progA
垃圾箱在哪里。
我应该怎么办?
答案1
该~/.bashrc
文件仅用于交互式,无需登录shells:设置路径的更好的地方可能是你的~/.profile
为了实现最大的可移植性,您可以遵循用户~/bin
目录中的现有范例~/.profile
(即避免export
并测试目录的存在):类似于
if [ -d "/path/to/my/bin" ] ; then
PATH="/path/to/my/bin:$PATH"
fi
由于~/.profile
仅对登录 shell 读取,因此您需要注销并重新登录才能使其生效(或至少启动新的登录 shell,例如使用su - username
)。从那里,新的 PATH 应该传播到所有子 shell - 包括您的 gnome 终端的交互式非登录 shell。
答案2
首先,里面的内容.bashrc
仅适用于bash
shell。除非您提到的那个神秘的 GUI 启动应用程序也使用.bashrc
(我看不出有任何理由),否则它不会知道您的在哪里progA
。即使运行对话框(如果您不知道的话,它是 Alt+F2)dash
也不使用bash
,所以.bashrc
对它来说毫无意义。这是其中之一。
其次,如果您想要的是桌面或启动器快捷方式,您需要有一个myAppName.desktop
包含以下内容的文件:
[Desktop Entry]
Name=myAppName
Type=Application
Exec=/path/to/the/progA
Terminal=false
Icon=/path/to/some/icon.png
现在,当您拥有该文件并且该文件是可执行文件时,您可以双击该.desktop
文件并启动该应用程序(前提是 progA 已正确设置所有权、设置权限并设置可执行位)。Icon=
部分是可选的,因此您可以将其省略。