Stressfrei ablegen! Sleepmode-Script
Kurz vorm Einpennen noch wilde Passwörter für den shutdown -h +60 einhacken, Lautstärken einstellen, Programme und Playlisten öffnen – um dann bei netter Geräuschkulisse die Glupscher zuzuschweissen, saugt mich unendlich an. Aber man unterschätze ja schliesslich nicht die Macht der Shellscripts.
Die Dinger können dann irgendwie doch alles regeln. Ich hab so das eine oder andere Ding in den Nautilus-Scripts mit drin, aber auch eine Handvoll in meinem Programme-Menü. Und dort kam dann gestern eins Dazu: Sleepmode.
Click-And-Sleep
Das Script arbeitet mit verschiedenen Programmen zusammen, vor allem aber ALSA-Mixer, shutdown und VLC als Medienplayer. Funktionsmfang:
- Beendet alle laufenden Shutdown- und VLC-Prozesse
- Regelt die Lautstärke des Mixers auf ein angegebenes Level
- Erstellt eine (wahlweise zufällige) M3U-Playlist aus einem Ordner oder einer vorhandenen M3U-List
- Startet VLC mit vorgegebener Lautstärke, der erzeugten Playlist, Loop- und wahlweise Randomfunktion
- Schaltet die Hintergrundbeleuchtung des Bildschirms aus
- Fährt den Rechner nach vorgegebener Zeit herunter
Für mich bedeutet das: ein Klick auf ein Icon und ablegen. Dafür habe ich allerdings noch meinem Benutzer gestattet, shutdown und killall OHNE Eingabe des Passwortes auszuführen. Wollen wir uns mal keinen vormachen: toll ist das nicht. Mein Oppa würde wahrscheinlich sagen: Scheiss‘ der Hund drauf. Und Recht hatter. Wobei das wohl jeder für sich selber entscheiden muss.
Einrichtung
Zuerst muss der Benutzer Zugriff auf shutdown und killall erhalten. ACHTUNG! Linux trennt nicht umsonst Benutzer und Aministratoren! Ich denk‘ nochmal kurz drüber nach … äähhh … Ja.
sudo visudo
In dem aufgehenden Editor per Strg+Shift+V folgendes Einfügen (wobei [Benutzer] natürlich mit Deinem Usernamen ersetzt werden muss):
User_Alias ABSCHALTER = [Benutzer]# Cmnd specification
Cmnd_Alias DOWN = /sbin/shutdown, /usr/bin/killall# User privilege specification
ABSCHALTER ALL = NOPASSWD: DOWN
Per Strg+X abbrechen, mit „J“ oder „Y“ das Speichern, und mit Return den Dateinamen bestätigen.
Was ist jetzt passiert? Du hast Deinem Benutzer die Möglichkeit gegeben den Rechner herunterzufahren oder Programme zu beenden, OHNE, dass er nach der Eingabe „sudo killall bla“ nach dem Passwort gefragt wird.
Anschliessend muss ein neues, kleines Scriptchen mit einer Zufallsfunktion darin erstellt werden, das geanze geht am einfachsten so:
sudo mv randomize /usr/bin/
sudo chmod 755 /usr/bin/randomize
Das Script zerlegt beliebigen Input in eine zufällige Reihenfolge, Benutzung beispielsweise „cat ./mein.file | randomize > ./mein.zufalls.file“, was die Zeilen einer Datei shreddert. Okay, aber weiter im Text…Nach dieser Vorbereitung nun zum eigentlichen Script. Das Script saugen, anschliessend nach /usr/bin verschieben und ausführbar machen:
sudo mv sleepmode /usr/bin/
sudo chmod 755 /usr/bin/sleepmode
Zum Konfigurieren die Datei mit root-Rechten editieren:
sudo pico /usr/bin/sleepmode
Im oberen Bereich ist die Konfiguration, die Erklärungen stehen direkt darüber. Etwas missverständlich könnte die MP3_WORKLIST sein. Das ist die Playlist, die angelegt und anschliessend von VLC abgespielt wird. Du kannst dort eine Datei z.B. in Deinem Heimat-Verzeichnis erstellen lassen, hauptsache, der Benutzer hat Schreibzugriff auf Verzeichnis und zu erstellende Datei.
<< Nun noch ein schickes Icon dafür saugen und in einen beliebigen Ordner, üblicher Weise aber /usr/share/pixmaps (mit Root-Rechten), verschieben.
Und zum Abschluss an gut erreichbarer Stelle einen neuen Starter erstellen:
Befehl: „sleepmode“ oder wo auch immer Du das Script jetzt liegen hast…
Und dann sollte das funktionieren.
Und dann, gaaaanz zum Schluss, dann doch nochmal die Downloads auf die Scripte: