Erstellen Sie ein Abmeldeskript / eine Abmeldeaufgabe für Linux

15

Wie würde man, ähnlich wie bei meiner Frage für Windows und Mac OS X , ein Abmeldeskript für Linux erstellen?

Jede Distribution ist in Ordnung, da ich mir sicher bin, dass sie auf andere erweiterbar ist. Mit RHEL / CentOS / Fedora und Ubuntu bin ich am besten vertraut.

Außerdem
Wenn diese beiden existiert für die graphische Oberfläche (dh bei einer lcoal Workstation) und für eine Remote - Login (wie über ssh), das wäre ideal sein - aber ich würde für den einen oder anderen , wenn beide begleichen sind nicht möglich.

Labyrinth
quelle

Antworten:

13

Bei Remote-SSH-Sitzungen ist es Aufgabe Ihrer Shell, alle On-Logout-Skripte auszuführen. Die Bash-Shell wird normalerweise ausgeführt ~/.bash_logout.

Für X-Sitzungen steuert der Anmeldungsmanager das On-Logout-Scripting. Die Speicherorte der Dateien hängen davon ab, welcher Login-Manager verwendet wird. Der Xserver wird nicht ausgeführt, wenn das On-Logout-Skript ausgeführt wird. Nehmen Sie daher keine Programme in das Skript auf, die versuchen, auf die Anzeige zuzugreifen.

  • Verwenden Sie /etc/gdm/PostSession/Defaultfür Gnome ein systemweites Standard-Abmeldeskript (wird ausgeführt, unabhängig davon, wer sich abmeldet). Im Gegensatz zu Bashs Abmeldeskript gibt es meines Erachtens keine benutzerspezifische Version eines GDM-PostSession-Skripts.

  • XDM verwendet ein Reset-Skript, auf dem installiert ist /etc/X11/xdm/Xreset.

  • Für KDE (mit KDM) möchten Sie das ResetSkript . KDE3 verwendet /etc/kde3/kdm/Xreset. Der Speicherort kann in der KDM-Konfigurationsdatei /etc/kde3/kdm/kdmrcmit dem ResetSchlüssel angegeben werden.

  • WDM verwendet anscheinend ein Paar Reset-Skripte: ein Skript pro Anzeige /etc/X11/wdm/Xreset_0(zur Anzeige :0) und ein globales Skript unter /etc/X11/wdm/Xreset. Die WDM-Konfigurationsdatei befindet sich in /etc/X11/wdm/wdm-config.

Die Speicherorte in dieser Antwort stammen aus Debian-Paketen. Ubuntu-Pakete verwenden im Allgemeinen dieselben Dateien, andere Distributionen verwenden jedoch möglicherweise alternative Speicherorte.

Quacksalber
quelle
Gibt es eine ähnliche Funktion für KDE oder Fluxbox oder icewm?
Warren
1
GDM ist der Gnome-Ersatz für XDM, den X Login Manager. KDE ist KDM, glaube ich. Es gibt andere, aber das sind die großen Drei. Ich denke, WDM wird oft für die Verwendung mit Fluxbox empfohlen. Es gibt auch SDM (SSH-basiert!), das wahrscheinlich Skriptunterstützung bietet. weiß nicht mehr Details; Wenn ich später eine Chance bekomme, versuche ich es herauszufinden.
Quack Quijote
6

Wenn die Distribution PAM zur Authentifizierung von Benutzern verwendet, können Sie diese installieren pam_script, um die Funktionalität zu gewährleisten onsessionopen/onsessionclose.

Ich benutze es in Debian-basierten Distributionen, um Dateien zu überprüfen, die nur von Benutzern geändert wurden, scpund um die Berechtigungen der Dateien anzupassen.

Sie können von Freecode herunterladenpam_script .

Fjor
quelle
5

Die C-Shell, auch bekannt als csh, hat die .logout-Funktionalität und Bash (die aktuellere Standardeinstellung) hat .bash_logout, aber ich erinnere mich an keine anderen Shells (ksh, sh usw.) mit einem ähnlichen Konzept.

Shannon Nelson
quelle