Utwórz skrypt / zadanie wylogowania dla systemu Linux

15

W podobny sposób jak moje pytanie dotyczące systemu Windows i Mac OS X , jak przejść do tworzenia skryptu wylogowania dla systemu Linux?

Każda dystrybucja jest w porządku, ponieważ jestem pewien, że można ją rozszerzyć na inne. Najbardziej jednak znam RHEL / CentOS / Fedora i Ubuntu.

dodatek
Jeśli istnieje to zarówno dla graficznego logowania (tj. na stacji roboczej Lcoal), jak i dla zdalnego logowania (takiego jak via ssh), byłoby to idealne - ale wybrałbym jedno lub drugie, jeśli oba nie są możliwe.

królikarnia
źródło

Odpowiedzi:

13

W przypadku zdalnych sesji SSH zadaniem powłoki jest obsługa skryptów podczas wylogowywania. Powłoka Bash zwykle działa ~/.bash_logout.

W przypadku sesji X menedżer logowania kontroluje skrypty podczas wylogowywania. Lokalizacje plików zależą od używanego menedżera logowania. Xserver nie działa po uruchomieniu skryptu wylogowania, więc nie dołączaj do skryptu żadnych programów, które próbują uzyskać dostęp do ekranu.

  • W przypadku Gnome użyj /etc/gdm/PostSession/Defaultdomyślnego skryptu wylogowania dla całego systemu (uruchamia się bez względu na to, kto się wylogowuje). W przeciwieństwie do skryptu wylogowania Basha, nie sądzę, aby istniała wersja skryptu GDM PostSession przeznaczona dla użytkownika.

  • XDM używa skryptu resetowania zainstalowanego na /etc/X11/xdm/Xreset.

  • KDE (za pomocą KDM) , chcesz ten Resetskrypt . Używa KDE3 /etc/kde3/kdm/Xreset. Lokalizację można określić /etc/kde3/kdm/kdmrcza pomocą Resetklucza w pliku konfiguracyjnym KDM .

  • WDM najwyraźniej używa pary skryptów resetowania: skryptu na wyświetlacz o /etc/X11/wdm/Xreset_0(do wyświetlania :0) i skryptu globalnego o /etc/X11/wdm/Xreset. Plik konfiguracyjny WDM znajduje się w /etc/X11/wdm/wdm-config.

Lokalizacje plików w tej odpowiedzi pochodzą z pakietów Debiana. Pakiety Ubuntu zazwyczaj używają tych samych plików, ale inne dystrybucje mogą używać alternatywnych lokalizacji.

quack quixote
źródło
czy istnieje podobna funkcja dla KDE, fluxboksa lub icewm?
warren
1
GDM jest zamiennikiem Gnome dla XDM, menedżera logowania X. Wierzę, że KDE to KDM. są inne, ale są to wielkie trzy. myślę, że WDM jest często zalecany do użytku z fluxboxem? jest też SDM (oparty na SSH!), który prawdopodobnie zapewnia obsługę skryptów. nie znam więcej szczegółów; jeśli później dostanę szansę, spróbuję się dowiedzieć.
quack quixote
6

Jeśli dystrybucja używa PAM do uwierzytelnienia użytkowników, możesz zainstalować, pam_scriptaby zapewnić funkcjonalność onsessionopen/onsessionclose.

Używam go w dystrybucjach opartych na Debianie, aby sprawdzać pliki modyfikowane tylko przez użytkowników scpi dostosowywać uprawnienia do plików.

Możesz pobrać pam_scriptz darmowego kodu .

Fjor
źródło
5

Powłoka C, znana również jako csh, ma funkcjonalność .logout, a Bash (bardziej aktualne ustawienie domyślne) ma .bash_logout, ale nie pamiętam żadnych innych powłok (ksh, sh itp.) O podobnej koncepcji.

Shannon Nelson
źródło