¿Cómo puedo obtener información sobre mis escritorios virtuales a través de la línea de comando?

¿Cómo puedo obtener información sobre mis escritorios virtuales a través de la línea de comando?

Tengo curiosidad por saber cómo puedo obtener información como las dimensiones de mi escritorio, qué escritorio está activo actualmente y qué etiquetas (si las hay) están configuradas para mi entorno de escritorio (DE).

Respuesta1

Usando la herramienta wmctrlpuedes obtener toda la información anterior, específicamente el -dinterruptor.

Ejemplo

$ 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

Detalles

Se genera una línea para cada escritorio, con la línea dividida en columnas separadas por espacios.

  • La primera columna contiene un número de escritorio entero.
  • La segunda columna contiene un carácter '*' para el escritorio actual; de lo contrario, contiene un carácter '-'.
  • Las dos columnas siguientes contienen la cadena fija DG: y luego la geometría del escritorio como 'x' (por ejemplo, '1280x1024').
  • Las dos columnas siguientes contienen la cadena fija VP: y luego la posición de la ventana gráfica en el formato ',' (por ejemplo, '0,0').
  • Las siguientes tres columnas contienen la cadena fija WA: y luego dos columnas con la geometría del área de trabajo como 'X,Y y WxH' (por ejemplo, '0,0 1280x998').
  • El resto de la línea contiene el nombre del escritorio (posiblemente con varios espacios).

Cosas extra interesantes que puedes hacer con wmctrl

enumerar información sobre el Administrador de ventanas

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

listar ventanas activas

$ 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

Se genera una línea para cada ventana, con la línea dividida en columnas separadas por espacios.

  • La primera columna siempre contiene la identidad de la ventana como un número entero hexadecimal.
  • La segunda columna siempre contiene el número del escritorio (se utiliza un -1 para identificar una ventana fija).
  • Si -pse especifica la opción, la siguiente columna contendrá el PID de la ventana como un entero decimal.
  • Si -Gse especifica la opción, seguirán cuatro columnas de números enteros: desplazamiento x, desplazamiento y, ancho y alto.
  • La siguiente columna siempre contiene el nombre de la máquina cliente.
  • El resto de la línea contiene el título de la ventana (posiblemente con varios espacios en el título).

-pejemplo de cambio

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

-Gejemplo de cambio

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

*NOTA:¡ Los interruptores -py -Gtambién se pueden combinar!

cambiar a un escritorio diferente

$ wmctrl -s 2

NOTA:Los escritorios están numerados comenzando en 0, por lo que 1 sería el 2º.

reducir el número de escritorios

$ wmctrl -n 3

Ahora tenemos 3 en lugar de 4.

$ wmctrl -d | wc -l
3

Ahora vuelve a ponerlo en 4.

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

cerrando una ventana

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

$ wmctrl -c GVIM

$ wmctrl -l | grep GVIM
$ 

información relacionada