Linux-Vorteile nutzen: Programme automatisch auf verschiedene Arbeitsflächen verteilen

10. März 2014

Wer öfters mit vielen Fenstern hantiert, weiß den Vorteil zu schätzen: Bei Linux-Oberflächen gehören die sogenannten virtuellen Desktops zum Standard. Windows lässt dieses Feature weiterhin vermissen und bei Mac OS hat man erst vor ein paar Jahren zu Linux aufgeschlossen. Doch richtig genial wird diese Funktion erst, wenn man Fenster auch automatisch den verschiedenen virtuellen Bildschirmen zuweisen lässt. Eine Übersicht.

Die Möglichkeit, die offenen Fenster im Blick und damit die Übersicht auf dem Desktop zu behalten, wird durch viele Ideen bestimmt: Taskleisten, Fensterlisten, das Gruppieren von gleichen Anwendungen in nur einem Tab in der Taskleiste, Exposé-Ansichten, Panel/Dock-Indikatoren – viele Wege führen nach Rom.

Doch Linux bietet von Haus aus eines der übersichtlichsten Konzepte an: die virtuellen Arbeitsflächen. Dieses Feature wurde bereits mit dem Amiga und OS/2 verwirklicht und bei CDE, der alten Unix-GUI, in der heute bekannten Form populär – und das Konzept wurde von den späteren Linuxoberflächen, die sich wie z.B. XFCE oder KDE mitunter stark an CDE orientierten, geradezu geschlossen übernommen. Von KDE über Gnome bis hin zu den Fenstermanagern – alle bieten von Haus aus die Möglichkeit an, die Sicht auf den Desktop wieder freizulegen, nicht, indem wie von Windows bekannt alle offenen Fenster minimiert werden (was natürlich auch ginge), sondern indem einfach auf den nächsten freien Desktop gewechselt wird.


Das Vorbild: Arbeitsflächenumschalter in CDE. Bild lizenziert unter LGPL 2.1

Selbst Gnome, das dem Gedanken der Reduzierung aufs Wesentliche folgt, hat das Feature in der Gnome-Shell nicht gestrichen, sondern im Gegenteil sogar noch ausgebaut und prominenter zum Einsatz gebracht. Auch Mac OS X hat seit einigen Jahren virtuelle Arbeitsflächen unter dem Namen „Spaces“ (mittlerweile aufgegangen in „Mission Control“) integriert, und für Windows gibt es Zusatzprogramme, die diese fehlende Funktion nachrüsten.

Automatische Fensterplatzierung

Doch richtig ausspielen wird man die Funktion erst, wenn man das Fensterverhalten teilweise automatisiert, man nicht nur manuell die jeweiligen Arbeitsflächen benutzt, wenn etwa Desktop 1 schon überfüllt ist mit Fenstern, sondern wenn man von vornherein bestimmte Anwendungen auf bestimmten Arbeitsflächen starten lässt. Praktische Gründe dafür kann es, neben der generellen Übersichtlichkeit, viele geben.

Ein häufiges Szenario besteht darin, dass Programme ungewollt die Aufmerksamkeit auf sich ziehen. So kann es beim konzentrierten Tippen sehr nervig sein, wenn sich ein Chatfenster in den Fokus schiebt und man unabsichtlich den Text auf einmal einem Chatpartner statt der Textverarbeitung mitgeteilt hat. Statt den Messenger beim Schreiben oder Videoschauen ganz auszulassen, kann man ihn stattdessen einfach auf einen eigenen Desktop verbannen – hier können sich die Chatfenster nun in Ruhe austoben, ohne den Arbeitsfluss auf Desktop 1 zu stören.

Ein weiterer Anwendungsfall ist, trotz Taskleiste die Übersicht zu behalten, wenn ein Programm aus sehr vielen Unterfenstern besteht. So könnte man etwa Gimp mit seinen vielen Einzelfenstern anweisen, stets Desktop 3 zu wählen – damit sich ein Bild nicht auf Desktop 2 öffnet, während die Toolbox noch auf Desktop Nr. 3 klebt. Andere wiederum schätzen das Trennen nach Aufgabengebieten (z.B. Internet – Multimedia – Programmieren – Bildbearbeitung usw.) und sortieren sich ihre Desktops entsprechend.

Mal einfacher, mal schwieriger

Nahezu alle Linux-Desktopumgebungen und -Fenstermanager bieten virtuelle Desktops, aber nicht alle auch eine Automatisierung selbiger. Doch es gibt auch für diesen Fall Lösungen.

KDE
Bei KDEwer hätte es anders erwartet – ist die Funktion natürlich schon eingebaut, KDEs eigener Fenstermanager KWin bietet bequem über die Einstellungen die Möglichkeit, bestimmten Programmen eine bestimmte Arbeitsfläche zuzuweisen. Ein Kontextklick auf die Titelleiste eines Fensters führt über den Eintrag Erweitert zur anwendungsspezifischen Konfiguration.


Über einen Rechtsklick auf die Titelleiste …


… kann man das Fensterverhalten permanent ändern.

Auf diese Weise lässt sich ganz einfach ein Programm dauerhaft einer bestimmten Arbeitsfläche zuordnen.

Gnome
Die Gnome-Shell selbst verfügt über keine Funktionen der automatischen Fensterverwaltung, abgesehen davon, dass sich beim Benutzen einer neuen Arbeitsfläche automatisch eine weitere bereitstellt. Allerdings gibt es eine entsprechende Erweiterung. Auto Move Windows macht genau das, was der Name verspricht.


Gnome-Shell-Erweiterung Auto Move Windows

Die Konfiguration ist übersichtlich, bequem und idiotensicher, allerdings auch eingeschränkt – eigene Regeln lassen sich nicht definieren, nur vorgegebene Anwendungen auswählen. Leider werden nicht alle installierten Anwendungen in der Liste aufgeführt.

XFCE
XFCE bietet von Haus aus keine Möglichkkeit der automatischen Fensterplatzierung.

Openbox, Fluxbox, PekWM
Deutlich besser schneiden die meisten der kleinen Fenstermanager ab. Openbox, Fluxbox oder auch PekWM bringen die automatisierte Arbeitsflächenverwaltung ebenfalls bereits standardmäßig mit, allerdings ist hier Handarbeit, sprich das Editieren von Textdateien angesagt. Bei Openbox werden die gewünschten Programme in die Datei /.config/openbox/rc.xml im Abschnitt applications eingetragen. Ein Eintrag für den Messenger Pidgin könnte z.B. so aussehen:

<application name="Pidgin" class="Pidgin"><desktop>2</desktop><layer>normal</layer> <maximized>false</maximized> </application>

Bei Fluxbox ist die Datei /.fluxbox/apps zu verwenden, hier würde ein Eintrag so aussehen (die 1 bedeutet in diesem Fall Desktop Nr. 2, denn Fluxbox zählt die Null mit):

[app] (name=Pidgin) [Workspace] {1} [end]

PekWM schließlich nutzt die Datei /.pekwm/autoproperties für die fensterspezifischen Einstellungen. So sieht ein diesbezüglicher Eintrag aus:

Property = "^pidgin,^Pidgin" { ApplyOn = "Start New" Workspace = "2" }

Beispiele für Konfigurationen sind außerdem direkt in den jeweiligen Dateien bereits vorhanden, sie lassen sich als Vorlage nutzen und nach eigenen Wünschen modifizieren. Um herauszubekommen, mit welchem Namen sich ein Programm beim Fenstermanager meldet, kann folgender Befehl im Terminal verwendet werden:

xprop | grep WM_CLASS\(STRING\)

Der Mauszeiger verwandelt sich danach in ein Fadenkreuz, und man kann das gewünschte Programm anklicken, um als Ergebnis die richtige Bezeichnung zu erhalten.

LXDE
Da LXDE als Fenstermanager Openbox verwendet, gilt hier fast das Gleiche wie für bei Openbox Gesagtem, durch Editieren der Datei /.config/openbox/lxde-rc.xml konfiguriert man die automatische Fensterverwaltung. Ein graphisches Konfigurationswerkzeug wird von LXDE nicht bereitgestellt.

Workaround und Nachrüstung

Aber was tun, wenn wie bei XFCE oder Gnome keine bzw. keine befriedigende Lösung bereitsteht? Verzichten muss man deswegen nicht auf diese Funktion. Wenn eine Oberfläche virtuelle Arbeitsflächen anbietet, dann kann man sie auch fit machen für die automatische Platzierung.

Einerseits kann man einfach den Fenstermanager auswechseln. Für XFCE bieten sich z.B. Openbox oder KWin an. Auf die Schnelle geht das mit den folgenden Befehlen

openbox --replace bzw. kwin --replace

Anschließend lässt sich die Fensterverwaltung wie oben beschrieben konfigurieren. Bei der Gnome-Shell funktioniert das nicht mehr, da Gnome den Fenstermanager und die Oberfläche fest miteinander verdrahtet hat. Das Austauschen des Fenstermanagers ist bei Gnome 3 nicht mehr möglich. In diesem Fall hilft die Verwendung einer dienstebasierten Umsetzung:

Devil’s Pie

Dieser kleine Helfer ist teuflisch gut, denn er funktioniert sowohl desktopübergreifend als auch unabhängig vom eingesetzten Fenstermanager. Das heißt, wer gelegentlich die Linuxoberflächen wechselt, findet in dieser Lösung die ideale Umsetzung für das automatische Fensterverwalten. Devils’ Pie läuft als Dienst im Hintergrund und ergänzt den laufenden Fenstermanager um die entsprechenden Automatismen. Eine Konfigurationsdatei für Pidgin würde z.B. als /.devilspie/pidgin.ds angelegt werden und folgenden Inhalt haben:

; Pidgin immer auf Desktop 2 schicken (if (is (application_name) "Pidgin") (set_workspace 2) )

Mit dem Werkzeug gDevilspie lassen sich die Regeln auch graphisch verwalten.


Graphische Devil’s-Pie-Konfiguration

Devil’s Pie ist in den meisten Distributionen in den Softwarequellen verfügbar, nach der Installation sollte ein Autostarteintrag für devilspie angelegt werden, sofern keiner automatisch generiert wurde.

Ubuntu/Unity
Auch in Unity hat man die Möglichkeit der automatischen Fensterplatzierung, Ubuntu hat diese Option allerdings gut versteckt. Die Einstellungen sind verfügbar, standardmäßig aber weder aktiviert noch installiert – aber durchaus komfortabel zu bedienen, wenn sie erst einmal eingerichtet sind. Eine genaue Anleitung findet sich in einem eigenen Beitrag: Auch für Unity – Virtuelle Arbeitsflächen und automatisch sortierte Programmfenster. Devil’s Pie oder andere Fenstermanager funktionieren mit Unity nicht.


aus der Kategorie: / Tipps & Tricks /

---

Kommentare

Jaja und häufig vergisst man dann, dass das Chatfenster auch noch da ist. :-D

— Das Opfer · 11. März 2014, 00:16

i3 oder xmonad; einmal eingearbeitet will man nichts anderes mehr.

— somethingGNU · 11. März 2014, 01:09

Schöner und hilfreicher Artikel – selbst nach 15 Jahren Linux lernt man nicht aus!
;-)

Gibt es denn auch eine spezielle Lösung für Unity?

— Heiner · 11. März 2014, 08:44

Auch von mir herzlichen Dank für den Artikel und die mögliche Unitylösung würde mich auch interessieren.

— Legekääse · 11. März 2014, 13:15

Für Unity benutzt man CCSM. Im Abschnitt “Fenterverwaltung” den Punkt “Fenster platzieren” wählen. In der Registerkarte “Fixed Window Placement” können die Fensterklassen auf der entsprechenden Arbeitsfläche (viewport) oder xy-Position platziert werden.

— Robert Schreiner · 11. März 2014, 15:09

Ich habe meistenst wenige Fenster im Ubuntu aufgemacht da reichte das untere Panel aus um einige Fenster zu verbergen auch konnte ich einige Fenster schließen Frage an Pinguinzubehör wo gibts eingentlich in Unity Beenden erzwingen bei kaputten Prgs?

— Ralle · 11. März 2014, 19:08

Und ne 2.Frage an Pinguinzubehör wie kann ich bei Unity diese Verschiedene Fenster per Bildschirmfotografie fotografieren oder wird bei Untiy nur das aktive Fenster fotografiert mit Rahmen oder ohne -Einstellungen bei Unity jenes Fensterthema paßt gleich

— Ralle · 11. März 2014, 19:18

.. jenes Fensterthema paßt gleich hintern den Desktopthema den Vergleich zum O/2 und Amiga finde ich interessant man sollte ein Compuseum gründen im Knetfeder als Web was hat s erhalten von damals usw ich war erstaunt über die Kritiken alles Lob!

— Ralle · 11. März 2014, 19:29

Hey, klasse, zusätzlich installierbare Software erleichtert mit den automatisierten Wechsel zwischen virtuellen Desktops. Cool! :) Darum nutze ich Linux!

….oh, warte. Das kann Windows ja auch. Aber egal, weil das ja closed source und bäh ist, ist das trotzdem ein “Linux-Vorteil”.

Die Funktion wurde vielleicht für Linux-Desktops erfunden, aber ein besonderer Vorteil ist das echt nicht mehr, solange man nicht irgendwelche speziellen Funktionen braucht, die Dexpot oder ein anderes Win-Tool für die Aufgabe nicht bietet.
Trotzdem: Ich nutze es auch am liebsten mit i3 oder PekWM :)

@somethingGNU: Doch, PekWM. Danach wurde mir i3 zu anstrengend, und Openbox hat mir auch keinen Spaß mehr gemacht ^^

— Georg · 11. März 2014, 20:29

(anonymes Kommentieren möglich,
es gibt keine Pflichtfelder!)
Textile-Hilfe für Formatierungen
 

Datenschutzhinweis: Durch das Absenden werden die angegebenen Daten dauerhaft in einer Datenbank gespeichert und veröffentlicht. In der Datenbank wird zudem die beim Zugriff verwendete IP-Adresse sowie der Zeitpunkt des Zugriffs gespeichert. Weitere Hinweise zum Datenschutz

Anzeige