Ich habe versucht, einige Bereinigungsbefehle auszuführen, wenn sich ein Benutzer abmeldet. Die alte Funktion zum Abmelden von Hooks ist zwar noch funktionsfähig, aber seit einiger Zeit veraltet, sodass sie möglicherweise nicht mehr lange bei uns ist.
Obwohl es launchd
eine bequeme Alternative zu Login-Hooks bietet, gibt es leider keinen so offensichtlichen Ersatz für Logout-Hooks.
Ich habe bereits mit dem Erstellen eines Shell-Skripts experimentiert, das beim Anmelden gestartet wird und einfach in den Ruhezustand wechselt, bis ein Kill-Signal empfangen wird. Dies scheint jedoch nicht zu funktionieren (das Skript empfängt das Signal während des normalen Betriebs nie).
Ansonsten bin ich mir nicht sicher, wie ich einen schnellen Befehl zum Abmelden am besten ausführen kann. Ich weiß, dass es einige Dienstprogramme von Drittanbietern gibt, die dies tun können, aber gibt es noch einen "richtigen" Weg, dies zu tun?
line 8: syntax error near unexpected token ;'
(mit einem Grab vor dem Semikolon)Sie können iHook verwenden, um Login- / Logout-Hooks auszuführen, die nach wie vor für nicht interaktive Login- und Logout-Hooks funktionieren, die in Bash und Python auf Yosemite geschrieben wurden.
http://rsug.itd.umich.edu/software/ihook/
quelle
Wenn andere, die von Suchmaschinen hierher kommen, keinen Logout-Hook verwenden möchten, führen Sie beispielsweise Folgendes aus:
sudo defaults write com.apple.loginwindow LogoutHook '~/.logouthook';echo $'#!/usr/bin/env bash\n\nsay a'>~/.logouthook;chmod +x ~/.logouthook
Wird
~/.logouthook
dann ausgeführt, wenn Sie sich das nächste Mal abmelden.Der Wert des
LogoutHook
Schlüssels muss ein Pfad zu einer ausführbaren Datei und kein Shell-Befehl sein. Derdefaults
Befehl wird geändert/var/root/Library/Preferences/com.apple.loginwindow.plist
.quelle
launchd
, nur schade, dass es keineRunBeforeUnload
oder eine ähnliche Option gibt .Ich kann das Start-Abmeldeelement auch nicht in 10.10.1 zum Laufen bringen, aber der LogoutHook-Schlüssel in der "com.apple.loginwindow.plist" von root funktioniert gut. Gibt es noch andere Beispiele für die launchd-Methode?
Wie auch immer, ich habe ein AppleScript geschrieben, um das Systemvolumen beim Abmelden zu beenden, damit das Startsignal beim nächsten Start nicht zu hören ist. Was ich nicht ausgearbeitet habe, sind die Details zum Verwalten mehrerer Abmeldebefehle basierend auf einem einzelnen LogoutHook-Schlüssel oder ob es möglich ist, mehrere LogoutHook-Schlüssel zu speichern. Daher bin ich immer noch an der Launchd-Methode interessiert, die mit Lingon verwaltet werden kann. oder sogar Lingon 3, das einen viel engeren Umfang als das Original hat (vermutlich im App Store vorhanden).
quelle
sh
), daher muss es sich um eine ausführbare Datei handeln. Dies werde ich in meiner Antwort vermerken.