Von Oktober 2011
Plasmoid für USB-Steckdosenleiste
Gembird's
Silver Shield Steckdosenleiste unter Linux (KDE4) vom Desktop aus steuern,
mit Hilfe des Plasmoids USB-Steckdose.
... mehr [Download als Zip]
... mehr [Download als Zip]
Wozu ist das Plasmoid gut?
Das Plasmoid "USB-Steckdose" ermöglicht es, auf dem Desktop Icons anzuklicken, um die Steckdosenplätze (Revolt INtelli-Plug, Gembird SIS-PM, 4 Steckdosenplätze) an- und auszuschalten. Die Icons zeigen an, ob die Steckdosenplätze an oder aus sind.
Installiert sein sollten
- Linux, KDE4 --- das Design wurde auf Debian Squeeze, KDE 4.4 entwickelt. Andere Distributionen wurden nicht getestet, aber es sollte dort analog funktionieren.
- Steckdosenleiste:
- Eine USB-Steckdosenleiste (Revolt INtelli-Plug, Gembird SIS-PM).
- Sowie das Programm: sispmctl (http://sispmctl.sourceforge.net).
- Beides funktionsfähig angeschlossen und eingerichtet, sodass mit Root-Rechten Eingaben auf der Konsole im Stil
sispmctl -o 1
funktionstüchtig sind.
- Das Programm/Paket: sudo.
In /etc/sudoers (nur mit dem Befehl visudo editieren, nicht in irgendeinem anderen Editor! Unbedingt die Man-Page von visudo lesen!) sollte eine solche Zeile stehen:
username ALL=NOPASSWD: /usr/bin/sispmctl
Aufpassen, dass diese Zeile erst hinter anderen Zeilen steht, wie zum Beispiel
root ALL=(ALL) ALL
denn die Reihenfolge der Zeilen spielt bei der Rechtevergabe in /etc/sudoers eine Rolle! Danach sollte es möglich sein als Nicht-Root-Nutzer
sudo sispmctl -o 1
in der Konsole durchzuführen.
- Weitere Programme/Pakete:
- Debian-Paket "plasma-scriptengine-python" (packages.debian.org/squeeze/plasma-scriptengine-python)
- Dafür wird wiederum "phython" und "python-kde4" benötigt. (Falls nicht ohnehin schon vorhanden, werden diese bei der Installation von "plasma-scriptengine-python" automatisch mit installiert.)
- Weitere Programme/Pakete:
Plasmoid zum Laufen bringen
- "steckdose-plasma.zip" in Home entpacken, z.B. in einer Konsole im Home-Verzeichnis ausführen:
unp steckdose-plasma.zip
- Das Plasmoid mit "plasmapkg" installieren:
plasmapkg -i steckdose-plasma/
- Das Plasmoid als Miniprogramm auf den Desktop hinzufügen:
- Rechte Maustaste auf den leeren Desktop
- Miniprogramm hinzufügen ...
- "USB-Steckdose" auf den Desktop ziehen
- Das Plasmoid mit "plasmapkg" installieren:
Fehler-Behebung
- Problem: "Das Skript läuft nicht durch"
Lösung: Wahrscheinlich hast du Latin-9-Font-Encoding und diese Dateien sind in UTF8 geschrieben. Einfach alle ä/ö/ü und Sonderzeichen ersetzen oder löschen.
- Problem: "Das Plasmoid funktioniert, allerdings werden keine Bilder angezeigt. Die Bilder selbst sind installiert."
Lösung: In Debian Jessie werden die Plasmoids in $HOME ausgeführt. Die Pfade zu den Bildern müssen relative Pfade zu $HOME oder absolute Pfade sein. - Problem: "Leider ist in Debian Jessie der Plasmoidviewer nicht enhalten."
Lösung: Der plasmoidviewer wurde anscheinend ab KDE 4.10 ins PlasMate-Projekt verschoben. In einem Blog-Eintrag von 2012 klingt es so, als ob man sich den noch aus dem Plasmate-Git-Repository besorgen kann. Als Ersatz soll plasma-windowed (aus dem Paket kde-workspace-bin in Jessie) aber auch gut funktionieren.
Plasmoid bedienen
- Die Icons zeigen den Zustand des jeweiligen Steckplatzes der Steckdosenleiste an, also ON oder OFF.
- Klickt man auf eines der Bilder, so schaltet man den entsprechenden Steckdosenplatz in den anderen Zustand, also OFF oder ON.
- Wenn neben der Bedienung durch dieses Plasmoid die Steckdosenleiste auch noch anderweitig (über Konsole, Online-Anwendungen, von Programmen, etc.) geschaltet wird, so wird der Zustand der Buttons nach ca. 5 Sekunden automatisch aktualisiert.
Plasmoid an eigene Bedürfnisse anpassen
Plasmoid deinstallieren: plasmapkg -r steckdose-plasma/
Quelltext editieren. Plasmoid wieder neu installieren.
Quelltext editieren. Plasmoid wieder neu installieren.
- Das Icon im Miniprogramm-Auswahlmenü soll ersetzt werden:
In steckdose-plasma/metadata.desktop:
- Zeile "Icon=/salz-on.png" anpassen
- Es soll das Zeitintervall (5 Sekunden) des automatischen Updates geändert werden:
In steckdose-plasma/contents/code/steckdosen.py:
- "RefreshInMilliSekunden=5000" im Abschnitt "1.FIXME" anpassen
Kürzere Zeitintervalle (z.B. 500) können durch die häufigen sudo-Aufrufe zu einer hohen System-Last führen!
- Es sollen Steckplätze an der Steckdose umgewidmet werden, ohne die Buttonreihenfolge zu ändern:
In steckdose-plasma/contents/code/steckdosen.py:
- String-Variablen der Steckplätze im Abschnitt "2.FIXME" anpassen
- Es sollen die Bilder der Buttons ersetzt werden:
In steckdose-plasma/contents/code/steckdosen.py:
- Pfade der Bilddateien im Abschnitt "3.FIXME" anpassen
Parameter der Icons: 100x100 Pixel, Auflösung: 72x72 Pixel/Inch
- Es werden weniger Steckplätze benötigt, weil die Steckdose weniger Steckplätze hat:
In steckdose-plasma/contents/code/steckdosen.py die überflüssigen Objekte und Absätze entfernen/anpassen:
- globale Variablen entfernen/anpassen
- String des Steckplatzes entfernen/anpassen
- Pfade der Bilddateien entfernen/anpassen
- Position der Bilder im Widget entfernen/anpassen
- Funktion changeXyzZustand() anpassen
- Buttons in initExtenderItem anpassen
- clicked-Funktionen entfernen/anpassen
- dataUpdated-Funktion anpassen
Plasmoid Testlauf
Für das Arbeiten an den Dateien steckdose-plasma/contents/code/steckdosen.py und steckdose-plasma/metadata.desktop empfiehlt sich folgender Ablauf:
Oder noch einfacher: Jedes Mal nach dem Ändern und Speichern des Quelltextes in der Konsole mit der folgenden Zeile alle drei Schritte auf einmal ausführen:
plasmapkg -r steckdose-plasma/ && plasmapkg -i steckdose-plasma/ && plasmoidviewer steckdose-plasma/
- Alle Instanzen auf dem Desktop schließen und das Plasmoid mit "plasmapkg" deinstallieren:
plasmapkg -r steckdose-plasma/
- Am Quelltext arbeiten und das Plasmoid mit "plasmapkg" neu installieren:
plasmapkg -i steckdose-plasma/
- Das Plasmoid mit "plasmoidviewer" testweise anschauen anstatt für jeden Testlauf ein Miniprogramm zum Desktop hinzuzufügen:
plasmoidviewer steckdose-plasma/
Außerdem sieht man so auch die Fehlermeldungen auf der Konsole. - Am Quelltext arbeiten und das Plasmoid mit "plasmapkg" neu installieren:
Oder noch einfacher: Jedes Mal nach dem Ändern und Speichern des Quelltextes in der Konsole mit der folgenden Zeile alle drei Schritte auf einmal ausführen:
Hilfreiche Internetadressen
Zu Plasma und Python: techbase.kde.org/Development/Tutorials/Plasma
Von Rainer Dorsch 2015 für Debian Jessie umgebaut und Code verbessert: netcup.bokomoko.de/~rd/steckdose-plasma.tgz
Von Rainer Dorsch 2015 für Debian Jessie umgebaut und Code verbessert: netcup.bokomoko.de/~rd/steckdose-plasma.tgz
Author
Das Skript steckdosen.py wurde von Annette Huck (annette auf hopfenwiesen punkt de) geschrieben.
Die Bilder lampen-on.png, lampen-off.png, glaskugel-on.png, glaskugel-off.png, salz-on.png, salz-off.png, klavier-on.png, klavier-off.png wurden von Annette Huck (annette auf hopfenwiesen punkt de) mit Gimp 2.2/2.6 gezeichnet.
Lizenz
Copyright 2011 Annette Huck.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.