Я хочу запускать некоторые команды каждый раз, когда пользователь ubuntu 9.10 выходит из системы или выключается. Каков наилучший способ сделать это? Каждый пользователь использует gnome, если это помогает.
Запустить скрипт на выход/ выключение Убунту
5 ответов
после некоторого гугления я нашел Как запустить скрипт при выходе из системы? который говорит, чтобы добавить сценарий к $HOME/.bash_logout по.
Если это не работает, добавьте
$HOME/.bash_logout
в /etc/gdm/PostSession / Default, поэтому скрипт выхода из системы выполняется правильно.
видя, как перед выключением пользователь выходит из системы в любом случае, это должно охватывать обе базы.
если вы используете KDE (я использую Ubuntu с kdm)
# From the kdm man page
# http://manpages.ubuntu.com/manpages/oneiric/man1/kdm.1.html
/etc/kde4/kdm/Xreset - script to run as root after session exits
/etc/kde4/kdm/Xsession - script to run as user after login of user
/etc/kde4/kdm/Xsetup - script to run as root before the login dialog appears
/etc/kde4/kdm/Xstartup - script to run as root before session starts
Для теста:
откройте нужный файл, т. е.
sudo emacs /etc/kde4/kdm/Xreset
добавить тестовую команду (Создать файл в моем домашнем каталоге)
touch /home/dericbytes/this-file-was-created-by-xreset
затем я вышел, и снова, и проверил, если новый файл был создан
ls /home/dericbytes/this*
Если вы не хотите быть привязаны к конкретному менеджеру дисплея, то вы можете поместить свои сценарии под /etc/X11/Xreset.d/
, который будет запускаться от имени root каждый раз, когда вы выходите из xsession.
например: я хочу, чтобы моя виртуальная машина virtualbox была на savestate каждый раз, когда пользователь выходит из системы, поэтому у меня есть сценарий, который это делает.
#!/bin/bash
su - $USER -c 'vboxmanage list runningvms | cut -d\" -f2 | xargs -I{} vboxmanage controlvm {} savestate'
Мда..ну, если вы google "linux run script on shutdown", первый результат сообщение на форумах Ubuntu с вашим ответом:
chmod +x /etc/init.d/foo.sh
Это позволит вам выполнить скрипт как программу.
для запуска сценария при завершении работы используйте следующий метод:
sudo ln -s /etc/init.d/foo.sh /etc/rc0.d/K10rensa.sh sudo ln -s /etc/init.d/foo.sh /etc/rc6.d/K10rensa.sh
фон о том, как это работает: введение в run-levels.
-
к слову, я должен воздерживаться от потакания людям с ответы, когда ясно, что они даже не пытались искать в Интернете в первую очередь (я новичок здесь..)?
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]