Запустите Script при выходе из системы / выключении Ubuntu


6

Я хочу запускать некоторые команды каждый раз, когда пользователь компьютера с Ubuntu 9.10 выходит из системы или выключается. Каков наилучший способ сделать это? Каждый пользователь использует gnome, если это помогает.


это действительно должно быть в разделе "Linux & Unix" SE ... ИМХО
CenterOrbit

Ответы:


2

После некоторого поиска в Google я нашел Как запустить скрипт при выходе? в котором говорится добавить скрипт в $ HOME / .bash_logout.

Если это не сработает, добавьте

$HOME/.bash_logout

в / etc / gdm / PostSession / Default, чтобы он правильно выполнял сценарий выхода из системы.

Если пользователь все равно выйдет из системы до завершения работы, это должно охватывать обе базы.


3
Используя Ubuntu 12.04, /etc/gdm/PostSession/Default не существует, где еще я могу разместить свой скрипт так, чтобы он выполнялся как при выходе из системы, так и при завершении работы?
Kushal

/ etc / gdm3 / нужна небольшая коррекция
Tim Richardson

1

Если вы используете 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*

1

Если вы не хотите привязываться к конкретному диспетчеру отображения, вы можете поместить свои сценарии в /etc/X11/Xreset.d/ который будет запускаться с правами root каждый раз, когда вы выходите из xsession.

Например: я хочу, чтобы виртуальная машина виртуальной машины находилась в состоянии сохранения каждый раз, когда пользователь выходит из системы, поэтому у меня есть скрипт, который это делает. #!/bin/bash su - $USER -c 'vboxmanage list runningvms | cut -d\" -f2 | xargs -I{} vboxmanage controlvm {} savestate'


0

Хм .. ну если гуглить "скрипт запуска linux при выключении", то первый результат пост на форумах 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

предыстория того, как это работает: Введение в уровни выполнения ,

-

Как замечание, должен ли я воздерживаться от того, чтобы побаловать людей ответами, когда стало ясно, что они даже не пытались сначала искать в Интернете (я новичок здесь ...)?


1
Это не обрабатывает события выхода из системы. Также добро пожаловать на ТАК! Единственный случай, когда поиск невозможен, становится проблемой, когда кто-то задает вопрос, который был четко задан (здесь) ранее. Поиск в Google не требуется. Поскольку ссылка, которую вы предоставили, явно не дает полного ответа на вопрос, есть хороший шанс, что ОП уже видел это :)
Tim Post

0

Вы, вероятно, можете использовать ConsoleKit Интерфейс dbus.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.