Irssi: Benutzerdefinierten Sound bei Benachrichtigung abspielen

Gibt es noch jemanden da draußen, der das Modul pcspkr standardmäßig deaktiviert? Während es sich danach definitiv entspannter auf der Konsole leben lässt, vermisse ich bei meinem IRC-Klienten Irssi jedoch die hörbare Benachrichtigung, wenn mein Chatname in irgendeinem Kanal erwähnt wird. Die Anleitung mit Tips&Tricks zu Irssi ist in Sachen Benachrichtung ziemlich eindeutig. Innerhalb von Irssi genügt es

/set beep_when_window_active ON
/set beep_when_away ON
/set beep_msg_level MSGS NOTICES DCC DCCMSGS HILIGHT
/set bell_beeps ON

auszuführen und wenn man gleichzeitig noch Screen benutzt ist STRG+a STRG+g ausreichend, um von einer visuellen Nachricht auf die hörbare umzuschalten.
Nur ohne das Modul pcspkr wird kein Systemklang abgespielt, weswegen ich mir das Perl-Skript beep.pl von der offiziellen Irssi-Homepage heruntergeladen habe. Um es automatisch zu starten, muss es nach ~/.irssi/scripts/autorun verschoben werden. Alternativ kann man es auch nach ~/.irssi/scripts/ kopieren und von dort einen Symlink nach autorun anlegen.
Mit

/set beep_command aplay /home/apo/alarm.wav

wird der benutzerdefinierte Abspielbefehl festgelegt. In meinem Fall wird mit aplay eine Wav-Datei abgespielt. Gleichzeitig kann man auch mit

/set beep_when_not_away ON

jederzeit und nicht nur bei Abwesenheit mit dem Beepbefehl geweckt werden.
Wer noch rätselt, ob es für diese Zwecke Fanfaren- oder Vuvuzelaklänge sein sollen, kann es auch ganz retro angehen lassen und auf den algorithmischen Symphonieeinzeiler zurückgreifen, den ich vor ein paar Monaten hier mal vorgestellt habe. 😀

rTorrent: Multiple watch-Ordner und fertige Downloads managen

Wenn wir heute schon beim Thema sind, möchte ich an dieser Stelle noch auf einen Tipp aus dem Wiki von Arch Linux zum Thema rTorrent hinweisen. Ich wusste, dass rTorrent verschiedene Ordner auf Torrents überwachen konnte. Mit einer weiteren Einstellung lassen sich die heruntergeladenen Dateien nach einem bestimmten Download/Upload-Verhältnis dann in vorher definierte Ordner verschieben.
Was mir jedoch fehlte, war die Möglichkeit einen schon fertigen Download nach einer Weile erneut zu seeden, indem ich lediglich den Torrent in den "watch"-Ordner kopierte und dann die komplette Datei von rTorrent automatisch erkannt und entsprechend verschoben wurde. Problematisch ist bei diesem Client jedoch, dass eine 100% fertige Datei, auf die rTorrent nachträglich aufmerksam gemacht wird, nicht automatisch verschoben werden kann. Dachte ich bis vor kurzem.
Für dieses spezielle Problem gibt es aber seit Version 0.8.6 eine Lösung. Ich bin mir nicht sicher, ob der Patch damals schon Eingang in Debian Squeeze gefunden hat, mit der aktuellen 0.8.9 Version in Unstable funktioniert es aber prächtig.
In der .rtorrent.rc sollten folgende Zeilen zu dem schon vorgestellten Setup hinzugefügt werden und ggf. meine alte system.method Zeile deaktiviert werden.

schedule = watch_directory_1,10,10,"load_start=~/downloads/watch/*.torrent,d.set_custom1=~/downloads/fertig/"
schedule = watch_directory_2,10,10,"load_start=~/downloads/watch/linux/*.torrent,d.set_custom1=~/downloads/fertig/Linux/"
system.method.insert=checkdirs1,simple,"not="$equal={d.get_custom1=,d.get_base_path=}""
system.method.insert=movecheck1,simple,"and={checkdirs1=,d.get_complete=,d.get_custom1=}"
system.method.insert=movedir1,simple,"d.set_directory=$d.get_custom1=;execute=mv,-u,$d.get_base_path=,$d.get_custom1=;d.set_custom1=;d.stop=;d.start="
system.method.set_key=event.download.hash_done,move_hashed1,"branch={$movecheck1=,movedir1=}"

Die Konfiguration scheint auf den ersten Blick etwas kryptisch zu sein, im Prinzip macht sie aber nur folgendes:
Zeile 1+2: Hier werden zwei verschiedene Ordner auf neue Torrents überwacht. Sobald hier ein neues Torrent hin verschoben wird und rTorrent läuft, beginnt automatisch der Download/Upload-Vorgang. Nach der Fertigstellung wird das Ergebnis je nach dem in welchem Ordner die Torrents gespeichert wurden, nach ~/downloads/fertig/ oder ~/downloads/fertig/Linux/ gespeichert.
Zeile 4: Überprüft ob das Torrent sich schon im Ziel Ordner befindet (false) oder eben woanders liegt (true).
Zeile 5: Überprüft ob das Torrent zu 100% komplett ist, der Wert aus Zeile 4 true zurückliefert und die Variable custom1 (der Zielpfad) existiert.
Zeile 6: Auf Basis der Ergebnisse aus Zeile 4+5 wird die fertige Datei in den Zielordner verschoben, rTorrent erkennt, dass das geschehen ist und verteilt den Download ab sofort aus dem neuen Zielordner.
Zeile 7: Wenn ein Torrent gehasht wird und in Ordnung ist, wird Zeile 6 ausgeführt. Zeile 7 ist also wichtig, falls eine Überprüfung des Torrents stattfindet. Alle Zeilen davor funktionieren auch, wenn kein Hashing mehr notwendig ist.
Mit diesen Zeilen kann ich also ein fertiges Linux ISO in den "todo"-Ordner verschieben und rTorrent erkennt an dem Ort der Torrent-Datei, wohin diese fertige Datei verschoben werden muss und seedet danach entsprechend meiner Einstellung weiter.

Transmission: BitTorrent mit Daemon und Konsole

Versprochen ist versprochen. Im letzten August hatte ich geschrieben, dass Transmission neben rTorrent mein Favorit und bevorzugter grafischer Client für Bittorrent ist. Doch wenn es auch ohne GUI gehen soll, lässt einem Transmission nicht im Stich. Kurz entschlossen installierte ich den Transmission Daemon, damit ich die gesamte Anwendung über ein Webinterface oder die Konsole steuern konnte.
Damals funktionierte leider die Ncurses-Oberfläche nicht, die ich vorstellen wollte, doch mit Transmission 2.33 in Unstable und dem letzten Stand des Konsolenclients transmission-remote-cli, lassen sich nun alle Aufgaben mit Ncurses auch über einen Terminal erledigen.

Installation

aptitude install transmission-daemon

Konfiguration

Die Konfiguration des Daemons findet bei Debian und Ubuntu in /etc/transmission-daemon/settings.json statt. Die einzelnen Optionen und was sie bewirken, werden ausführlich im Transmission-Wiki unter der Rubrik EditConfigFiles beschrieben. Erklärt wird dort auch, wo sich die Konfigurationsdateien bei Debian&Co finden lassen.
Die voreingestellten Werte garantieren schon den unkomplizierten Zugriff auf den Server und die Bedienung mit Hilfe der verschiedenen Frontends. Das gilt aber nur, wenn man sowohl Client als auch Server auf dem gleichen Rechner sehen will. Wer hingegen den Transmission-Daemon fernsteuern möchte, sollte noch die IP-Adresse der zugreifenden Clients mit Hilfe der Einstellung rpc-whitelist in settings.json hinzufügen. Wildcards sind ebenso möglich.

"rpc-whitelist": "127.0.0.*,192.168.*.*"

Man muss nur beachten, dass der Daemon-Prozess vorher mit
/etc/init.d/transmission-daemon stop
beendet worden ist, da ansonsten die Einstellungen automatisch wieder auf den vorherigen Zustand zurückgesetzt werden.

transmission-remote-cli

Es gibt danach verschiedene Möglichkeiten auf Transmission ohne grafische Oberfläche zuzugreifen. Die einfachsten Werkzeuge sind transmission-cli und transmission-remote, mit denen man lokal oder entfernt Befehle an den Daemon delegieren kann. Wer eine an rTorrent angelehnte Ncurses-Oberfläche sucht, sollte sich das in Python geschriebene transmission-remote-cli von github herunterladen.
Befindet sich der Client schließlich auf der Whitelist, muss man nur noch in einem Terminal
python transmission-remote-cli.py -c Benutzername:Passwort@IP-Adresse:Port
ausführen, um sich mit dem Server zu verbinden. In meinem konkreten Beispiel also:

python transmission-remote-cli.py -c transmission:transmission@192.168.0.105:9091



Die Bedienung erklärt sich mit der ? Taste von selbst. Transmission-remote-cli beherrscht die üblichen Fähigkeiten eines BitTorrent-Clients, darunter die Justierung für die Up- und Downloadrate, Start und Pause, Verifizierung des Torrents und gewährt auch Einblick darüber, was man gerade herunterlädt. Die Torrents lassen sich schnell mit s nach Alter, Seedern, Leechern, Ratio, Größe und mehr sortieren. Mit f kann man zwischen den gleichen Ansichten wie bei rTorrent umschalten. Das Einzige was mich gestört hat, war die fehlende Tab-Vervollständigung beim Hinzufügen von Torrents mit der Taste a.
Fazit für alle Transmission-Fans: Wer Transmission gut findet und den BitTorrent-Client auf einem Server fernsteuern möchte, hat gleich mehrere Optionen zur Hand, Webinterface, pure Konsole oder die Ncurses Schnittstelle. Anforderungen an die Hardware? Der Server ist der knapp 11 Jahre alte Inspiron 4000, als Client benutzte ich für diesen Test den 14 Jahre alten Thinkpad 600. Jetzt muss nur noch jemand den Python-Client für Debian packen. 😉

NFS-Dateiserver mit Slitaz

Im Hintergrund wird fleißig an Slitaz 4.0 gewerkelt und vielleicht gerade weil die letzte Cooking-Version vom Mai letzten Jahres stammt, gibt es trotzdem noch ein paar gute Gründe mit der aktuellen stabilen Ausgabe einige Aufgaben zu lösen. Ich habe mich etwas umgesehen und einen NFS-Server mit Slitaz 3.0 eingerichtet, mit dem ich Dateien zwischen den Clients im lokalen Netzwerk, sprich dieser kleinen Hardwaresammlung hier, austauschen kann.
Damit es halbwegs spannend wurde, habe ich den Toshiba Satellite 220CS zum NFS-Server umfunktioniert. Klingt beim ersten Lesen dramatischer als es ist, zum Schluss musste ich nur zwei Pakete installieren und ein Paar Textdateien bearbeiten.

Secure Shell - SSH

Beim lokalen Datenaustausch kommt bei mir im Regelfall immer SSH zum Einsatz und auch für einen sftp-Server finde ich ab und an Verwendung. Wenn ich Zugriff per SSH häufiger benötige, setze ich auch sshfs ein, wodurch sich entfernte Dateisysteme genauso problemlos wie Festplatten oder USB-Sticks einbinden lassen.
Die Secure Shell stellt bei älteren Rechnern eine wahrnehmbare Anforderung an CPU und Arbeitsspeicher, was außer für den Satellite 220CS bisher aber noch kein wirkliches Problem war. Erst bei einem Pentium I mit 16 MB RAM halte ich es für sinnvoll von OpenSSH zu Dropbear zu wechseln, weil man hier die bessere Performance tatsächlich spüren kann.

Network File System - NFS

Benötigt man hingegen keinen vollständigen Zugriff auf einen Rechner, lässt sich auch sehr gut mit dem Network File System leben, das nur geringe Anforderungen an die Hardware stellt. In Slitaz stabilen Repositorien existiert nur das Paket unfs3, welches den NFS-Server für den User Space mit der älteren Version 3 des Protokolls anbietet. Bei Debian hat sich hier seit längerem schon der nfs-kernel-server durchgesetzt, der zuverlässiger und schneller funktionieren soll. Unfs3 hingegen wurde 2010 aus Testing entfernt.
Er wird scheinbar auch nicht mehr weiterentwickelt. Das letzte Update auf sourceforge stammt aus 2009, dennoch eignet sich die Slitaz-Version noch für ein privates Heimnetzwerk mit einer überschaubaren Anzahl von Rechnern, denen man vertrauen kann. Die Installation ist denkbar einfach:

Installation

tazpkg get-install unfs3


Gleichzeitig wird portmap als Abhängigkeit mitinstalliert.

Konfiguration

Damit der NFS-Server beim Booten schon gestartet wird, muss die Datei /etc/rcS.conf editiert werden und in der Zeile RUN_DAEMONS noch die Dienste portmap und unfsd hinzugefügt werden. Meine Einstellungen sehen so aus.

RUN_DAEMONS="dropbear portmap unfsd "

Der NFS Server lässt sich auch manuell mit
/etc/init.d/unfsd start
starten.
Schließlich werden die Pfade zu den Ordnern, die man freigeben möchte, in /etc/exports eingetragen und dort die entsprechenden Zugriffsrechte gesetzt.

#/home/tux/musik nur lesend für jeden Rechner freigeben
/home/tux/musik     (ro)

#/home/tux/downloads lesend und schreibend freigeben
/home/tux/downloads     (rw)

#/home/tux nur lesend für den Rechner 192.168.0.207 freigeben
/home/tux/     192.168.0.207(ro)

Die weiteren Optionen für die Freigabe werden gut im Artikel NFS im Wiki von ubuntuusers.de beschrieben. Um nicht in jeder Konfigurationsdatei mit einer statischen IP-Adresse zu hantieren, lohnt es sich auch einmalig in /etc/hosts einen Rechnernamen für eine IP festzulegen und nur noch mit diesem Namen zukünftig zu arbeiten. Ändert sich aus irgendwelchen Gründen die IP, muss sie nur noch in /etc/hosts geändert werden.

Zugriff als Client

Auf Debian basierenden Systemen lässt sich eine Freigabe mit folgendem Befehl manuell in ~/nfs einhängen, wenn der Server mit der IP 192.168.0.100 erreichbar ist. Zuvor muss das Paket nfs-common installiert worden sein.
mount 192.168.0.100:/home/tux/musik ~/nfs
Wer gerne automatisch diese Freigabe einbinden möchte, kann dies in der /etc/fstab festlegen. Über nützliche Optionen hierzu, gibt das ubuntuusers.de Wiki ebenfalls Aufschluss.
Mit

showmount -e 192.168.0.100

erhält man als root auch die Liste der Freigaben des Servers.

Fazit

NFS ist selbst auf dem 16 Jahre alten Laptop noch performant genug, um Musikdateien über das Netzwerk verzugslos abspielen zu können. Einen NFS-Server für den Hausgebrauch einzurichten ist gar nicht so schwierig. Fortgeschrittene Optionen wie Kerberos-Unterstützung wird man hier kaum brauchen. Gerade für ein homogenes Netzwerk, in dem UNIX/Linux Rechner zum Einsatz kommen, lohnt sich NFS als unkomplizierte Möglichkeit zur Dateifreigabe.

Opera 11.60: Crash nach Laptopmodell

Seit einigen Tagen habe ich ein paar seltsame Probleme mit Opera 11.60. Ich benutze den Inspiron 4000 Laptop auch mal gerne dazu verschiedene Webbrowser zu testen und präsentiere meine Erfahrungen dann mit unfehlbarer wissenschaftlicher Präzision und absoluter Unabhängigkeit in diesem Blog.

Nun gab es in den letzten Monaten ein Update von 11.50 auf 11.60 und ehrlich gesagt, erwartete ich bei so kleinen Zahlen keine großen Wirkungen. Doch Opera 11.60 verhielt sich auf dem Inspiron mit Debian Sid plötzlich nicht mehr ganz so wie erwartet. Während er letzten Sommer mit Version 11.50 noch problemlos funktionierte, gab es nun direkt nach dem Start schon den ersten Absturz. Die Fehlermeldungen sind kryptisch und anscheinend nur für die Entwickler gedacht, was mich aber bei einem closed source Programm nicht besonders überraschte.
Ich probierte es daraufhin mit dem parallel installierten Arch Linux, doch auch hier kam ich nicht einmal über das Bestätigen der EULA hinaus. Opera fror ein und versagte den Dienst.
Wenn das nun bei zwei verschiedenen Linuxdistributionen passiert, kann es doch nur an Opera liegen, oder? Ich gab dennoch nicht auf und installierte Opera auch auf dem Thinkpad 600 mit Debian Stable, wo dwm als Fenstermanager läuft. Leider auch hier das gleiche Ergebnis.
Klare Sache. Das musste doch sicherlich auch noch andere Leute betreffen. Eine ausgedehnte Internetsuche brachte aber nichts wirklich erhellendes, Abstürze ja, aber in den gleichen Threads auch wieder viele positive Kommentare, die bestätigten, dass Opera funktionierte.
Kurzum ich fand keinen Fingerzeig oder logische Erklärung für dieses Problem. Ich experimentierte also noch einmal mit speedy, dem Toshiba Portégé 3110CT. Auch hier lief Debian Stable und ich probierte es mit dem Awesome-Fenstermanager.
Erfolg! Opera ließ sich starten und auch mein Blog passte haargenau in die 800x600 Pixel Auflösung.

Was hier schief läuft, ich kann es nicht sagen. Opera scheint zumindest bei meinen Rechnern, sich seine Freunde ganz genau auszusuchen. Ich hoffe nur, dass das nicht der Anfang vom Ende bei der Unterstützung von älteren Rechnern und Linux bei Opera gewesen ist. Möglicherweise habe ich aber auch den großen "Oha"-Artikel einfach überlesen und alles funktioniert wie beabsichtigt. 🙁

VLC und der Framebuffer

Die besten Multimedia-Abspieler der Welt sind Freie Software. Seit Anfang an benutze ich entweder Totem mit Xine oder Gstreamer, VLC und natürlich Mplayer. Heute ist es in der Regel so, dass ich Totem wegen Gnome 3 noch standardmäßig installiert habe, ansonsten aber nur noch den ausgezeichneten Mplayer verwende. Nach zahlreichen Selbstversuchen hat sich hier einfach herausgestellt, dass Mplayer gerade auf älteren Rechnern den Unterschied ausmacht. Verzichte auf die GUI und steuere ihn über die Konsole und Tastatur, wende ein paar Tricks&Tipps an und schon sind selbst h264-Videos auf dem Inspiron 4000 möglich.
Das Debian-Paket für Mplayer ist schon vollkommen ausreichend, man kann ihn auch speziell für den Framebuffer selbst kompilieren und jegliche Abhängigkeit zu X entfernen. Einfacher geht es auch mit deb-multimedia.org, wo ein mplayer-nogui Paket schon bereitgestellt wird.
Zum Vergleich habe ich mir VLC für den Framebuffer angeschaut, den ich bis vor 2-3 Jahren regelmäßig benutzt habe und ihn auf dem Thinkpad 600 mit Squeezes vlc-nox Paket, also ohne X Ballast, installiert.
VLC lässt sich wie gewohnt über die Kommandozeile bedienen und hat auch ein Ncurses Interface, das sich mit nvlc oder vlc -I ncurses aufrufen lässt.

Einen Überblick über die Tastaturbelegung liefert h. Wenn man mit B den Dateibrowser aufruft, kann man schnell zum Musik- oder Videoordner navigieren und mit Enter den Track hinzufügen. Einmal noch die Leertaste betätigen und das Lied wird abgespielt.
Im Gegensatz zu cmus bietet die Ncurses-Schnittstelle nicht das gleiche Maß an Übersichtlichkeit und Funktionen. Hier lässt sich mit cmus deutlich mehr machen.
Bei der Videowiedergabe mit VLC hatte ich zuerst ein Problem, was dazu führte, dass Videos nicht richtig skaliert wurden. Die Fehlermeldung besagte:

swScaler: pal8 is not supported as output pixel format

Nach einer kurzen Suche stellte sich heraus, dass einige inoffizielle Pakete von deb-multimedia.org die Ursache waren. Nach einer Deinstallation von VLC und dem Deaktivieren der Quellen in der sources.list, installierte ich vlc-nox erneut, wonach keine Probleme mehr mit Software Scaling auftraten. Das ist das erste Mal in zehn Jahren, dass die Repos von Christian Marillat hier ein Problem verursacht haben, man muss vielleicht nur lange und tief graben.
Zwar war es nun möglich ein älteres 320x240 großes MPEG-1 Video abzuspielen, leider konnte ich VLC nicht dazu bewegen den Vollbildmodus zu verlassen. Mplayer hingegen stellt das Video standardmäßig in seiner Originalgröße dar, was sich vollkommen ruckelfrei noch auf dem Pentium II Laptop ansehen lässt.
Scheinbar ist es mit dem Fbdev-Ausgabetreiber nicht möglich auf die Vorteile von Hardwarebeschleunigung zurückzugreifen. Alles wird mit Hilfe der Software berechnet, was die CPU dann an ihre Grenzen führt. Die Musik wird hier noch problemlos abgespielt, Bild und Ton sind aber nicht mehr synchron. Vollbild im Framebuffer lässt sich mit Mplayer so erreichen:

mplayer -vo fbdev -fs -vf scale=1024:-3 Name_des_Videos.mkv

  • -vo fbdev: Der Framebuffer Videoausgabetreiber
  • -fs: Vollbild
  • -vf scale: 1024 für die maximale Breite des Videos und meiner maximalen Auflösung auf dem Thinkpad entsprechend und -3 zwingt Mplayer dazu die Höhe proportional zur Größe des ursprünglichen Videos anzupassen.

Mit VLC versuchte ich so ziemlich alles zusätzlich zu --vout fb, aber weder --autoscale, --scale, --width und --height bewirkten hier etwas und die VLC Kommandozeilen-Hilfe brachte keine entscheidenden Hinweise.
Mein Fazit momentan ist, dass cmus zum Musikabspielen flexibler und ressourcenschonender ist und deutlich weniger Abhängigkeiten installiert. Mit Mplayer habe ich selbst im Framebuffer noch die Möglichkeit das Video mit den gewohnten Tastaturkürzeln zu steuern, wohingegen VLC lediglich die eingeschränkten Möglichkeiten der Ncurses-Schnittstelle bietet.
Möglicherweise wurde das Paket auch ohne QT4-Unterstützung kompiliert, was die begrenzten Möglichkeiten mit dem Framebuffer erklären könnte, wenn ich die Aussage des VLC-Entwicklers im Forum richtig verstehe.
Doch am Ende denke ich, dass Mplayer und cmus für mich diese Aufgabe einfacher besser erledigen.

mtPaint: Ein Grundlagen-Tutorial mit Lubuntu

Es wird oft über GIMP geredet, wenn es um die Manipulation von Bildern geht. Ohne Frage ich mag GIMP und halte es für ein hervorragendes Programm. Ich denke nur, viele Menschen kommen schon mit sehr viel weniger Funktionen aus. Gerade für Standardaufgaben mit Bildern hat Lubuntu mit mtPaint ein kompaktes, schnelles und vielseitiges Bildbearbeitungsprogramm vorinstalliert, welches nicht nur einige der am häufigsten wiederkehrenden Probleme löst, sondern auch vollkommen anspruchslos an die Hardware ist und bei mir auf einem 10 Jahre alten Laptop noch eine Startzeit von weniger als 2 Sekunden hat.
Mit dem folgenden kleinen Tutorial möchte ich zeigen, wie man einige typische Basisaufgaben mit Hilfe von mtPaint bewältigen kann. Mein Beispiel dreht sich um das Aufnehmen eines Bildschirmfotos, dem Zurechtschneiden des Bildes und der Markierung und Beschriftung von Objekten.
In Lubuntu 11.10 ist das ressourcenschonende scrot zum Aufnehmen von Screenshots voreingestellt. Seine vielfältigen Funktionen und wie man es in ein Openbox-Menü einbindet, hatte ich vor ein paar Monaten vorgestellt.
In der Regel wird durch Drücken der Druck-Taste der gesamte Bildschirm aufgenommen. Durch die Kombination Alt+Druck und ein paar anschließenden Mausbewegungen hat man die Möglichkeit einen Ausschnitt des Bildschirms als Bild festzuhalten. Dieser wird dann standardmäßig im Home Ordner gespeichert.
Wovon kaum jemand Gebrauch macht: mtPaint, Mark Tylers Painting Program, kann ebenfalls Bildschirmfotos schießen. Dazu gibt es drei Möglichkeiten

Ein Bildschirmfoto aufnehmen

  1. Terminalemulator

    In Lubuntu 11.10 das LXTerminal aufrufen und
    mtpaint -seingeben.

  2. Tastaturkürzel

    Die Datei ~/.config/openbox/lubuntu-rc.xml öffnen und nach dem Eintrag für scrot suchen. Erstellt euch danach wie folgt ein Tastenkürzel für STRG+Druck und mtPaint.

    <keybind key="C-Print">
         <action name="Execute">
          <execute>mtpaint -s</execute>
         </action>
    </keybind>
    

    Damit die Bildschirmaufnahme um 5 Sekunden verzögert wird, kann man anstelle von mtpaint -s auch
    sleep 5; mtpaint -s
    schreiben und natürlich je nach Wunsch die Anzahl der Sekunden variieren.

  3. Innerhalb von mtPaint

    Klickt auf Datei -> Neu -> Erzeuge Screenshot

Ein Bildschirmfoto manipulieren

Vorbemerkung: Solltet ihr Probleme mit einem Werkzeug haben, könnt ihr mit der ESC-Taste die Funktion abwählen. Falls ihr einen Schritt rückgängig machen wollt, hilft wie immer STRG+z, STRG+r holt ihn wieder hervor.

Ausgangsbild

Zurechtschneiden

Egal für welche Methode ihr euch entschieden habt, das Bildschirmfoto sollte nun direkt in mtPaint geöffnet sein. Wer nur an einem Vollbild interessiert war, kann jetzt schon zu "Datei -> Speichern als" springen und den gewünschten Dateityp wählen. Anderenfalls könnt ihr jetzt noch einen Teil des Bildes ausschneiden. Dadurch wird die Bilddatei auch kleiner, was Bandbreite spart und Ladezeiten von Webseiten verbessert.
Um das Objekt zu markieren, wählt ihr das Auswählen -Werkzeug. Damit lässt sich z.B ein Rechteck um das mtPaint-Programm ziehen, welches für dieses Beispiel im Fokus stehen soll.
Für mich ging es am schnellsten, wenn man mit dem Auswahl-Werkzeug an der rechten unteren Ecke des Programmfensters beginnt, ein Rechteck beliebiger Größe aufzieht und an der gegenüberliegenden oberen linken Ecke, es auf die perfekte Größe zieht. Hat man die passende Auswahl gefunden, genügt das Drücken der Entf-Taste, um den Bildbereich auszuschneiden.

Details hervorheben

Shutter bietet z.B. die Möglichkeit eine elliptische Auswahl um einen Teilbereich zu ziehen, der dadurch besser visualisiert wird. Mit mtPaint lässt sich das ganz leicht so machen:
Benutzt wieder das Auswahl Werkzeug, umrandet den zu markierenden Bereich und klickt auf Ellipse-Umriss .
Die Strichstärke und die Farbe lässt sich links in der Palettenvorschau verändern. Das rote Quadrat repräsentiert Farbe A (rot), das zweite Quadrat Farbe B (blau), das rote Rechteck das Muster (keines) und der weiße Kreis die Größe und Form des Pinsels und in diesem Fall die Strichstärke unserer Ellipse.

Text schreiben

Mit Hilfe des Textwerkzeuges lässt sich noch ein erläuternder Text schreiben. Für mein Beispiel habe ich als Schriftart "Sans" und Schriftgröße "20" gewählt. Nicht vergessen die "Antialias"-Checkbox für ein besseres Schriftbild zu selektieren (existiert nur bei Bildern im RGB-Format). Bei gedrückter linker Maustaste lässt sich die Textbox verschieben, ein Klick auf die rechte Maustaste fixiert den Text an der Stelle. Dieser Vorgang kann mehrmals wiederholt werden.

Eine gerade Linie ziehen

Schließlich lässt sich noch der Text und das mit der Ellipse umrandete Objekt mit einer geraden Linie verbinden, wozu ihr dieses Werkzeug braucht. Der Vorgang ist selbsterklärend. Anfangs- und Endpunkt bestimmen und mit Hilfe der Palette Farbe und Strichstärke festlegen.

Optional: Bild skalieren

Lässt sich im Menü unter Bild -> Größe der Zeichenfläche ändern einstellen oder mit der Taste Bild nach oben.

Fazit

Sowohl Shutter als auch GIMP hätten das Problem lösen können. Ich denke der Vorteil von mtPaint ist, dass es sich universell auf nahezu jedem Computer, der in den letzten 15 Jahren verkauft wurde, einsetzen lässt. Für eine leichtgewichtige Desktoplösung oder für Rechner mit begrenzten Ressourcen ist es eine gute Wahl und für all diejenigen, die nur alltägliche Aufgaben mit ihrem Bildbearbeitungsprogramm erledigen wollen, eine gute Alternative. Darüber hinaus bietet es noch die Arbeit mit Ebenen und eine Reihe von Effekten an. Hier aber ins Detail zu gehen, würde den Rahmen der Anleitung sprengen.

Ergebnis

Links

mtPaint Dokumentation (Englisch)
mtPaint Blog mit Tutorials, Beispielen, Tricks&Tipps (Englisch)
Lubuntu Screencast: mtPaint create Wallpaper (Englisch)
Lubuntu Screencast: mtPaint Basics (Englisch)

Ein geschmackvolles Openbox-Thema

Ich hatte schon seit ein paar Wochen angedacht, ein neues Thema für meine Openbox Installation mit Archlinux auf dem Inspiron 4000 zu finden. Normalerweise hänge ich ziemlich lange an einer Kreation fest und investiere nicht zu viel Zeit in die wiederkehrende Neugestaltung meines Desktops. In der Regel greife ich auf gute Ideen von box-look.org zurück oder bediene mich bei der sehr guten Konfiguration von Crunchbang Linux.
Vor zwei Tagen entschied sich Urukrama erneut einen Jahresrückblick zu machen und präsentierte seine Desktops aus den Jahren 2010 und 2011.
Urukrama war vor ca. 3 Jahren mein Einstieg in die Welt der Fenstermanager und leichtgewichtigen Desktops und schon damals gefiel mir sein untrüglicher Sinn für geschmackvolle Themen. Ich habe mich also auch diesmal ein wenig inspirieren lassen.
Zuerst fiel mir eines seiner Hintergrundbilder auf, ein Gemälde von Caspar David Friedrich "Der Mönch am Meer", weswegen ich auf der englischen Wikipedia Seite zum Künstler etwas ähnliches gesucht habe und schließlich das Bild "Mondaufgang über dem Meer" heruntergeladen habe. Interessanterweise unterscheidet es sich vom Bild aus der deutschen Wikipedia, ein Kunstkenner sollte diesen Widerspruch mal aufklären. 🙂
Mir gefiel es auf jeden Fall und mit Hilfe von feh war es schnell als Hintergrundbild gesetzt.
Als nächstes bediente ich mich beim Alghattas-Openbox- und Gtk-Thema von Urukrama. Nachdem man es entpackt hat, lässt es sich mit obconf in eine spezielle Obt-Datei umwandeln und installieren. Die mitgelieferte ".gtkrc"-Datei sollte nach ~/.gtk-2.0.mine kopiert werden, wodurch die GTK-Einstellungen nach einem Neustart von Openbox automatisch wirksam werden.
Danach installierte ich noch die Elementary Icons mit LXappearance und schließlich passte ich diese conkyrc so an, dass Conky linksbündig, horizontal und transparent angezeigt wurde. Nur an Tint2 von Crunchbang hielt ich wie bisher fest. Mir gefällt es so einfach.
Gut, dass sich über Geschmack nicht streiten lässt. 🙂

Eine Gnome-3-Erweiterung, die ich brauchte

Das Gnome-3.2-Paket "gnome-shell" hängt bei Debian noch in Unstable herum. Wenn ich die Abfrage, warum das Paket noch nicht in Testing ist, richtig interpretiere, liegt es wohl an einem FTBFS-Bug für die KfreeBSD-Architektur.
Mutig wie ich bin, habe ich also die Gnome-Shell für mein Testing-System aus Unstable installiert. Bisher habe ich keine Probleme damit und ich kann nun behaupten, dass Gnome 3.2 bei mir komplett ist.
Das bringt den Vorteil mit, dass ich endlich auf extensions.gnome.org eine Erweiterung installieren konnte, die ich unbedingt haben wollte.

Das alternative Statusmenü


Wer sein Gnome 3 kennt, hat sicher auch schon bemerkt, dass man standardmäßig den Rechner nur in "Bereitschaft" versetzen kann und erst durch drücken der ALT-Taste auch eine Auswahl zum Herunterfahren bzw. Neustarten angeboten bekommt. Der Hintergedanke war wohl, dass das für Laptopbenutzer der intuitivere Umgang mit dem eigenen Rechengerät sei.
Ich besitze hingegen einen klassischen Desktop-PC und unabsichtlich ist es mir schon passiert, dass ich den Computer in den Bereitschaftszustand versetzt habe, von dem er aber nicht wieder aufgewacht ist.
Mit einer alternativen Erweiterung für Gnome 3 lässt sich dieses Problem aber leicht lösen. Das richtig tolle an extensions.gnome.org ist, wie einfach das dort gemacht wird. Schalter auf ein setzen, die Extension wird geräuschlos installiert, alles funktioniert, fertig. Ausschalten und Deinstallieren geht genauso einfach über die Übersichtseite mit den installierten Erweiterungen.


Mit dem neuen Menü werden Bereitschaft, Ruhezustand und Ausschalten zu separaten Menüpunkten. Damit war ich aber immer noch nicht zufrieden und habe "Bereitschaft" und "Ruhezustand" in der entsprechenden Javascript-Datei extensions.js deaktiviert, damit sie nicht mehr angezeigt werden.
Sie befindet sich in ~/.local/share/gnome-shell/extensions/name-der-erweiterung/ und am einfachsten ist es diesen Block in der Funktion createSubMenu mit /* und */ auszukommentieren.

    item = new PopupMenu.PopupMenuItem(_("Suspend"));
    item.connect('activate', Lang.bind(this, onSuspendActivate));
    this._upClient.connect('notify::can-suspend', Lang.bind(this, updateSuspend, item));
    updateSuspend(this._upClient, null, item);
    this.menu.addMenuItem(item);
    item = new PopupMenu.PopupMenuItem(_("Hibernate"));
    item.connect('activate', Lang.bind(this, onHibernateActivate));
    this._upClient.connect('notify::can-hibernate', Lang.bind(this, updateHibernate, item));
    updateHibernate(this._upClient, null, item);
    this.menu.addMenuItem(item);

Ich hoffe, dass sich das mit dem Paket gnome-shell-extensions, das zur Zeit noch in Experimental ist, später auch ohne Editieren dieser Datei lösen lässt.
Update: Die Erweiterung Frippery Shut Down Menu bietet die hier beschriebene Funktionalität und sollte meiner Meinung nach Standard in Gnome 3 werden.

Newsbeuter: Auf der Jagd nach den Feeds

Zum Lesen von Feeds benutze ich seit geraumer Zeit canto, ein in Python geschriebener Feedreader für die Konsole. In den letzten Monaten hat sich meine Liste mit Feeds immer mehr vergrößert und nun stellte ich fest, dass das Lesen von Feeds auf dem Thinkpad 600 nur verzögert möglich war und beim Scrollen Canto förmlich "laggte".
Als Alternative erwähnte ich schon Newsbeuter, den ich deswegen auf dem Laptop und dem Core Duo installiert habe. Newsbeuter bezeichnet sich selbst als Mutt der Feedreader. Wer jetzt schlucken musste und an komplizierte Konfiguration dachte kann aber aufatmen. Im Gegenteil lässt sich damit die tägliche Dosis Nachrichten und Information mit Hilfe der guten Dokumentation schnell einrichten.

Installation

aptitude install newsbeuter

Feeds hinzufügen

vim ~/.newsbeuter/urls

https://www.gambaru.de/blog/feed/ linux
http://www.heise.de/newsticker/heise-atom.xml itnews
http://distrowatch.com/news/dwd.xml linux

Mit einem Texteditor trägt man die verschiedenen URLs der Feeds ein und kann sie gleichzeitig mit einem Schlagwort versehen, welches durch ein Leerzeichen getrennt angehängt wird. Die Datei urls lässt sich auch innerhalb von Newsbeuter mit der Taste E editieren.

Konfiguration

vim ~/.newsbeuter/config

max-items 20
browser elinks

Diverse Einstellungen und Kommandos lassen sich in der config-Datei an die eigenen Wünsche anpassen. Eine Übersicht bietet die Tabelle "Configuration Commands". Mir genügt es die maximale Anzahl der dargestellten Nachrichten auf 20 zu begrenzen.
Mit dem browser-Kommando lässt sich der Browser, in dem die Artikel geöffnet werden, beliebig festlegen. In der Standardeinstellung berücksichtigt Newsbeuter die globale "x-www-browser"-Variable, so dass ich außer max-items überhaupt nichts zu ändern brauchte.

Bedienung

Mit newsbeuter wird der Feedreader von der Konsole aufgerufen. Mit R werden alle Feeds aktualisiert, r hingegen erneuert nur ausgewählte Listen. Ein N symbolisiert neue Nachrichten, die sich mit A als gelesen markieren lassen.
Mit Enter werden die Einträge in Newsbeuter geöffnet und man kann mit o den Artikel im Browser aufrufen. Zur Tag Ansicht kommt man mit t, wo die Feeds gemäß den Einträgen in der Datei urls dargestellt werden.


Das war im Prinzip auch schon das ganze Geheimnis. Möchte man wie bei Canto noch die Möglichkeit haben Bilder innerhalb von Newsbeuter anzuzeigen, sollte man sich noch diese Zeile in die Config-Datei eintragen und feh und iceweasel durch die eigenen Favoriten für Bildbetrachter und Browser ersetzen.

macro i set browser "feh %u"; open ; set browser "iceweasel %u"

Innerhalb von Newsbeuter gelangt man mit u zur URL-Ansicht. Navigiert man auf den Link zur Bilddatei und drückt hintereinander , i wird das Makro ausgeführt, das Bild in feh angezeigt und anschließend die Browservariable wieder auf iceweasel gesetzt. Alles weitere lässt sich durch ? erfahren oder in der offiziellen Dokumentation nachschlagen.
Newsbeuter kann man auch zum Anschauen von Podcasts benutzen, wozu er mit podbeuter gestartet wird. Weitere hilfreiche Informationen dazu gibt es im Wiki auf ubuntuusers.de.
Insgesamt existieren noch zahlreiche weitere Konfigurationsmöglichkeiten, doch zur schnellen Jagd auf Feeds, lässt sich mit wenigen Einstellungen schon auskommen.