У меня есть два сценария - один для монтирования некоторых папок через SSHFS - и один для размонтирования.
Я хотел бы запустить сценарий монтирования, когда мой рабочий стол Ubuntu по умолчанию запущен (после того, как я войду в систему с графической консоли), - и сценарий размонтирования, когда я "Выйти ..." с колесика шестерни в правом верхнем углу рабочий стол.
Пожалуйста, может кто-нибудь сказать мне, как этого добиться? Каковы наиболее удобные / стандартные зацепки для запуска команд при запуске / выходе с рабочего стола?
Ответы:
Учитывая ваше требование запуска задания при входе в Unity, а не для других входов в систему, задание сеанса Upstart кажется идеальным.
Вы, возможно, заметили это: процессы, которые вы запускаете после входа в GUI, находятся под вторым
init
процессом. Этоinit
правильная инициализация Upstart, и вы можете запускать и останавливать сеансовые задания на основе событий, которые она генерирует. Никаких корневых привилегий не требуется вообще. Еще лучше (или хуже в зависимости от перспективы), это еще не полностью поддерживается для безголовых систем. Вход в SSH не запустил пользователя init из быстрого теста, который я только что сделал.Чтобы создать сессионное задание, создайте новый
.conf
файл в~/.config/upstart
. Это основной каталог по умолчанию для заданий сеанса Upstart ($XDG_CONFIG_HOME/upstart
), создайте его, если он не существует. Вот пример работы:Вы можете вручную контролировать это:
Команда
service
используется для управления системными заданиями (теми, что в/etc/init.d
или/etc/init
). Для управления сессионными заданиями необходимо использоватьinitctl
команду, которая используется для взаимодействия с Upstart.Смотрите
man upstart-events
больше событий, которые вы можете использовать.источник
Решением было использование выскочки задач. Мне потребовалось две задачи - одна запускалась при инициализации рабочего стола для пользователя; второй, когда истекает сеанс пользователей. Следующие два скрипта работают для меня под Ubuntu 14.04.
В ~ / .config / upstart / desktopOpen.conf
В ~ / .config / upstart / desktopClose.conf
Мои пальцы скрещены, что эти события будут продолжать соответствовать требованиям в будущих выпусках Ubuntu. Я подумал, что стоит опубликовать свое решение здесь - на случай, если оно пригодится другим.
источник
Вот несколько советов по запуску скрипта после входа в систему:
Сценарий StackOverflow для Linux после загрузки : Cliff notes должен поместить ваш * .sh файл в /etc/profile.d.
Если вы хотите запускать скрипты при загрузке, вот несколько советов для этого:
Сценарий StackOverflow для Linux после загрузки : Примечания к скале должны использовать /etc/rc.local или crontab.
источник