Awesome Window Manager – im wahrsten Sinne des Wortes

In meiner Zeit als Linux-User habe ich schon viele Window-Manager und Desktop Environments durchprobiert. Angefangen mit KDE 3.x unter Suse zu Gnome 2 auf Ubuntu. Dort kamen auch XFCE und LXDE zum Einsatz, später das pure Openbox mit einem tint2-Panel. Mit neuer Hardware war ich anfänglich auch von Unity begeistert, wechselte dann aber irgendwann zu Gnome3. Auf meinem eee 701 bin ich lange Zeit der Openbox treu geblieben, nicht zuletzt der begrenzten Hardware-Ressourcen geschuldet.

Doch ich bin ein wenig neugierig und experimentierfreudig. Gerade durch die Platzmöglichkeiten eines Widescreen-Monitors hatte ich immer wieder überlegt, einen Tiling Windowmanager zu probieren. Denn in der Regel ist ein Browserfenster im Full-Screen bei 1920×1080 etwas überdimensioniert. Da kann man locker noch ein Chatfenster und einen Twitter-Client bequem daneben platzieren. Auf der Arbeit habe ich mehrere Terminals auf einem Desktop offen, um diverse Ausgaben im Überblick zu halten und schnell Befehle abzusetzen. Bei den regulären DEs und WMs muss diese Platzierung manuell mit der Maus vorgenommen werden. Tiling Windowmanager bieten hier den Vorteil, dass sie automatisch die Fenster in einem Raster anordnen und den vorhandenen Platz optimal ausnutzen können.

Was mich bisher immer von der Nutzung eines Tiling WMs abgehalten hat, waren die Menge an Implementierungen und die oft ziemlich komplexe Konfiguration und Bedienung von manchen Programmen. Ich habe keine Lust, mich nur auf die Tastatur alleine zu verlassen, ab und zu will ich auch mit der Maus den Fokus setzen können. Ich will nicht für jede kleine Modifikation direkt den kompletten Windowmanager neu kompilieren müssen. Ich will auch schon mal Fenster außerhalb des Tilings frei platzieren und skalieren können.

Dann habe ich ein Programm gefunden, was meine Anforderungen erfüllt, und es einfach testweise auf dem eee Netbook installiert: Awesome! Der Name ist vielleicht etwas unglücklich gewählt, sucht einfach mal nach „awesome“ oder „awesome windowmanager“ bei Google, die vermeintlichen Treffer beziehen sich nicht unbedingt immer auf den Awesome Windowmanager (;

Hervorgegangen aus dwm, der für Änderungen neu kompiliert werden muss, kann Awesome über Lua-Skripte gesteuert werden. Die Optionen sind verdammt mannigfaltig und würden in der Auflistung den Rahmen hier sprengen. Neben diversen Tiling-Optionen, kann Awesome Fenster auf fließend verwalten. Da es in der Standardkonfiguration aber keine Titelleisten gibt, muss man zum Verschieben oder Skalieren die Tastatur zur Hilfe nehmen:
– bei gedrückter Windows-Taste kann ein Fenster mit Drag’n Drop mit der linken Maustaste verschoben werden
– bei gedrückter Windows-Taste kann ein Fenster durch Ziehen mit der rechten Maustaste skaliert werden
Im Endeffekt die gleichen Aktionen, wie unter Openbox. Nur dass man die Alt- und die Windowstaste tauschen muss.

Gleichsam aus Openbox bekannt und für mich auch ein sehr nettes Gimmick: Per Rechtsklick auf den Desktop wird ein Applikationsmenü geöffnet. Dieses wird gleichsam über die Konfigurationsdatei unter ~/.config/awesome/rc.lua gesteuert. Im Standard-Setup befindet sich auch ein Button für dieses Menü in der „Taskleiste“. Daneben sind die unterschiedlichen „Tags“, die man wie virtuelle Desktops verstehen kann. Neben dem Systray und einer Uhr kann das Panel durch beliebige Wigets erweitert werden. Dafür muss man nur in besagter Config-Datei ein paar Änderungen im Lua-Script tätigen. Inspirationen und Code findet man beispielsweise im Awesome-Wiki oder dem „Share your Awesome (WM) Desktop„-Thread im Archlinux Wiki.

Die Installation erfolgt simpel aus den Repositorys von Ubuntu oder Archlinux. Ich denke andere Distributionen sollten Awesome gleichermaßen in den Paketquellen haben. Detaillierte Konfiguration, Handhabung und erste Schritte findet man genug in den üblichen Quellen, darum verzichte ich darauf.

https://wiki.archlinux.org/index.php/Awesome
http://awesome.naquadah.org/wiki/Main_Page
https://bbs.archlinux.org/viewtopic.php?id=88926

Advertisements

[Kurz-Tipp] Batteriestatus über die Konsole ausgeben

Will man auf seinem Laptop unter Linux den Batteriestatus ausgeben, hilft das Packet acpi und der gleichnamige Befehl weiter.

Durch Parameter kann man neben aktuellem Füllstand noch weitere Informationen ausgeben lassen:
-t Temperatur des Akkus
-a Informationen über den Stromadapter
-V alle verfügbaren Informationen

Doch in der regel sollte ein parameterloser Aufruf die gewünschten Informationen liefern.

TTYtter: Twitter auf der Konsole

Ich war auf der Suche nach einem schlanken Twitter-Client für Linux. Dank Hinweisen aus den Kommentaren, habe ich mir auch Alternativen angesehen. Doch irgendwie erschienen mir weder Hotot noch Turpial richtig passend für den Gebrauch auf meinem Asus eee 701 G4. Darum versuchte ich eine weitere Möglichkeit: Twitter über die Konsole.

Als perfekte CLI-Applikation stellte sich TTYtter heraus. Sowohl Archlinux wie auch Ubuntu pflegen die Anwendung in ihren Repositorys. Die Installation geht entsprechend schnell und bequem über pacman und apt-get.

Nach dem ersten Start von ttytter über die Konsole, folgt die Authentifizierung. Man wird gebeten, eine URL im Browser zu öffnen und ein OAuth-Token in die Konsole einzugeben. Anschließend muss ttytter neu gestartet werden.

Im interaktiven Modus ruft ttytter neue Tweets im Hintergrund ab und zeigt sie auf der Konsole an. Dabei werden die einzelnen Nachrichten einer vorangestellten Kennziffer zugeordnet. Über diese Kennziffer kann man mit den Tweets interagieren.

/reply <nr> sendet eine Antwort an den Tweet mit der angegebenen Nummer
/rt <nr> retweet die Meldung
/fav <nr> favorisiert die Nachricht

Um selber einen Tweet in die Welt zu setzen, schreibt man einfach und schickt die 140 Zeichen mit Enter auf die Reise. Zu lange Meldungen beschneidet ttytter und gibt die gekürzte Nachricht noch mal zur Revision aus.

Will man einen Link kürzen, gibt es ein handliches build-in: /short <url>. Die gekürzte Adresse wird dabei in die Variable %URL% gespeichert, die man in den nächsten Tweet integrieren kann.
Mit /url <nr> öffnet man die URL aus dem angegebenen Tweet und speichert die Adresse in %URL%.

Interaktion mit anderen Benutzern erfolgt über /whois, /follow und /unfollow. /dm <nick> <nachricht> verschickt eine Direct Message. /refresh holt die neuesten Tweets, /again läd die Timeline neu, /replies die eigenen @-Mentions und /dm ohne Angabe von Nick nun Nachricht, läd neue privaten Mitteilungen, /dmagain alle letzten DMs.
Hat man mal Mumpitz publiziert, löscht /dlast die letzte gesendete Nachricht der aktuellen ttytter-Session.

Will man eine Übersicht der wichtigsten Kommandos, hilft /help. Alle Befehle gibt es auf der Homepage.
/quit oder /exit beendet ttytter.

Über Einstellungen kann man ttytter konfigurieren. Entweder im Programm selber mit /set <key> <value>, oder über die .ttytterrc im eigenen Home-Verzeichnis. Dort stehen die Parameter als key=value einzeln pro Zeile.
Ich mag farbige Ausgaben, darum habe ich ansi=1 und damit ANSI-Color-Ausgaben aktiviert. Und da ich schon mal gerne vorschnell auf Enter drücke, steht ihn meiner Konfiguration slowpost=1. Dann wartet ttytter eine Sekunde mit dem Abschicken des Tweets und ich kann mit STRG-c den Vorgang noch abbrechen. Ein Bestätigen jeder Meldung mit verify=1 wäre mir zu unbequem.

ttytter kann auch Desktop-Benachrichtigungen. Dafür muss das Programm aber mit den entsprechenden Parametern gestartet werden:
-notifytpe=libnotify -notify=reply,dm
Weitere Startparameter und Einstellungen gibt es auf der Homepage von ttytter. Dort steht auch, wie man ttytter nicht nur interaktiv, sondern auch für Scripting verwenden kann.

Als Konsolen-Cowboy und Linux-Nerd habe ich mich schnell in diesen mächtigen Twitter-Client verliebt. Hotot ist zwar noch auf meinen Desktop-Rechner installiert. Doch für das Daily Twitter verwende ich eigentlich nur noch ttytter. Auf der Arbeit hat es außerdem den Vorteil, dass das geschäftige Treiben auf der Konsole aussieht, als ob es Arbeit wäre, hehe…

http://www.floodgap.com/software/ttytter/

eee 701: Back to Arch

Irgendwie war es ein kurzes Intermezzo. Ende Februar musste ich ein neues Betriebssystem auf meinen betagten Asus eee 701 4G aufspielen. Doch die Suche nach einem geeigneten Betriebssystem für dieses Netbook der ersten Stunde war kein leichtes Unterfangen. Schlussendlich kam ein Linux Mint auf die Kiste und verrichtete mehr oder minder gute Dienste.

Natürlich war dieses Ubuntu Derivat etwas übergewichtig für die schmale Hardware. Trotz installierter und verwendeter LXDE-Oberfläche, war ich gezwungen entweder Gnome3 oder den Mate-Desktop auf der Platte zu halten. Die Deinstallation der einen Desktopumgebung bedingte die Installation der anderen. Unschön, aber konnte ich mit leben. Irgendwann kam aber nach dem Bootvorgang nicht mehr der Login-Manager, sondern verharrte bei den System-Checks. Zumeist dem Batteriestatus, der als „okay“ positiv beendet wurde. Ein Wechsel auf TTY1 war aber jederzeit möglich. Dort konnte ich mich anmelden und ohne Probleme ein startx ausführen. Sicherlich unschön, aber eine schnelle Lösung des Problems ließ sich nicht finden. So lebte ich mit dieser etwas komplizierteren Anmeldung und auch dem Umstand, dass die Soundkarte des eee nicht erkannt wurde.
Vor zwei Tage wollte aber der Xorg-Server gar nicht mehr starten. Ursache: Fehlende oder korrupte Keyboard-Konfiguration. Tolle Wurst, von jetzt auf gleich das System zerschossen – ohne dass ich bewusst irgendwas getan habe. Wenn man von den üblichen Updates absieht.

Also: Linux Mint scheint keine Alternative zu sein. Ich entschloss mich zum einzig richtigen Schritt: Es sollte wieder Archlinux auf das Netbook. Das lief bis zu meinem Fehltritt mit der Paketsignierung sicher, schnell und zuverlässig. Da ich eh Openbox als Windowmanager verwenden wollte, probierte ich Archbang, ein Archlinux-Derivat mit Openbox. Leider brach die Installation immer mit einem undefinierten Fehler ab.
Die Installation des Core-Images der Hautdistribution verlief hingegen schnell und ohne besondere Probleme. Dank guter Einstiegshilfe im Wiki waren alle eventuellen Fragen auch bereits im Vorfällt beantwortet.

Auf einen Displaymanager verzichte ich. Über die TTY kann ich mich bequem anmelden und mit startx Openbox aufrufen. Als Panel dient Tint2, als Terminal xterm und lxterminal. PCManFM ist zwar auch installiert, aber für die wenigen Aufgaben im Dateisystem reicht mir auch die Shell. Mit Chromium als Browser ist das eigentliche Setup (fast) komplett – und belegt unter einem Gigabyte auf der SSD. Was will ich mehr?

Kurz-Tipp: less und die Fehlermeldung „WARNING: terminal is not fully functional“

Ich hatte mich per SSH auf einem Server angemeldet und wollte mir mittels less eine Log-Datei anschauen. Doch bevor ich den eigentlichen Dateiinhalt sehen konnte, kam eine Fehlermeldung:

WARNING: terminal is not fully functional
out.log (press RETURN)

Bei meinem Kollegen kam der Fehler nicht. Etwas Recherche im Netz ergab die Lösung: Ich verwende lokal $TERM=xterm-256color, was SSH offensichtlich an den Server weiterreicht. Die entfernte Shell scheint 256 Farben aber nicht zu unterstützen. Abhilfe schaffte:

export TERM=xterm

Leichte, grafische Twitter-Clients unter Linux

Wieder mal begebe ich mich auf die Suche nach einem passenden Twitter-Client unter Linux. Gwibber ist mächtig und kann nicht nur Twitter, sondern auch andere Microblogging-Dienste. Doch dafür ist das Monster auch zäh und träge. Eine leichtgewichtige Alternative muss her!

Als Gnome-Nutzer fällt Choqok mit seinen KDE-Abhängigkeiten für mich flach. Mein ganz alter Favorit Twitux schein nicht mehr in den Quellen von Ubuntu zu existieren. Wird das Projekt eigentlich noch gepflegt, oder ist es durch GTK3 gestorben?

Pino – Eigentlich ein sehr schöner, schmaler Twitter-Client, den ich vor einer gefühlten Ewigkeit schon mal richtig gut fand. Leider hat die Version aus den Ubuntu-Quellen (0.2.11) den Anschluss an OAuth verpasst und funktioniert nicht mehr. Neuere Versionen mit funktionierender Authentifikation aus dem 0.2er Branch oder gar die aktuelle 0.3er-Reihe, sind leider nicht in die Repositorys gekommen. Daher leider unbrauchbar.

Qwit – Qwit kann Plain-Text und OAuth-Anmeldung, wobei letztere ohne große Probleme funktioniert. Die Option zur Verwendung von https ist ein nettes Gimmick. Man kann aus einer Reihe von URL-Shortenern auswählen, aber leider keinen eigenen hinzufügen. Benachrichtigungen können über qt, kdialog oder libnotify erfolgen. Auch die weiteren Einstellungen von Farben, Sprache und diversen anderen kleinen Stellschrauben sind sehr positiv. Das UI zeigt sich aufgeräumt und übersichtlich. Was mich aber sehr stört: Man kann die Benachrichtigungen nicht einschränken. Ich bekomme für jeden Tweet in meiner Timeline einen Hinweis. Das nervt, ich will nur Mentions und Direct Messages proaktiv bekommen, den Rest lese ich bei Bedarf, Interesse und Zeit.
Außerdem ist Qwit eine qt4-Anwendung, was vielleicht manchem Toolkit-Dogmatiker nicht unbedingt schmeckt.

Turpial – Ein sehr schmaler Twitter-Client in Python geschrieben. Die Anmeldung erfolgt einfach per Username und Passwort direkt nach dem Start der Applikation. Timeline und Mentions funktionieren ohne große Probleme. Bei den Direct Messages steht hingegen „Hey, Anzahlgrenze von API-Abrufen erreicht!“ – Obwohl mir in der Status-Leiste deutlich angezeigt wird, dass ich noch fast alle API-Aufrufe habe. Da liegt wohl noch ein kleiner Bug vor…
Etwas ungewohnt ist es, dass man zum verschicken von Nachrichten erst einen neuen Dialog öffnen muss. Für das Hochladen von Bildern muss ein anderer Dialog geöffnet werden. Dafür gibt es Hilfsmittel um URLs zu kürzen, schnell einen Usernamen aus der Feundesliste in einen Tweet einzufügen (Autocomplete beim Tippen klappt nicht).
Bei den Optionen kann man Aktuallisierungsintervalle für die einzelnen Spalten einstellen, wobei auch die voraussichtlichen API-Abrufe direkt berechnet und angezeigt werden. Für jede Spalte können Benachrichtigungen aktiviert, Dienste für URL-Shortening und Bilder-Upload ausgewählt und Benutzer stummgeschaltet werden. Wenn man das schmale Layout des Programms nicht mag, kann man auch in einen „Breit-Modus“ wechseln, wo die Spalten nicht als Tabs, sondern nebeneinander angezeigt werden.
Neue Tweets in der Timeline werden farblich hervorgehoben, so dass man immer den Überblick behält. Was mir persönlich noch etwas fehlt, ist die Unterstützung mehrerer Accounts.

Auch wenn Twitter mal so richtig hip war, und es angeblich so viele Clients dafür gab, sieht die aktuelle Situation – zumindest für Linux – ziemlich mau aus. Besonders die Standard-Quellen von Ubuntu zeigen sich sehr überschaubar mit gerade mal Gwibber, Choqok, Pino, Qwit und Turpial. Doch ich will nicht möppern, sondern erstmal Turpial verwenden. Mal sehen, wie sich das Tool nach ein paar Tagen in der Praxis bewährt…

Update: Mittlerweile habe ich mir auch Hotot und Polly angesehen

Ubuntu als Android App

Gestern veröffentlichte Canonical eine Nachricht, die schon bald durch die Blogosphäre schnellte und sicher für einiges Aufsehen sorgen wird. Ubuntu soll als Zweitsystem auf einem Android Smartphone funktionieren.

Im regulären Betrieb ist Android das aktive Betriebssystem. Wird das Telefon an ein Dock angeschlossen, startet Ubuntu und man kann mit seinen gewohnten Programmen arbeiten. Dabei werden die Apps vom Mobil-OS ebenso integriert, wie die Wifi-Settings, Kontakte und Nachrichten (SMS).

Weitere Informationen über die Hardware-Anforderungen dieser Ubuntu-Version bekommt man auf der offiziellen Seite von Canonical. Weitere Beiträge zu dem Thema finden sich auf Golem, LinuxUndIch oder OMG! Ubuntu. Darum werde ich hier nicht viel weiter schreiben.

Wer Ubuntu on Android in Aktion sehen mag, kann das in einer Video-Demo bei LinuxUndIch tun.

via @ChrisZwitschert / http://linuxundich.de/