Запустить скрипт на выход/ выключение Убунту

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

4
задан Arda Xi
05.01.2023 19:59 Количество просмотров материала 2991
Распечатать страницу

5 ответов

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

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

$HOME/.bash_logout

в /etc/gdm/PostSession / Default, поэтому скрипт выхода из системы выполняется правильно.

видя, как перед выключением пользователь выходит из системы в любом случае, это должно охватывать обе базы.

2
отвечен Arda Xi 2023-01-07 03:47

если вы используете 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
отвечен dericybtes 2023-01-07 06:04

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

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

1
отвечен mpho raf 2023-01-07 08:21

Мда..ну, если вы 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.

-

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

0
отвечен Jay Taylor 2023-01-07 10:38

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

0
отвечен 2023-01-07 12:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх