Applescript zum Beenden offener Anwendungen und Abmelden des Benutzers nach 30 Minuten. der Inaktivität


2

Ich suche nach einer Möglichkeit, einen Benutzer nach 30 Minuten Inaktivität automatisch abzumelden und alle offenen Anwendungen zu schließen. Ab sofort gibt es wirklich nur einen Benutzer, mit dem man sich befassen muss. Ich bevorzuge eine einfache (kostenlose) Möglichkeit, aber ich bin offen für die Verwendung eines Programms, mit dem das Gleiche erreicht werden kann. Bisher habe ich mir folgendes Applescript ausgedacht, um alle Programme zu schließen und mich abzumelden:

tell application "System Events"
    key down {command, shift, option}
    keystroke "Q"
    key up {command, shift, option}
end tell

Ich bin mir nicht sicher, wie ich vorgehen soll, um die Zeit der Inaktivität herauszufinden. Ich habe nicht viel Programmiererfahrung, daher würde ich mich über jede detaillierte Schritt-für-Schritt-Anleitung freuen.

Antworten:


4

Haben Sie versucht, mit den integrierten Tools eine Abmeldung zu erzwingen, sobald eine bestimmte Leerlaufzeit erreicht ist?

Melden Sie sich nach X Minuten Inaktivität ab

Dies ist eine erweiterte Option (siehe Schaltfläche unten) im Bereich "Sicherheit und Datenschutz" von Lion.

Wenn Sie möchten, dass ein Benutzer eine andere Zeitüberschreitung hat, können Sie mit Automator oder AppleScript problemlos Skripte erstellen:

tell application "System Events"
    log out
end tell

Der Trick besteht darin, Ihre benutzerdefinierte App für 30 Minuten inaktiv zu halten. Aus diesem Grund ist die Systemsteuerung die beste Option für diese Anforderung.


Wenn Sie wissen möchten, wie AppleScript funktioniert, um eine Liste aller geöffneten Apps zu erstellen, und versuchen Sie, diese zum Speichern oder Beenden aufzufordern. Es ist nur manchmal schön, das bereits codierte Tool zu verwenden, wenn Sie nur möchten, dass es funktioniert.
bmike

1
Ach komm schon, das ist viel zu einfach ...
nohillside

AppleScript kann beliebige Sprachen aufrufen, also könnte man es vermutlich in Lua oder einer anderen intuitiven Sprache tun, vorausgesetzt, die Liste der ausgeführten Apps ist verfügbar und die Prozesssteuerung ermöglicht das Senden von Kill-Signalen. ;-)
bmike

Die Leute sollten definitiv mehr kill -9 $(ps aux | grep "^$USER" | cut -b 10-21)zum Frühstück lesen
nohillside

Meldet dies jedoch einen Benutzer oder ALLE Benutzer ab?
Gorb,

0

Die andere Option ist, wenn der Computer mit einem OSX-Server vernetzt ist, Workgropup Manager zu verwenden und in den Gruppeneinstellungen zu definieren. Dann können Sie eine Auszeit festlegen. Sie können das Zeitlimit für den Benutzer oder die Arbeitsgruppe festlegen, dem bzw. der der Computer hinzugefügt wurde.Bildbeschreibung hier eingeben


Dies ist ein Tool zum Verwalten der gleichen Einstellungen wie in meiner Antwort - also ein netter Trick für ein Labor voller Computer. Auf dem neueren Betriebssystem erstellen Sie jetzt ein Konfigurationsprofil, um die gleiche Aufgabe wie die jetzt veralteten Profile Workgroup Manager und MCX auszuführen.
bmike
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.