Terminal Befehl ->Energie sparen Einstellungen

oe7

oe7

Aktives Mitglied
Thread Starter
Dabei seit
18.03.2004
Beiträge
322
Reaktionspunkte
17
Ich suche einen Terminal Befehl um in Systemeinstellungen/Energie sparen/ den Ruhezustand des Monitors auf "nie" und dann wieder auf den alten Wert zurücksetzen kann.

Vielen Dank für einen Tipp

gruß oe7

P.S. Hoffe, ich bin im richtigen Forum gelandet, sonst bitte verschieben, danke
 

Vielen Dank, aber "must be run as root..." ? Wie führe ich den Befehl als "root" aus?

gruß oe7

edit: ok, mit sudo klappt es, gibt es noch eine andere Möglichkeit (zb. das in ein script zu packen, sodass man nicht jedesmal das Passwort eingeben muss)?
 
Zuletzt bearbeitet:
schau dir die datei /etc/sudoers an da kannst du festlegen welche sachen auch ohne eingabe des passworts ausgeführt werden dürfen...
 
schau dir die datei /etc/sudoers an da kannst du festlegen welche sachen auch ohne eingabe des passworts ausgeführt werden dürfen...

Danke abermals, habe mir erst die Datei und dann man sudoers angeschaut, da bin ich zu doof dafür, das kapiere ich nicht und traue mich nicht dadrin herumzupfuschen...
Man kann also theoretisch festlegen nur den pmset Befehl ohne Passwort auszuführen?
 
du kannst natürlich dein passwort in das script packen und dann mit
echo "passwort"|sudo -S
machen...
 
du kannst natürlich dein passwort in das script packen und dann mit
echo "passwort"|sudo -S
machen...

ich kann mein passwort auch auf nem zettel unter meine tastatur pappen :rolleyes: ... /etc/sudoers ist genau dafür da ohne das ich mein root passwort im klartext in irgend eine datei schreiben muss
 
naja, man kann es ja auch über launchd als root ausführen lassen, dann braucht man kein sudo...

da editieren des sudoers file birgt immer die gefahr das sudo komplett zu schrotten, vor allem für laien ;)
 
ich kann mein passwort auch auf nem zettel unter meine tastatur pappen :rolleyes: ... /etc/sudoers ist genau dafür da ohne das ich mein root passwort im klartext in irgend eine datei schreiben muss

Also, habe jetzt ein script mit dem Namen displaysleep geschrieben:

#!/bin/sh
/usr/bin/pmset -a displaysleep 10

und die Rechte gesetzt mit chmod +x displaysleep

wenn ich jetzt sudo ./displaysleep eingebe funktioniert es...

wenn ich sudo visodu eingebe, sieht der untere Teil der Datei so aus:


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
~
~
~
~
~
~
~
~
~
"/private/etc/sudoers.tmp" 30L, 629C

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ich füge jetzt eine Zeile hinzu?:

# %users ALL = NOPASSWD: /usr/bin/displaysleep

oder muss ich statt /usr/bin/ den Pfad zu meinem script angeben, also wenn ich das script im Home-Verzeichnis liegen habe:

# %users ALL = NOPASSWD: /Users/Name/displaysleep ?

was mir allerdings nicht klar ist: Für den Befehl pmset braucht es doch jetzt immernoch das Passwort oder?
 
naja, man kann es ja auch über launchd als root ausführen lassen, dann braucht man kein sudo...

da editieren des sudoers file birgt immer die gefahr das sudo komplett zu schrotten, vor allem für laien ;)

ja, genau davor habe ich Angst, wie geht das über launchd?
 
Also, habe jetzt ein script mit dem Namen displaysleep geschrieben:

#!/bin/sh
/usr/bin/pmset -a displaysleep 10



#!/bin/sh
sudo /usr/bin/pmset -a displaysleep 10




# %users ALL = NOPASSWD: /usr/bin/displaysleep

oder muss ich statt /usr/bin/ den Pfad zu meinem script angeben, also wenn ich das script im Home-Verzeichnis liegen habe:

# %users ALL = NOPASSWD: /Users/Name/displaysleep ?

was mir allerdings nicht klar ist: Für den Befehl pmset braucht es doch jetzt immernoch das Passwort oder?

also die # zeigen das das ein kommentar ist alles was hinter einem # wird nicht interpretiert

%users ALL=(ALL) NOPASSWD:/Users/Name/displaysleep

besser ist aber wenn du
mv /Users/Name/displaysleep /usr/bin/
sagst und in der sudoers dann die zeile

%users ALL=(ALL) NOPASSWD:/usr/bin/displaysleep

ändere noch den besitzer und die gruppe des scripts

chown root:users displaysleep

mfg
 
besser ist aber wenn du
mv /Users/Name/displaysleep /usr/bin/
sagst und in der sudoers dann die zeile

%users ALL=(ALL) NOPASSWD:/usr/bin/displaysleep
ok, ich verschiebe also die Datei/das Script in den Ordner /usr/bin, richtig?
Wohin in der sudoers Datei schreibe ich denn die Zeile

%users ALL=(ALL) NOPASSWD:/usr/bin/displaysleep

%%%%%%%%%%%%%%%%%%%%%%%%%%%

# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

# Defaults specification

# Runas alias specification

# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
%users ALL=(ALL) NOPASSWD:/usr/bin/displaysleep(hier oder?)
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL

# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
~
~
~
~
~
~
~
~
~
"/private/etc/sudoers.tmp" 30L, 629C

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ändere noch den besitzer und die gruppe des scripts

chown root:users displaysleep
gebe ich das so ins Terminal ein, ohne Pfad? Kriege jetzt die Fehlermeldung: users: Invalid argument, wenn ich mir mit Apfel-i die Rechte anschaue gibt es ja die Gruppe users auch garnicht, oder denke ich da verkehrt?

Was war eigenlich mit launchd?

Danke für die Geduld
 
Zuletzt bearbeitet:
bin jetzt ja kurz davor (siehe letzten post), kann mir bitte noch jemand helfen bei den letzten Schritten?

Danke vielmal!

oe7
 
chown root:admin /usr/bin/displaysleep

du hast recht die gruppe users gibt es nicht

mit groups kannst du dir die gruppen anzeigen lassen in denen du bist

%admin ALL=(ALL) NOPASSWD:/usr/bin/displaysleep

oder

du nimmst deinen username ohne das "%"

username ALL=(ALL) NOPASSWD:/usr/bin/displaysleep
 
chown root:admin /usr/bin/displaysleep

du hast recht die gruppe users gibt es nicht

mit groups kannst du dir die gruppen anzeigen lassen in denen du bist

%admin ALL=(ALL) NOPASSWD:/usr/bin/displaysleep

oder

du nimmst deinen username ohne das "%"

username ALL=(ALL) NOPASSWD:/usr/bin/displaysleep

So, das habe ich jetzt alles gemacht:

in /usr/bin/
befindet sich die Datei "Displaysleep", diese beinhaltet:

#!/bin/sh
sudo /usr/bin/pmset -a displaysleep 0

mit sudo chown root:admin /usr/bin/displaysleep

habe ich die Rechte gesetzt,

im sudoers file befindet sich die Zeile:

%admin ALL=(ALL) NOPASSWD:/usr/bin/displaysleep

aber ich werde trotzdem nach dem sudo password gefragt!
jetzt bin ich schon ein wenig gefrustet...
 
schau nach ob du in der gruppe admin bist...
oder änder %admin in deinen username
 
schau nach ob du in der gruppe admin bist...
oder änder %admin in deinen username

wenn ich ls -l /usr/bin/ eigebe:

-rwxr-xr-x 1 root admin 51 Oct 3 12:43 displaysleep

wenn ich groups eingebe:

"mein_name" admin

habe jetzt (ohne%) im sudoers file geändert auf:

"mein_name" ALL=(ALL) NOPASSWD:/usr/bin/displaysleep

leider kein Unterschied
 
schreib mal in das script

echo "Hallo World"
an erster stelle

um zuschauen ob er scheitert das script auszuführen oder nur an dem befehl
 
schreib mal in das script

echo "Hallo World"
an erster stelle

um zuschauen ob er scheitert das script auszuführen oder nur an dem befehl

das script führt er tadellos aus, aber wenn ich eingebe:

./../../usr/bin/displaysleep

fragt er password:

wenn ich das dann eingebe, führt er das script aus (ich habe ein zweites script geschrieben, das die Einstellung wieder rückgängig macht, kann also hin und her scripten mit der Einstellung).
habe mittlerweile auf einer Linux-Seite, wo auch mit dem soduers file gearbeitet wird gelesen, dass zwischen

%admin ALL=(ALL) NOPASSWD: /usr/bin/displaysleep

jeweils ein Tabulaturabstand statt einem Leerzeichen sein muss, die benutzen auch ALL ohne das =(ALL), habe damit herumprobiert auch Username statt %admin, bin ein bisschen mit meinem Latein am Ende, mein sudoers-file sieht so aus:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

# Defaults specification

# Runas alias specification

# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD: /usr/bin/displaysleep
%admin ALL=(ALL) NOPASSWD: /usr/bin/displaysleep_back
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL

# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now

~
~
~
~
~
~
~
"/private/etc/sudoers.tmp" 32L, 732C

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Hilfe jeder Art ist wilkommen! Danke!
 
Zurück
Oben Unten