Diabolus Umarov

Blog des Autor Diabolus Umarov

Meine Anfänge mit »awesome«

Ich neige dazu, immer wieder nach einem neuen Window Manager, oder auch Desktop Manager zu suchen. Wenn das jemand erfährt und Ahnung davon hat, bekomme ich immer wieder eine Frage gestellt:

Was ist falsch an …

Dabei tauchen dann immer wieder die gleichen Kandidaten auf. Gnome, KDE, Mate und gelegentlich Enlightenment. Dabei ist die Frage schon in sich falsch! Denn weil ich nach neuen WMs suche heisst das nicht, dass mit den anderen etwas nicht stimmt! Meine Suche hat viele Gründe. Manchmal ist es Langweile. Also Langeweile wegen des eingesetzten WM.  Alles läuft wie man es haben will, man ist alles gewohnt usw. Irgendwie überkommt es mich dann manchmal, etwas verändern zu wollen. Meistens reicht es, wenn ich einen neuen Hintergrund oder ein neues Thema einsetze. Aber manchmal muss es eben mehr sein.

Es gibt aber auch andere Gründe. Neben meinem normalen Desktop betreibe ich zum Beispiel noch ein NetBook. Die kleinen Dinger sind allgemein immer etwas beschränkt in ihrer Ausstattung, was dem Platzmangel geschuldet ist. Da macht es wenig Sinn, wenn ein WM bereits 20% des Bildschirms mit Leisten zupflastert und man nicht mehr wirklich viel Platz für die Anwendungen hat. Es macht allerdings auch wenig Sinn, einen fetten WM einzusetzen. Gnoe3 wäre auf meinem NetBook zum Beispiel schon so dick, dass kaum noch Anwendungen ordentlich laufen. Das macht also keinen Sinn und da suche ich nach etwas kleinem, schnellen, was man dennoch gut bedienen kann.

Aber auch die Nutzung von VNC macht das Nachdenken über eine Alternative sinnvoll. Ist man mit dem NetBook, oder einem Laptop, oder einem Tablet unterwegs und hat nicht die beste Verbindung, will aber dennoch etwas am Desktop daheim arbeiten, dann sollen natürlich möglichst wenig Daten über die Leitung wandern müssen. Auch hier ist also ein schlanker WM sinnvoll.

Ich kann gerade förmlich die Frage in den Köpfen einiger Leser lesen. Warum VNC und nicht ssh? Ganz einfach. Ich bin grosser Anhänger von Application-Remote, also dem Tunneln einzelner Anwendungen über das Netzwerk. Daheim mache ich das dauernd. Da wandert ein Programm vom Rechner meiner Frau auf meinen Rechner, oder ich starte etwas auf dem NetBook und arbeite damit auf meinem Desktop. Daheim, bei einem internen Netzwerk, ist das auch kein Problem. Ist man aber unterwegs und hat nicht gerade die perfekte Verbindung, dann kann Application-Remote echt zum Geduldsspiel werden. Ausserdem habe ich schon die Erfahrung gemacht, zum Beispiel WPS-Office neigt dazu, wenn ich es mittels ssh auf dem NetBook betrieben habe, auf dem Desktop sämtliche Einstellungen zu verändern und stellenweise die zuvor geöffneten Daten nicht mehr zu finden. Das ist öde. Deshalb habe ich einen extra Benutzer angelegt, der seine Session headless auf dem Desktop laufen hat und mit dem ich unterwegs dann arbeite. Die Übertragung klappt mittels TigerVNC ganz vorzüglich und auch WPS-Office lässt die EInstellungen am Desktop in Ruhe.

Zurück zum Thema:

Bislang setze ich für VNC gerne fluxbox ein. Dieser flotte WM gehört bei mir seit den Anfängen meiner Gentoo-Zeit zum festen Bestandteil meiner Software. Wenn ich in die Verlegenheit komme, Gentoo neu zu installieren, dann ist so ziemlich das erste was ich baue fluxbox. Netterweise baut das aus den Abhängigkeiten dann auch gleich noch das ganze X11 mit, so dass ich mich darum nicht zu kümmern brauche.

Gut. Fluxbox hat jedoch auch einen Nachteil. Es ist unglaublich langweilig. Seine kleine Leiste am Boden ist auch nicht gerade ansprechend und ich habe noch kein Thema gefunden, was daran etwas geändert hätte. Aber, fluxbox ist eben doch schnell wie kaum etwas anderes. Deshalb ist er auch immer sofort mit dabei. Ist er installiert, starte ich X11 und von da geht die Installation von Gentoo dann weiter. Schön in Terminals. Einfach bequem.

Nun hat mich gestern wieder der Forscherdrang gepackt und ich habe mich umgeschaut, was es noch so an schnellen WMs zu finden gibt. Dabei bin ich über »awesome« gestolpert.  Die Screenshots haben mir sofort gefallen. Er hat eine Leiste, die im Allgemeinen oben Sitz, ein Menü befindet sich in der linken Ecke, direkt daneben sitzen gleich 9 virtuelle Desktops, man hat eine Taskleiste und eine Uhr. Das war doch schon interessant. Aber auch die Möglichkeit, die Fenster verschieden anzuordnen hat mir direkt gefallen. Diese kleine WM bietet dafür so viele Möglichkeiten an, dass habe ich bislang noch nie gesehen. Von Mate her kenne ich, dass ich ein Fenster nach links an den Rand schiebe und es wird über die linke Hälfte des Bildschirms vergrössert. Das können natürlich auch viele andere WMs und sogar Windows kann das. So habe ich es bei mir auch eingestellt. Ich schiebe zum Beispiel Geany nach links und es wird gross. Ein Terminal schiebe ich nach rechts oben und er füllt in der rechten Hälfte die Hälfte vom Rest des Bildschirms aus. Darunter kann ich dann noch eine Anwendung starten. Einfach!

Awesome ist da dann noch krasser. Man kann vorgeben, wie Anwendungen geöffnet werden. Sagen wir mal, ich will Geany links die hälfte des Bildes füllen lassen und andere Anwendungen sollen sich um die verbleibende Hälfte streiten. Dann muss man nur oben Rechts im Eck den entsprechenden Modus aktivieren und kann dann einfach seine Programme starten. Geany als erstes, das wird links gross. Der Terminal nimmt dann rechts die Hälfte ein und wenn man noch einen Dateimanager öffnen will, macht der Terminal sich dünn und darunter erscheint der Dateimanager. Geniale Sache!

Aber awesome hat noch etwas, was ich bislang noch nie bei einem WM gesehen habe. Was aber nicht heisst, dass es das nicht gibt. Er wird nämlich über lua konfiguriert. Ganz im Ernst! Normalerweise, wie zum Beispiel fluxbox es macht, definiert man in einer Datei einfach, was in den Menüs stehen soll und fertig. Bei awesome kann man es ähnlich machen. In meiner ~/.config/awesome/rc.lua steht zum Beispiel folgender Abschnitt, welcher das Menü oben links zusammenstellt:

myawesomemenu = {
{ „hotkeys“, function() return false, hotkeys_popup.show_help end},
{ „manual“, terminal .. “ -e man awesome“ },
{ „edit config“, editor_cmd .. “ “ .. awesome.conffile },
{ „restart“, awesome.restart },
{ „quit“, function() awesome.quit() end}
}

internetmenu = {
{ „Vivaldi“, „vivaldi“},
{ „Evolution“, „evolution“},
{ „Pidgin“, „pidgin“}
}

mymainmenu = awful.menu({ items = {
{ „Internet“, internetmenu, beautiful.awesome_icon },
{ „awesome“, myawesomemenu, beautiful.awesome_icon },
{ „open terminal“, terminal }
}
})

Das ergibt dann folgendes Menü:

Im ersten Moment mag das nicht so angenehm erscheinen. Was man da für einen Aufwand betreiben muss, um ein paar Menüpunkte einzufügen. Wäre da nicht der Punkt, dass lua eben eine Programmiersprache ist! Das bedeutet, man kann hier mit Funktionen hantieren und, zumindest gehe ich derzeit davon aus, so ein Menü auch automatisch erstellen lassen. Indem man bestimmte Verzeichnisse ausliesst und ähnliches. Wie weit da lua bei awesome funktioniert, muss ich noch herausfinden. Es gibt eine API dafür, die habe ich mir aber noch nicht angeschaut. Cool ist es aber auf alle Fälle! Dank lua kann man die rc.lua quasi voll dynamisch erstellen lassen und das ist irgendwie cool. Bliebe noch die Frage, ob und wann ich mich damit auseinandersetze. Abwarten!

So wäre es zum Beispiel auch möglich, dass man eine Funktion schreibt, welche per Zufall ein Bild in einem bestimmten Ordner als Hintergrund festlegt. Damit würde dann, bei jedem Neustart von awesome, immer ein anderes Bild erscheinen. Nur so als Beispiel.

Ich habe aber auch schon ein Problem bei awesome herausgefunden. Terminator, mein bevorzugter Terminal, will unter awesome nicht richtig laufen. Er startet zwar, aber das Fenster bleibt schwarz. Man kann das Fenster auch nicht wie gewohnt schliessen, sondern muss es richtig killen. Warum das so ist, habe ich bislang noch nicht herausgefunden.

Positiv aufgefallen ist mir, in der Titelleiste eines Fenster befinden sich rechts mehr Buttons, als bei eigentlich allen anderen WMs. Dort kann man zum Beispiel umschalten, wie sich ein Fenster verhält. Dort kann man zum Beispiel einem Fenster auch vorgeben, dass es fullscreen gezeigt werden soll. In dem Fall überlagert es auch die obige Leiste von awesome. Das kann auch ganz nützlich sein und bislang habe ich das so noch nicht gesehen!

Interessant finde ich bei der Konfiguration auch, man kann das Clock-Widget so zusammenbauen, wie man es persönlich haben möchte und auch gleich noch angeben, nach wie vielen Sekunden es aktualisiert werden soll. Ich bevorzuge es, das komplette Datum und die Zeit mit Sekunden angezeigt zu bekommen. Dafür habe ich diese Zeile

mytextclock = wibox.widget.textclock()

Für mich wie folgt abgeändert:

mytextclock = wibox.widget.textclock(“ %d.%m.%Y %H:%M:%S „, 1)

Damit erscheint bei mir Uhr und Datum nun so:

Da mir das aber ein bisschen zu gepresst aussieht, habe ich noch einen Bindestrich hinzugefügt:

mytextclock = wibox.widget.textclock(“ %d.%m.%Y – %H:%M:%S „, 1)

Nun sieht es so aus, was für mich absolut in Ordnung ist:

Um mal den ganzen Desktop zu zeigen, hier mal ein Bild der Totalen:

Bevor ich diesen ersten Artikel zu awesome beende sei noch eine Kleinigkeit zu bemerkten, die mir gerade erst aufgefallen ist. Anscheinend kann es vorkommen, dass bei mehreren geöffneten Fenstern auf einmal eins den Dienst quittiert und sich über die Titelleiste nicht mehr bewegen, oder anordnen lässt. Woran das liegt kann ich jetzt noch nicht sagen. Das werde ich aber wahrscheinlich herausfinden.

Was einen Leser natürlich auch interessieren könnte, sind folgende Angaben:

awesome Version: 4.2

OS: Gentoo Linux 64-Bit

Enlightenment, Orbit, Gnome3

Enlightenment

Verwendung findet die Version 0.21.7.

Ich muss sagen, dieser Desktop-Manager (oder ist es doch nur ein Window-Manager?) hat sich ganz schön gemausert. Zuletzt habe ich die Version E16 angetestet und fand die Bedienung eher fragwürdig. Mit E20 hat sich jedoch viel getan und meines Erachtens nach läuft läuft das Ding sehr gut! Sowohl unter X11, wie auch unter Wayland.

Da muss ich jedoch direkt anmerken, man merkt keinen Unterschied! Ich zumindest nicht! Auf dem NetBook könnte ich nicht aus dem Stehgreif sagen, unter welchem System der Manager läuft. Man kann es als positiv ansehen, aber auch als negativ bewerten. Nach dem, was man von Wayland so hört, sollte dieses System ja viel Ballast von X11 nicht mehr mitschleppen und alles in allem sollte man davon ausgehen können, es läuft etwas schneller. Doch Fehlanzeige! Egal was ich mache, es zeigt sich keinen Unterschied!

Getestet habe ich es auch auf meinem Laptop. Auch dort lief es von Start weg einwandfrei. Ich will jetzt nicht die Spezifikationen des Laptops aufschreiben, da es prinzipiell nur um die Performance geht und die habe ich anhand von Minetest und meiner Tochter getestet. Zu diesem Zweck habe ich darauf geachtet, dass am Spiel selbst nichts verändert wurde. Also keine Shader deaktiviert, oder ähnliches. Das Resultat ist wieder ernüchternd. Es tut sich nichts! Während unter X11 das Spiel zwischen 10 und 15 FPS schwankt, zeigt sich unter Wayland exakt das gleiche Bild.

Nun ist die Frage, liegt das daran, dass dieses Spiel X11 verlangt? Möglich. Auf jeden Fall bringt Wayland zum aktuellen Zeitpunkt nichts, wenn man mich fragt.

Ich kann aber immerhin behaupten, man kann auf jeden Fall problemlos mit Wayland arbeiten. Wie gesagt, es zeigt sich kein Unterschied, ob Enlightenment unter X läuft, oder Wayland. Das bewerte ich als positiv, denn sollte der Moment kommen, wo X11 zu Grabe getragen wird, muss man sich mit keinen nennenswerten Problemen herumschlagen!

Orbital

Orbital ist quasi eine Erweiterung für Weston. Ich musste es aus den Source bauen, da es für Gentoo zur Zeit noch kein ebuild dafür gibt. Ich wage es auch zu bezweifeln, dass es jemals den Einzug in Portage finden wird, denn wenn man es genau nimmt, dann ist es nicht notwendig. Es fügt Westen ein paar Kleinigkeiten hinzu. Eine Auswahl für den Desktop, oben in der Leiste neben den Icons und man kann mit einem Rechtsklick den Hintergrund ändern und Applets verwalten. Letzteres habe ich nicht ausprobiert. Es gilt jedoch das Gleiche wie bei Weston. Das Ding ist schnell! Schnell gestartet und alles geht wirklich zackig.

Allerdings gibt es auch ein Nachteil. Anscheinend funktionieren einige X11 Programme nicht ganz problemlos unter Weston/Orbital. Minetest zum Beispiel. Startet man es, dann verschwindet der Mouse-Pointer hinter dem Fenster. Man muss raten, um das Eingabefeld für das Passwort zu treffen. Hat man sich jedoch einmal eingeloggt, dann taucht das Bekannte X als Pointer auf.

Auch hier habe ich am Laptop getestet. 15 bis 17 FPS. Eigentlich schade, denn ich wäre davon ausgegangen, unter dem Manager müsste das Spiel flutschen. Aber nein. Zum Vergleich, mit X11 und Fluxbox bringt es Minetest auf 20-22 FPS. Wenn man dann noch bedenkt, dass Fluxbox um einiges funktionaler ist, als Weston/Orbital. fällt es schon schwer auf Wayland zu setzen.

Gnome3

Damit habe ich echte Schwierigkeiten! Okay. Es läuft unter Wayland. Aber, meine Mouse kann nicht klicken! Ich kann sie bewegen, aber keine Taste funktioniert! Zumindest vom Touchpad meines NetBooks. Auf dem Laptop habe ich es bislang nicht ausprobiert und habe auch so noch nicht viel damit experimentiert. Wie auch, denn ohne Mouse ist die Sache schon schwierig. Von daher kann ich zu seiner Leistung nichts sagen.

Es ist eigentlich schade, denn Gnome3 hatte ich vor Mate auch auf meinem Desktop laufen und hätte Vergleiche ziehen können. Vielleicht installiere ich es doch noch auf dem Laptop, aber derzeit hat mich das so frustriert, dass meine Motivation etwas im Keller ist.

Fazit

Aktuell würde ich sagen, man kann auf Wayland umsteigen. Einen Argument dafür finde ich jedoch nicht. X11 läuft bei mir seit Jahren problemlos. Auch die Netzwerktransparenz ist eigentlich ein Argument gegen Wayland. Ich kann eigentlich nur sagen, wer unbedingt umsteigen will, dem sollte nichts im Wege stehen. Wer es mal testen möchte, es funktioniert ganz hervorragend neben X11. Die kommen sich kein Stück in die Quere. Ich für meinen Teil bleibe aber definitiv bei X11, solange ich die Möglichkeit dazu habe. Auf dem NetBook werde ich Wayland aber weiter betreiben und weiter experimentieren. Vielleicht findet sich ja noch ein Argument für einen Umstieg. Aktuell wage ich es jedoch stark zu bezweifeln!

Wayland Einführung

Zuerst muss ich sagen, ich bin kein Freund von Wayland. Prinzipiell ist es mir zwar egal, was unter der GUI werkelt, aber Wayland fehlt etwas, was ich eigentlich ziemlich oft benutze. Die Netzwerktransparenz. Also das starten eines Programms auf einem ferngesteuerten Computer, während die Oberfläche des Programms bei mir auf dem Rechner angezeigt wird. Ich bekomme zwar immer wieder gesagt, dass dieses Feature veraltet, langsam und nicht besonders toll sei, ich nutze es aber in der Tat ziemlich häufig. Wayland schneidet diese Möglichkeit nun ab, was für mich ein starkes Gegenargument für Wayland ist. Weiterhin fehlt ja nach wie vor die Unterstützung des propritären Nvidia-Treibers. Dieser Fakt wird zwar mit Sicherheit bald keiner mehr sein, bislang ist er jedoch ebenfalls ein klares Gegenargument.

Warum versuche ich dennoch, Wayland zum Einsatz zu bringen? Nun, alle Zeichen deuten darauf hin, dass früher, oder später, Wayland zum Standard wird. Wenn dem so sein sollte, will ich nicht unvorbereitet dastehen. Als Testplattform nutze ich jedoch nicht meinen Desktop-Rechner, sondern mein NetBook. Wenn ich da etwas kaputt mache, dann ist es halb so schlimm und stört meine Arbeit nicht. Weiterhin wird auch mein Laptop ein Wayland spendiert bekommen. Damit will ich testen, wie sich das neue System bei Minetest schlägt und setze meine Tochter als Testpiloten ein. Sie ist relativ kritisch, was die FPS angeht, so dass ich einen objektiveren Blick auf die Geschichte bekomme.

NetBook:

Asus eeePC 1016PGo

  • Display
    10.1″ LED Backlight WSVGA (1024×600) Screen
  • CPU
    Intel® Atom™ N455 Processor
  • Chipset
    Intel® NM10 Express Chipset
  • Memory
    DDR3, 1 x SO-DIMM, 1GB ( Maximum 2GB )
  • Storage
    2.5″ SATA 160GB/250GB/320GB HDD *1
  • Wireless Data Network
    WLAN 802.11 b/g/n@2.4GHz*1
    Bluetooth V3.0+HS*1
  • Camera
    0.3 M Pixel Camera
  • Audio
    Hi-Definition Audio CODEC
    Stereo Speakers
    High Quality Mic

Die Daten stammen von der ASUS-Webseite.

Als Betriebssystem kommt Gentoo Linux in der 32-Bit Version zum Einsatz

Kernel: 4.15.1 (zum Beginn der Umstellung)

;