Per shell-command Ruhemodus

lol, wir werden alle noch richtige Hacker :p
 
._ut schrieb:
@ maceis

Ist ja auch kein Wunder, dafür müsste 'root' grafisch angemeldet sein.
Das Argument versteh ich jetzt nicht ganz.
Denn ich kann ja auch von der Kommadozeile aus z. B. grafische Programme starten (auch wenn ich das Ergebnis,z. B. ein geöffnetes Fenster oder so über ssh natürlich nicht sehen kann) und beenden kann.
Der Finder läuft ja auch, von daher versteh´ ich auch die Fehlermeldung nicht.

Mit "System Event" gehts bei mir auch.
 
Noch eine Ergänzumg:

Ich habe beobachtet, dass
osascript -e 'tell application "Finder" to sleep'
nur dann via ssh geht, wenn derselbe ssh-Benutzer auch lokal (grafisch ?) angemeldet ist.
Ist ein anderer Benutzer vis ssh angemeldet, erscheint folgende Fehlermeldung:
Code:
ben1$ osascript -e 'tell application "Finder" to sleep'
kCGErrorRangeCheck : Window Server communications from outside of session allowed for root and console user only
INIT_Processeses(), could not establish the default connection to the WindowServer.Abort trap
Wenn aber root via ssh verbunden ist, gehts auch nicht (s. o.)

Die Variante mit entfernten Apple Events klappt bei mir nicht, obwohl das Authorisierungsfenster aufgeht.
Code:
osascript -e 'tell Application "System Events" of Machine "eppc:192.168.100.13" sleep'
64:65: syntax error: Remote access isn't allowed. (-905)
 
habt ihr eigentlich nicht einfach mal versucht den s l e e p w a t c h e r herunterzuladen wie ich empfohlen habe? das ding funktioniert nämlich einwandfrei, ich weiss nicht was ihr euch noch mit pmset herumkämpft ?!?!
 
maceis schrieb:
Das Argument versteh ich jetzt nicht ganz.
Denn ich kann ja auch von der Kommadozeile aus z. B. grafische Programme starten
Nicht wirklich. Grafische Programme sind Kind-Prozesse vom Window Manager, welcher nur läuft, wenn er von Loginwindow gestartet wurde. Daher kann ein grafisches Programm nur von einem Benutzer gestartet werden, der grafisch angemeldet ist d.h. Loginwindow diesen Benutzer angemeldet und einen Window Manager für diesen Benutzer gestartet hat.
 
ctopfel2 schrieb:
habt ihr eigentlich nicht einfach mal versucht den s l e e p w a t c h e r herunterzuladen wie ich empfohlen habe? das ding funktioniert nämlich einwandfrei, ich weiss nicht was ihr euch noch mit pmset herumkämpft ?!?!

ganz einfach, das programm entspricht nicht den verlangten Anforderungen

was ist hier falsch?
sleepwatcher is a command line tool that can run in the background and execute a Unix command or shell script when the Mac goes to sleep mode or wakes up.

wir wollen nichts beim schlafenlegen ausführen, wir wollen den rechner über das Inet schlafen legen
 
@ ._ut

Vielen Dank für die Info.
 
Da ich ja mit den Thema angefangen habe hier meine Erfahrung,

- Sleep Modus ueber "osascript -e 'tell application "Finder" to sleep'"
funktioniert einwandfrei in der ssh-shell als normaler user.

und mehr wollte ich nicht... :)
 
OT: Prozesshierarchie

._ut schrieb:
Nicht wirklich. Grafische Programme sind Kind-Prozesse vom Window Manager, welcher nur läuft, wenn er von Loginwindow gestartet wurde. Daher kann ein grafisches Programm nur von einem Benutzer gestartet werden, der grafisch angemeldet ist d.h. Loginwindow diesen Benutzer angemeldet und einen Window Manager für diesen Benutzer gestartet hat.

Soweit ich weiss kann man sich die Prozesshierarchie auch in Aktivitäts-Anzeige auch anzeigen lassen.
 
._ut schrieb:
Nicht wirklich. Grafische Programme sind Kind-Prozesse vom Window Manager, welcher nur läuft, wenn er von Loginwindow gestartet wurde. Daher kann ein grafisches Programm nur von einem Benutzer gestartet werden, der grafisch angemeldet ist d.h. Loginwindow diesen Benutzer angemeldet und einen Window Manager für diesen Benutzer gestartet hat.

Dann dürfte doch eigentlich folgendes (wenn ich es richtig verstanden habe) gar nicht funktionieren (was es aber tut, habe es mehrfach probiert):

Ich beende den Loginbildschirm mit dem Login >console, bekomme dann einen schwarzen Bildschrim mit Kommandozeilenprompt. Hier logge ich mich als root ein, und kann dann, obwohl ich den Loginscreen ja gebypassed, bzw. beendet habe (der Loginprozess dürfte ja nicht mehr aktiv sein, habe vergessen nachzusehen) grafische Anwendungen starten. Sowohl Aqua als auch X und dann X-Anwendungen.

Ich habe mich schon öfter gefragt wie das sein kann, der Effekt ist nämlich wirklich witzig.

EDIT:
Habe es gerade eben nochmal ausprobiert, und ps zeigt nichts an was auf den Prozess des Loginwindows hindeuten würde.

Grüße,
Flo
 
Zuletzt bearbeitet:
@lengsel
das was du da beschreibst, nennt sich "On-demand launch of the Window Server".
Das heisst, der Window Server wird dann extra für die grafische Anwendung gestartet.
Vor Du das grafische Programm startest läuft der Window Server noch nicht, daher siehst Du nichts mit ps.
Wenn Du aber Terminal.app startest und dann schaust, kannst Du es sehen ;)
 
maceis schrieb:
@lengsel
das was du da beschreibst, nennt sich "On-demand launch of the Window Server".
Das heisst, der Window Server wird dann extra für die grafische Anwendung gestartet.
Vor Du das grafische Programm startest läuft der Window Server noch nicht, daher siehst Du nichts mit ps.
Wenn Du aber Terminal.app startest und dann schaust, kannst Du es sehen ;)

O.k. das klingt plausibel, aber wenn ut vorhin richtig verstanden habe, dürfte das ja eigentlich nicht sein, oder?

._ut schrieb:
Nicht wirklich. Grafische Programme sind Kind-Prozesse vom Window Manager, welcher nur läuft, wenn er von Loginwindow gestartet wurde.

Dass nach einem (grafischen) Programmstart der Windowmanager unter ps auftaucht ist logisch, aber von dem Loginwindow (das ja auch ein Prozess ist) ist nichts zu sehen.
Verwirrt...

Grüße,
Flo
 
Zurück
Oben Unten