Ich möchte meinen Mac OS X über die Befehlszeile abmelden. Meine OS X-Version ist 10.9. Ich habe einen Befehl ausprobiert pkill -KILL -u uid
, aber dieser Befehl hat nicht funktioniert. Gibt es einen Befehl, mit dem ein Benutzer nur über die Befehlszeile vom System abgemeldet werden kann, nicht über AppleScript ?
mavericks
script
user-account
prateeak ojha
quelle
quelle
Antworten:
sudo launchctl bootout gui/$(id -u <username>)
oder
sudo launchctl bootout user/$(id -u <username>)
Ersetzen Sie den Benutzernamen durch den Benutzernamen des Zielbenutzers oder ersetzen Sie die gesamte Subshell durch die Benutzer-ID des Benutzers. Dadurch wird launchctl angewiesen, die Anmeldesitzung des Benutzers abzubrechen (gui bezieht sich speziell auf die temporäre Anmeldesitzung des Benutzers, der Benutzer gibt die Hintergrundprozesse des Benutzers an).
Sie können sich ausloggen, ohne dies
sudo
zu testen.Beachten Sie, dass dies NUR unter macOS 10.11.x oder neuer funktioniert (siehe
launchctl help
für mehr)quelle
Um sich nur vom Terminal (oder einer Remote-SSH-Sitzung) abzumelden, beenden Sie einfach den Anmeldefensterprozess:
Sie können sich vorstellen, den Benutzer anzugeben, wenn mehrere Benutzer ein Anmeldefenster verwenden. Dies ist jedoch ein einfacher Vorgang, bei dem die grafische Sitzung eines Benutzers nicht sofort beendet wird.
quelle
Das hat bei mir in der Vergangenheit funktioniert:
Abmelden (mit Bestätigung)
Direkt ausloggen (keine Bestätigung)
oder
Auf diese Weise wird jede laufende Anwendung bemerkt und kann auf sichere Weise beendet werden.
quelle
Wenn Sie mehrere Benutzer haben ...
Finden Sie die Prozess-ID mit:
Beenden Sie dann diesen Prozess und Sie haben diese Sitzung abgemeldet. Aber es gibt noch viele Prozesse.
Erkundigen Sie sich bei,
pstree
damit Sie wissen, welcher Prozess beendet werden soll.quelle
Das macht den Trick für mich.
Um einige Root-Rechte und die Eingabeaufforderung # abzurufen, müssen Sie die Prozesse beenden.
Und wenn nicht alles weg ist. Nuke em! Obligatorische Warnung - Das Beenden von Dingen als root hat kein Rückgängigmachen und kein "Sind Sie sicher, dass Sie diesen Prozess unterbrechen möchten, ohne Ihre Dateien zu speichern, einschließlich systemkritischer Datenbanken, die den Computer in seltenen Fällen nicht mehr booten können." Geben Sie Warnungen ein.
quelle
Ein nützliches Dienstprogramm, das Sie zu Ihrem Terminal hinzufügen können, ist der Befehl "logout" (Abmelden), der wie folgt verwendet werden kann:
Hier das How to:
Bearbeiten Sie Ihr .bash_profile
nano ~/.bash_profile
Diese Zeile hinzufügen:
logout() {sudo launchctl bootout user/$(id -u "$1")}
Speichern Sie die Datei mit
ctrl+x
Starten Sie das Terminal neu
Sie sind bereit zu gehen;)
quelle
Wenn Sie mit ssh an einem Remote-Computer angemeldet sind, können Sie sich abmelden, indem Sie einfach "exit" eingeben:
quelle