Ist es möglich, sich über das Terminal in OS X anzumelden?

Was ich erreichen möchte, ist, dass beim Booten des Mac meine Sitzung beginnt, ohne dass ich meinen Benutzer und mein Passwort eingeben muss.

Ich habe einen Daemon erstellt, der beim Booten gestartet wird, und dieser Daemon ruft das Skript auf, das die Befehle enthält, nach denen ich frage (wobei ich standardmäßig meinen Benutzer und mein Passwort annehme).

Ich kann meine Sitzung nicht so konfigurieren, dass sie automatisch in den Systemeinstellungen gestartet wird, denn wenn mein Skript aus irgendeinem Grund fehlschlägt, brauche ich den Anmeldebildschirm, um nach meinen Anmeldeinformationen zu fragen.

Ist dies überhaupt möglich?

Warum machen Sie sich Sorgen über Skriptfehler? Macht das Skript mehr, als Sie nur anzumelden?
Warum nicht die Einstellung „Automatische Anmeldung“ in den Systemeinstellungen verwenden?
@alexkent es ist im dritten Absatz
Ja, tut mir leid.
Schreiben Sie das Skript so, dass Sie die automatische Anmeldung verwenden können, wenn die Abmeldung fehlschlägt
Was passiert jedoch, wenn das Skript fehlschlägt - Sie können sich nicht anmelden - wie können Sie das Problem beheben?

Antworten (1)

Ich habe eine Lösung für das gefunden, was ich wollte, also werde ich sie posten, falls jemand nach etwas Ähnlichem sucht:

Beim Booten starte ich einen Daemon, der das folgende Skript ausführt:

#!/bin/bash
osascript -e 'tell application "System Events" to key code 126'
osascript -e 'tell application "System Events" to keystroke return'
osascript -e 'tell application "System Events" to keystroke "password_here"'
osascript -e 'tell application "System Events" to keystroke return'

Im Anmeldebildschirm wählt das Skript das erste Benutzerkonto mit dem Aufwärtspfeil (Tastencode 126), dann bringt eine Eingabe (Tastenrückgabe) das Textfeld zur Eingabe des Passworts und schließlich eine weitere Eingabe zur Anmeldung.

Wenn während der Ausführung des Skripts ein Fehler auftritt, haben Sie immer noch den Anmeldebildschirm, um den Benutzer zu authentifizieren.