У меня есть два сценария - один для монтирования некоторых папок по SSHFS - и один для размонтирования.
Я хотел бы запустить сценарий монтирования, когда мой рабочий стол Ubuntu по умолчанию запускается (после того, как я вхожу в систему в графической консоли) - и сценарий размонтирования, когда я "Выхожу из системы..." зубчатого колеса в верхнем правом из рабочего стола.
Кто-то может сказать мне, как достигнуть этого? Что самые удобные/стандартные рычаги к командам выполнения на настольном запуске / выход?
Решение состояло в том, чтобы использовать новомодные задачи. Я потребовал двух задач - один запущенный, когда рабочий стол инициализирует для пользователя; второе, когда пользовательская сессия истекает. Следующие две работы сценариев для меня в соответствии с Ubuntu 14.04.
В ~/.config/upstart/desktopOpen.conf
description "Desktop Open Task"
start on desktop-start
task
script
# Commands to mount sshfs go here as shell-script.
end script
В ~/.config/upstart/desktopClose.conf
description "Desktop Close Task"
start on session-end
task
script
# Commands to unmount sshfs go here as shell-script.
end script
, Мои пальцы скрещены, что эти события продолжат отвечать требованиям в будущих релизах Ubuntu. Я думал это стоящий регистрации мое решение здесь - в случае, если это полезно для других.
Рассмотрение Вашего требования выполнения задания, когда Вы входите в систему к Единице а не для других логинов, Выскочка задание сессии , кажется прекрасным.
Вы, возможно, заметили его: процессы, что Вы бежите за входом в систему GUI, младше секунды init
процесс. Это init
является надлежащей Выскочкой init, и можно запустить и остановить задания сессии на основе событий, испускаемых им. Никакие полномочия пользователя root не необходимы вообще. Еще лучше (или хуже в зависимости от перспективы), это полностью еще не поддерживается для бездисплейных систем. Вход в систему SSH не запустил пользователя init с быстрого теста, который я сделал сейчас.
Для создания задания сессии сделайте новое .conf
файл в ~/.config/upstart
. Это - основной каталог по умолчанию для Новомодных заданий сессии ($XDG_CONFIG_HOME/upstart
), создайте его, если не существует. Вот задание в качестве примера:
tee ~/.config/upstart/myjob.conf <<EOF
description "My job"
start on desktop-start
stop on desktop-end
script
firefox 'http://upstart.ubuntu.com/cookbook/#session-job'
end script
EOF
можно вручную управлять им:
start myjob
# or
initctl start myjob
Эти service
команда привыкли к заданиям системы управления (те в /etc/init.d
или /etc/init
). Для управления заданиями сессии нужно использовать initctl
команда, которая используется для взаимодействия с Выскочкой.
Видят man upstart-events
для большего количества событий, которые можно использовать.
Вот некоторые предложения для выполнения сценария после входа в систему:
сценарий StackOverflow Linux после начальной загрузки : примечания Утеса должны поместить Ваш *.sh файл в/etc/profile.d.
, Если Вы хотите выполнить сценарии после начальной загрузки, вот некоторые предложения для этого:
сценарий StackOverflow Linux после начальной загрузки : примечания Утеса должны использовать/etc/rc.local или crontab.