我正在创建.desktop
要在Unity Launcher中使用的文件。
我在自己的主目录中有自己的位置,在其中放置了可执行文件(~/usr/bin/
),该文件已按照相关的Ubuntu文档中的指定正确添加到PATH
环境变量中的文件中。.pam_environment
这是我.pam_environment
文件的内容:
LANGUAGE=en_AU:en_GB:en
LANG=en_AU.UTF-8
LC_NUMERIC=en_AU.UTF-8
LC_TIME=en_AU.UTF-8
LC_MONETARY=en_AU.UTF-8
LC_PAPER=en_AU.UTF-8
LC_NAME=en_AU.UTF-8
LC_ADDRESS=en_AU.UTF-8
LC_TELEPHONE=en_AU.UTF-8
LC_MEASUREMENT=en_AU.UTF-8
LC_IDENTIFICATION=en_AU.UTF-8
PATH DEFAULT=${PATH}:~/usr/bin/
这导致我的PATH
变量如下:
ben@ben-HPdv6:~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:~/usr/bin/:~/usr/bin/
我知道它被附加了两次,但是.pam_environment
无论何时使用我参考的Ubuntu文档中建议的正确语法,文件中的任何内容似乎都会被添加两次。
这是问题的一个示例(在所有情况下都会发生)。我有一个运行Eclipse IDE 的脚本(称为eclipse
)~/usr/bin/
。
我可以打开任何终端,只需键入即可eclipse
运行,就像您期望的那样。
但是使用以下.desktop
文件时:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Eclipse - Juno (4.2)
Icon=/home/ben/.icons/eclipse.svg
Exec=eclipse
我得到错误:
但是当我将Exec=
行更改为:
Exec=/home/ben/usr/bin/eclipse
它完美地工作。
在正式统一启动程序和桌面文件的文件表明,这应该工作:
Exec是可执行文件的路径。只有在$ PATH变量中指定的任何路径中都没有时,才必须使用可执行文件的完整路径。例如,路径/ usr / bin内的任何文件都不需要在Exec字段中指定其完整路径,而只需要其文件名即可。
有什么建议吗?