Я создаю .desktop
файлы для использования в Unity Launcher.
У меня есть собственное местоположение в моем домашнем каталоге, куда я помещаю свои исполняемые файлы ( ~/usr/bin/
), которые правильно добавляются в мою PATH
переменную окружения в моем .pam_environment
файле, как указано в соответствующей документации по Ubuntu .
Это содержимое моего .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
), в ~/usr/bin/
котором работает Eclipse IDE.
Я могу открыть любой терминал и просто набрать, 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
это работает отлично.
Документация Unity Пусковые и файлы рабочего стола Официальный предполагает , что это должно работать:
Exec - это путь к исполняемому файлу. Полный путь к исполняемому файлу должен использоваться только в том случае, если его нет ни в одном из путей, указанных в переменной $ PATH. Например, любые файлы, которые находятся внутри пути / usr / bin, не обязательно должны указывать полный путь в поле Exec, а только свое имя файла.
Любые предложения о том, что происходит?