Wie kann ich das Gastkonto nach einer Zeit der Inaktivität automatisch abmelden?

Als Teil eines Kiosksystems habe ich ein Gastkonto auf einem Mac OS X Snow Leopard-Computer eingerichtet. Dieses Konto wird jedes Mal gelöscht, wenn sich jemand vom Computer abmeldet. Viele Leute tun dies jedoch nicht. Gibt es eine Möglichkeit, dieses Gastkonto nach einer gewissen Zeit der Inaktivität automatisch abzumelden?

Ich habe versucht, das Sicherheitseinstellungsfenster zu verwenden, aber das führt nur dazu, dass das Dialogfeld zum Bestätigen der Abmeldung angezeigt wird.

Ich habe den Ordner gehackt /System/Library/User Templates/, damit ich den Bildschirmschoner, den Desktop-Hintergrund usw. einstellen kann. Wenn etwas wie ScriptSaver mein Problem lösen kann, werde ich es gerne verwenden.

Würde es wirklich schaden, nur ein tägliches Herunterfahren und Einschalten am Ende / Anfang des Tages festzulegen?
@bmike Ich möchte, dass es nach einer Zeit der Inaktivität ist, nicht nach Plan. Benutzern kann nicht vertraut werden, dass sie sich abmelden, wenn sie fertig sind ...
In Ordnung - ich werde sehen, ob ich ein launchd-Anmeldeelement erstellen kann, um das automatische Timeout festzulegen. Es scheint sicher möglich zu sein, ich muss nur noch einmal untersuchen, wie die Erstellung des Gästeordners bei jeder Anmeldung erfolgt.
@bmike Ich möchte nur ein einfaches Skript oder ein paar Codezeilen, die die Abmeldung von einem Gastkonto erzwingen können. Timing ist kein Thema. Es gibt scriptsaver, sleepwatcher, et al. dafür. Wenn Sie etwas aufpeppen oder mich in die richtige Richtung weisen könnten, wäre das äußerst hilfreich.

Antworten (3)

Vielleicht könnten Sie in Betracht ziehen, SleepWatcher anstelle von Security.prefPane zu verwenden; Es ist ein Unix-Dienstprogramm, mit dem Sie nach einer bestimmten Zeit der Inaktivität eine Abmeldung (oder irgendetwas anderes über AppleScript) erzwingen können.

Ich könnte auch ScriptSaver verwenden. Das Problem ist, dass ich keinen Befehl habe, um das Gastkonto zum Abmelden zu zwingen. Wenn du eins hast, wäre es hilfreich...
Es ist fast ein Haken 22 - sudo killall loginwindowerzwingt eine Abmeldung, egal was passiert, aber Sie müssen das Terminal sperren, damit intelligente Benutzer nicht versuchen, sudo zu verwenden - ich nehme an, das Hinzufügen killall loginwindowzur sudo-Whitelist ist nicht schlimmer, als den Benutzer anmelden zu lassen aus. Möglicherweise erhalten Sie auch Faronics Deep Freeze, um sicherzustellen, dass bei jedem Neustart alles perfekt eingefroren ist.
@Soumya92: Sie sollten stattdessen AppleScripts ` verwenden, um der Anwendung "loginwindow" zu "event aevtrlgo" zu sagen, damit nur der Gastbenutzer abgemeldet wird, nicht jeder Benutzer.
Ich sehe nicht, wie dies die richtige Lösung für dieses Problem ist. SleepWatcher ist ein Drittanbieter-Tool und zu diesem Zeitpunkt ziemlich alt. Die Webseite verweist auf 10.5. Scheint, als ob eine Skriptshow dem Benutzer (und mir) erlaubt, diesen Bestätigungsdialog zu umgehen und auch den Gastordner im Benutzerverzeichnis zu löschen.
@zeeple (1) Da diese Frage und meine Antwort fast 8 Jahre alt sind, gibt es möglicherweise inzwischen bessere Lösungen. Sie können sie gerne als separate Antwort posten! (2) Das Tool ist möglicherweise alt, aber auf der Webseite steht "Laufen mit Mac OS X 10.5 und höher" und es scheint unter 10.14.2 einwandfrei zu laufen (z. B. ) (3) Ich verstehe ./sleepwatcher -t 20 -i lsden letzten Satz von Ihnen nicht ganz Kommentar; bitte präzisieren!
@Asmus danke für die Antwort! Leider hat Apple nach all den Jahren an seinem Engagement festgehalten, ein Nicht-Enterprise-Betriebssystem zu sein. Es ist ärgerlich, wie wenig Rücksicht sie auf das Schulumfeld nehmen. Entschuldigung für die Tirade ... Mein letzter Satz war lediglich ein Ausdruck der Hoffnung, dass das Haupthindernis (dieser lästige Bestätigungsdialog) mit nativen Befehlen des Betriebssystems überwunden werden könnte. Aber hey, an diesem Punkt bin ich ziemlich daran gewöhnt, von Apple enttäuscht zu werden :) . Danke für die akzeptierte Antwort. Ich werde SleepWatcher ausprobieren!
@zeeple Ich habe auch gerade IdleLogout gefunden (aber nicht ausprobiert), was für Sie hilfreich sein könnte.

Sie können ein kommerzielles Produkt namens Power Manager verwenden, um einen Benutzer nach einer gewissen Zeit der Inaktivität abzumelden .

Power Manager warnt den Benutzer, bevor er mit der Abmeldung beginnt. Beim Abmelden werden alle geöffneten Anwendungen beendet; Anwendungen, die versuchen, die Abmeldung zu blockieren, werden nach einer kurzen Verzögerung zwangsweise beendet.

Power Manager für Mac OS X

Offenlegung: Ich arbeite für das Unternehmen, das Power Manager herstellt.

Ich könnte auch eine App schreiben, um genau das zu tun, anstatt die Fülle von Funktionen, die Power Manager bietet. Zweifellos ist es ein mächtiges Werkzeug, aber ich kann es nicht rechtfertigen, es nur für diesen Zweck zu kaufen. Es ist nur ein Kiosk-Computer. Ich kann kein gutes Befehls- oder Codebeispiel zum Abmelden des Gastkontos finden
Tolle Antwort und Offenlegung. Wie unterscheidet sich das von den eingebauten Steuerelementen? Wird es beim Booten und nicht auf Benutzerebene ausgeführt?
Power Manager hat eine Reihe von Vorteilen. Der Power Manager zeigt eine Warnung an und stellt sicher, dass die Abmeldung auch dort stattfindet, wo eine Anwendung die Abmeldung traditionell blockieren würde. Das Ereignis kann abhängig von laufenden Anwendungen oder dem Ergebnis eines externen Skripts sein. Einzelheiten finden Sie in der Dokumentation: dssw.co.uk/powermanager/guide/v4

Ich habe dies nicht mit einem Gastkonto versucht, aber es gibt keinen Grund, warum es dort nicht funktionieren sollte.

In

Systemeinstellungen > Sicherheit > Allgemein

ist ein Kontrollkästchen mit der Bezeichnung „Abmelden nach XX Minuten Inaktivität“

Stellen Sie hier Ihren gewünschten Minutenbetrag ein und lassen Sie ihn zaubern!

Ich tat. Wie ich bereits erwähnt habe, zeigt mir das nur das Feld Abmelden bestätigen. Der Grund, warum es bei einem Gastkonto nicht funktioniert, liegt darin, dass das Abmelden von einem Gastkonto die Sitzungsdaten löscht, sodass eine Bestätigung erforderlich ist.
Außerdem gilt diese Einstellung für ALLE Benutzer, nicht nur für das Gastkonto.