Wie kann ich über die Kommandozeile Informationen zu meinen virtuellen Desktops abrufen?

Wie kann ich über die Kommandozeile Informationen zu meinen virtuellen Desktops abrufen?

Mich würde interessieren, wie ich Informationen wie die Abmessungen meines Desktops, welcher Desktop gerade aktiv ist und welche Bezeichnungen (sofern vorhanden) für meine Desktopumgebung (DE) festgelegt sind, abrufen kann.

Antwort1

Mit dem Tool wmctrlkönnen Sie alle oben genannten Informationen, insbesondere den -dSchalter, abrufen.

Beispiel

$ wmctrl -d
0  * DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  Workspace 1
1  - DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  
2  - DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  N/A
3  - DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  N/A

Einzelheiten

Für jeden Desktop wird eine Zeile ausgegeben, wobei die Zeile in durch Leerzeichen getrennte Spalten unterteilt ist.

  • Die erste Spalte enthält eine ganzzahlige Desktopnummer.
  • Die zweite Spalte enthält ein „*“-Zeichen für den aktuellen Desktop, andernfalls ein „-“-Zeichen.
  • Die nächsten beiden Spalten enthalten die feste Zeichenfolge DG: und dann die Desktop-Geometrie als „x“ (z. B. „1280 x 1024“).
  • Die folgenden beiden Spalten enthalten die feste Zeichenfolge VP: und dann die Ansichtsfensterposition im Format ',' (z. B. '0,0').
  • Die nächsten drei Spalten danach enthalten die feste Zeichenfolge WA: und dann zwei Spalten mit der Arbeitsbereichsgeometrie als „X, Y und B x H“ (z. B. „0,0 1280 x 998“).
  • Der Rest der Zeile enthält den Namen des Desktops (möglicherweise mit mehreren Leerzeichen).

Besonders coole Dinge, die Sie mit wmctrl tun können

Liste mit Informationen zum Fenster-Manager

$ wmctrl -m
Name: compiz
Class: N/A
PID: N/A
Window manager's "showing the desktop" mode: OFF

Liste der aktiven Fenster

$ wmctrl -l
0x00c00028 -1 grinchy Top Expanded Edge Panel
0x0120001e  0 grinchy x-nautilus-desktop
0x06015fee  0 grinchy saml@grinchy:~
0x06000004  0 grinchy saml@grinchy:~
0x05a000d1  0 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome

Für jedes Fenster wird eine Zeile ausgegeben, die in durch Leerzeichen getrennte Spalten unterteilt ist.

  • Die erste Spalte enthält immer die Fensteridentität als hexadezimale Ganzzahl.
  • Die zweite Spalte enthält immer die Desktopnummer (eine -1 wird verwendet, um ein Sticky Window zu identifizieren).
  • Wenn die -pOption angegeben ist, enthält die nächste Spalte die PID für das Fenster als Dezimalzahl.
  • Wenn die -GOption angegeben ist, folgen vier ganzzahlige Spalten: X-Offset, Y-Offset, Breite und Höhe.
  • Die nächste Spalte enthält immer den Namen des Client-Rechners.
  • Der Rest der Zeile enthält den Fenstertitel (ggf. mit mehreren Leerzeichen im Titel).

-pSwitch-Beispiel

0x06015fee  0 3278   grinchy saml@grinchy:~
0x06000004  0 3278   grinchy saml@grinchy:~
0x05a000d1  0 4676   grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome

-GSwitch-Beispiel

0x06015fee  0 3378 128  941  361  grinchy saml@grinchy:~
0x06000004  0 900  142  947  397  grinchy saml@grinchy:~
0x05a000d1  0 0    50   1440 826  grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome

*NOTIZ:Die -pund -GSchalter sind auch kombinierbar!

Wechseln zu einem anderen Desktop

$ wmctrl -s 2

NOTIZ:Die Nummerierung der Desktops beginnt bei 0, 1 wäre also der zweite.

Reduzieren Sie die Anzahl der Desktops

$ wmctrl -n 3

Wir haben jetzt 3 statt 4.

$ wmctrl -d | wc -l
3

Stellen Sie es nun wieder auf 4 ein.

$ wmctrl -n 4
$ wmctrl -d | wc -l
4

Schließen eines Fensters

$ wmctrl -l | grep GVIM
0x02a00003  0 grinchy [No Name] - GVIM

$ wmctrl -c GVIM

$ wmctrl -l | grep GVIM
$ 

verwandte Informationen