Solución:
Puede utilizar wmctrl.
Comandos básicos:
wmctrl -d
para mostrar todos sus espacios de trabajo.
wmctrl -s <workspace_name>
para cambiar a un espacio de trabajo específico.
Si está utilizando Compiz, tendrá que hacer un truco porque los “espacios de trabajo” de Compiz son en realidad Viewports de un solo espacio de trabajo.
Instrucciones de truco
Compruebe la salida de wmctrl -d
Por ejemplo, el mío es:
0 * DG: 4098x2304 VP: 1366,0 WA: 0,23 1366x745 N/A
Esto significa que en realidad tengo un espacio de trabajo de 4098 x 2304 en lugar de lo que “creo” que tengo (nueve “espacios de trabajo”, 3 x 3).
Estaba en lo que se suponía que era el “espacio de trabajo” 2, pero en realidad estaba en la ventana gráfica (VP) 1366,0 (4098/3 = 1366) como se muestra en el resultado anterior.
Así es como funciona: tomamos todo el espacio de trabajo y lo dividimos por el número de “espacios de trabajo” que “creemos” que tenemos. En mi caso: 4098/3 = 1366 y 2304/3 = 768.
Si quiero ir a mi “espacio de trabajo” 1, el comando es:
wmctrl -o 0,0
Entonces, si quiero ir a mi “espacio de trabajo” 4, el comando es:
wmctrl -o 0,768
Si quiero ir a mi “espacio de trabajo” 8, el comando es:
wmctrl -o 1366,1536
Si quiero ir a mi “espacio de trabajo” 9, el comando es:
wmctrl -o 2732,1536
¿Entiendo? 😉
los -o
bandera “trunca” sus valores. En otras palabras, cambia el “espacio de trabajo” al que pertenece el píxel real. Los siguientes son equivalentes:
wmctrl -o 0,0
wmctrl -o 1365,767
Es maravillosamente simple lograr lo que quieres con xdotool
, que tiene múltiples opciones para administrar diferentes espacios de trabajo (también conocidos como ‘escritorios’ dentro de la documentación del programa). Encuentro que puede ser muy interesante y creativo encadenar comandos de man xdotool
; los comandos que he formulado a continuación pueden ser útiles en los scripts.
Nota: Con algunos administradores de ventanas, o si está utilizando compiz
, es posible que deba usar xdotool
comandos como set_desktop_viewport
y get_desktop_viewport
. Es posible que deba especificar los comandos de una manera diferente, como sugiere desgua anteriormente, pero para mí el set_desktop
y set_desktop_for_window
Los comandos demostraron ser más útiles en un sistema que no es compiz.)
(La solución es más útil para los usuarios de Xubuntu / Lubuntu, o aquellos que no están ejecutando compiz, etc.)
Para enumerar la cantidad de espacios de trabajo actuales, ingrese
xdotool get_num_desktops
Los siguientes comandos solo funcionarán si tiene al menos 1 espacio de trabajo más.
Para cambiar el enfoque a su espacio de trabajo 1, simplemente ingrese
xdotool set_desktop 1
Luego, para volver al espacio de trabajo predeterminado, ingrese
xdotool set_desktop 0
El espacio de trabajo solo debe especificarse como el último valor en el comando (1 o 2 o 3, etc.).
Para encontrar el número del espacio de trabajo en el que se encuentra actualmente, puede usar
xdotool get_desktop
Estos comandos podrían usarse en scripts y deberían ser muy útiles para lograr lo que quieres.
Para saber cómo cambiar aplicaciones a un escritorio en particular, vea mi respuesta aquí:
- cómo cambiar las aplicaciones del espacio de trabajo 1 al 2 usando el comando
Para obtener más opciones útiles disponibles para el cambio de espacio de trabajo, consulte man xdotool
.