15

Аналогично моему вопросу о Windows и Mac OS X, как можно было бы создать сценарий выхода из системы для Linux?

Любой дистрибутив хорош, так как я уверен, что он будет распространяться на другие Хотя я больше всего знаком с RHEL/CentOS/Fedora и Ubuntu.

прибавление
Если бы это существовало как для графического входа (например, на рабочей станции lcoal), так и для удаленного входа (например, через ssh), это было бы идеально - но я бы согласился на один или другой, если оба варианта невозможны.

3 ответа3

13

Для удаленных сессий SSH ваша оболочка должна обрабатывать любые сценарии при выходе из системы. Оболочка Bash обычно запускается ~/.bash_logout .

Для сеансов X менеджер входа в систему управляет сценариями при выходе из системы. Расположение файлов зависит от того, какой менеджер входа используется. Xserver не работает при выполнении сценария при выходе из системы, поэтому не включайте в сценарий программы, которые пытаются получить доступ к дисплею.

  • Для Gnome используйте /etc/gdm/PostSession/Default для общесистемного сценария выхода из системы по умолчанию (запускается независимо от того, кто выходит из системы). В отличие от сценария выхода из системы Bash, я не думаю, что существует пользовательская версия сценария GDM PostSession.

  • XDM использует скрипт Reset, установленный в /etc/X11/xdm/Xreset .

  • Для KDE (с использованием KDM) вам нужен сценарий Reset . KDE3 использует /etc/kde3/kdm/Xreset . Расположение может быть указано в файле конфигурации KDM, /etc/kde3/kdm/kdmrc , с помощью клавиши Reset .

  • WDM, очевидно, использует пару сценариев сброса: сценарий для отображения в /etc/X11/wdm/Xreset_0 (для отображения :0) и глобальный сценарий в /etc/X11/wdm/Xreset . Файл конфигурации WDM находится в /etc/X11/wdm/wdm-config .

Расположение файлов в этом ответе - из пакетов Debian. Пакеты Ubuntu обычно используют одни и те же файлы, но другие дистрибутивы могут использовать альтернативные места.

6

Если дистрибутив использует PAM для аутентификации пользователей, вы можете установить pam_script чтобы обеспечить функциональность onsessionopen/onsessionclose .

Я использую его в дистрибутивах на основе Debian, чтобы проверять файлы, измененные пользователями только через scp и настраивать права доступа к файлам.

Вы можете скачать pam_script из свободного кода.

5

C-shell, он же csh, имеет функциональность .logout, а Bash (более актуальный по умолчанию) имеет .bash_logout, но я не помню никаких других оболочек (ksh, sh и т.д.) С аналогичной концепцией.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .