ubuntuusers.de

Skript: Textdatei überschreiben

Status: Gelöst | Ubuntu-Version: Ubuntu 10.10 (Maverick Meerkat)
Antworten |

.dawn

Anmeldungsdatum:
8. März 2010

Beiträge: Zähle...

Hallo! Ich bräuchte eure Hilfe beim Schreiben eines kleinen Skriptes, welches eine Textdatei editiert, sie speichert und wieder schließt.

Wenn das genaue Thema wichtig sein sollte, hier kann man alles haarklein nachlesen^^: http://www.voria.org/forum/viewtopic.php?f=3&t=625&hilit=n220&sid=76c837e54ef4332207fa848cce76f2ce&start=60

Jedenfalls geht es um Probleme bei Samsung-Netbooks mit der Gnome-Energieverwaltung. Ich kann meine Helligkeit nur per Editieren einer Textdatei einstellen, was ich automatisieren möchte.

Was das Skript können muss: - überschreiben der Datei /sys/class/backlight/samsung/brightness (mit sudo) - mit einer neuen textdatei mit inhalt "7"

mehr nicht ☺ ich hab leider keine ahnung wie das geht, aber soweit ich weiß sollte das an sich sehr einfach sein. für mich leider schon zu schwer^^

wäre super, wenn mir jmd. dabei helfen kann ☺

danach müsste ich das skript noch einer taste zuweisen, aber das werde ich dann schon irgendwie hinbekommen...

grüße .dawn

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Die Grund-Version eines solchen Befehls ist doch

echo 7  >  /sys/class/backlight/samsung/brightness

Wenn man das jetzt mit Root-Rechten haben will, muss man einen kleinen Trick anwenden, damit sudo auch für die Umleitung gilt:

sudo  sh -c "echo 7  >  /sys/class/backlight/samsung/brightness"

im Prinzip brauchst du diesen Befehl nur direkt in die [System] - "Tastaturkombinationen" eintragen ...
... wäre da nicht das Passwort für sudo.
Dafür musst Du noch einmal visudo bemühen: http://wiki.ubuntuusers.de/sudo/Konfiguration?highlight=Pw%20Tbaustell%20Zvisudo#Einstellungen und dort am besten den genauen Befehl eintragen. (sonst schaffst Du Dir eine Sicherheitslücke im System !)

track

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17625

Wohnort: Berlin

1
echo 7 | sudo tee /sys/class/backlight/samsung/brightness 

.dawn

(Themenstarter)

Anmeldungsdatum:
8. März 2010

Beiträge: 9

user unknown schrieb:

1
echo 7 | sudo tee /sys/class/backlight/samsung/brightness 

ok, vielen dank euch beiden! ☺ das kommando hier funktioniert wunderbar in der konsole. ich kriege es jetzt allerdings doch nicht hin, dass auf eine tastenkombination zu legen. -.- wie lege ich zB die konsoleneingabe "echo 7 | sudo tee /sys/class/backlight/samsung/brightness" auf strg+alt+, oder strg+alt+. oder ähnliches? (ich hab gerade schon google und das hiesige wiki gewälzt... ich bin zu doof^^)

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)


Oben hatte ich doch schon gesagt ... Klick Dich durch: oben auf [System] - Einstellungen - "Tastenkombinationen"
dann dort: [hinzufügen] ... im Fenster "Individuelle Tastenkombination" trägst Du einen passenden Namen und den Befehl ein, und klickst auf [anwenden].
Danach kannst Du dem die gewünschte Tastenkombi zuweisen.

Aber wie ich auch schon sagte: Passwort eingeben ist hier nicht. (höchstens mit gksu statt sudo)
Also musst Du das vorher mit sudo visudo klar machen. → Siehe im verlinkten Wiki.

track

.dawn

(Themenstarter)

Anmeldungsdatum:
8. März 2010

Beiträge: 9

edit:

%users ALL=NOPASSWD: /sys/class/backlight/samsung/brightness

oder

BENUTZERNAME ALL=NOPASSWD: /sys/class/backlight/samsung/brightness

stimmt von der syntax. ändert aber nichts an den rechten, ich kann es immer noch nicht ohne sudo ausführen. müsste aber laut dem wiki stimmen?

damit kommt:

sh -c "echo 7  >  /sys/class/backlight/samsung/brightness"
sh: cannot create /sys/class/backlight/samsung/brightness: Permission denied

ist "users" die richtige gruppe?

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Du schaltest das falsche frei. Es geht ja nicht um die Rechte einer Datei, sondern Du willst den Befehl freischalten.
In Deinem Fall würdest Du unten anfügen:

ALL     ALL = NOPASSWD:  tee /sys/class/backlight/samsung/brightness

Diesen Befehl (nur genau diesen einen !) würde ich ruhig für alle frei schalten, denn damit kann ja niemand Unsinn anrichten.

Und denk bitte daran: solche Änderungen immer nur mit sudo visudo zu machen.

Du brauchst nach wie vor das sudo davor (sonst bekommst Du nicht die nötigen Rechte), aber das Passwort ist dann nicht mehr nötig.

track

.dawn

(Themenstarter)

Anmeldungsdatum:
8. März 2010

Beiträge: 9

sorry, aber das akzeptiert visudo einfach nicht. ich bekomm wieder einen syntaxfehler und kann die datei so nicht speichern.

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Ja, mein Fehler. Ich hatte vergessen, dass man auch bei dem Befehl hier den vollständigen Pfad angeben muss:

ALL    ALL=NOPASSWD:   /usr/bin/tee /sys/class/backlight/samsung/brightness

Er ist hier (glücklicherweise) sehr genau, nur ich hatte das Detail vergessen.

Sorry.
Und noch eine gute Nacht,

track

.dawn

(Themenstarter)

Anmeldungsdatum:
8. März 2010

Beiträge: 9

ok, danke vielmals, das nimmt visudo. ☺ ich kann auch jetzt den befehl

echo 7 | sudo tee /sys/class/backlight/samsung/brightness

ohne passwort in der konsole benutzen. ABER ich kann den befehl immer noch nicht einem tastenkürzel zuweisen. bzw da tut sich einfach ncihts, wenn ich das tastenkürzel dann benutze...

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Kann sein, dass das Kürzel auch wieder einen kompletten, kompakten Befehl sehen will:

sh -c "echo 7 | sudo tee /sys/class/backlight/samsung/brightness"

Funktioniert das ?

track

.dawn

(Themenstarter)

Anmeldungsdatum:
8. März 2010

Beiträge: 9

ja, das funktioniert! ☺ der absolute wahnsinn...^^ viele dank für deine mühe und geduld! ☺

Antworten |