Я создал каталог bin
в $HOME
со сценариями оболочки, каждый из которых настроен для загрузки профиля Firefox; таким образом, я могу использовать простую команду, например, facebook
чтобы открыть профиль Firefox, зарезервированный для моей учетной записи Facebook.
У меня проблемы с получением рабочего стола для работы с этой настройкой, хотя. У меня есть запись на рабочем столе в $HOME/.local/share/applications
со следующей строкой Exec
:
Exec=env PATH=${PATH}:${HOME}/bin facebook
Ничего не происходит, когда я выбираю этот лаунчер. Если я щелкаю по нему в самом каталоге, меня, как и с любой другой записью на рабочем столе, спрашивают, хочу ли я запустить его, несмотря на отсутствие разрешений на выполнение. (Я уже подтвердил, что это работает, как и ожидалось, с множеством других записей на рабочем столе, где приложения успешно запускаются, когда я выбираю «Запустить в любом случае».) Если я получаю к нему доступ из любого из меню, доступных в моем DE (Меню Whisker в Xfce и Традиционное меню приложений, если оно помогает узнать), опять ничего не происходит. Я подтвердил, что сценарий оболочки в bin
является исполняемым, и я могу успешно запустить профиль Firefox, щелкнув значок сценария в Thunar или открыв его из терминала. У меня также есть многочисленные записи рабочего стола, в которых я устанавливаю другие переменные среды, такие как HOME
, как указано выше, и они запускаются без проблем, независимо от того, как я к ним обращаюсь.
Я понимаю, что есть миллион других способов сделать это; Я мог бы просто указать полный путь к сценарию в файле .desktop, я мог бы создать модуль запуска Firefox с соответствующими переключателями CL в строке Exec
, я мог бы добавить ${HOME}/bin
к моей PATH
в /etc /profile , так далее. (Обратите внимание, что добавление ${HOME}/bin
в PATH
из .bashrc, по-видимому, не исправляет это, даже если это установлено при входе в систему, а не только в середине сеанса.) Мне в основном просто любопытно, можно ли заставить это работать, особенно для дополнительной экономии, которую он обеспечивает для записи записей на рабочем столе, и потому, что я не хочу расширять свой путь за пределы отдельных экземпляров, подобных этому, если я могу Помоги.
В случае, если это имеет какое-то значение, вот полный скрипт оболочки в моем bin
:
#!/bin/sh
firefox -no-remote -P Facebook
exit 0
РЕДАКТИРОВАТЬ: Несмотря на многочисленные предупреждения о синтаксических ошибках (поскольку bash, кажется, пытается запустить его как скрипт оболочки), эта запись рабочего стола также работает правильно, когда установлен u+x. Это просто глупо, и я определенно не хочу иметь исполняемый файл .desktop в ~/.local/share/applications
.