Respuestas:
Si está utilizando compiz, esto será un poco más difícil.
editar: esto ahora funciona con y sin compiz, finalmente ...
Escribí un "pequeño" script de Python para hacerlo:
#!/usr/bin/python
from subprocess import Popen, PIPE
getoutput = lambda x: Popen(x, stdout=PIPE).communicate()[0]
compiz_running = list(i for i in getoutput(("ps", "-aef", )).split("\n")
if "compiz --replace" in i and not "grep" in i) != []
if compiz_running:
# get the position of the current workspace
ws = list(int(i.strip(",")) for i in getoutput(("xprop", "-root",
"-notype", "_NET_DESKTOP_VIEWPORT", )).split()[-2:])
# get the number of horizontal and vertical workspaces
hsize = int(getoutput(("gconftool",
"--get", "/apps/compiz/general/screen0/options/hsize", )))
vsize = int(getoutput(("gconftool",
"--get", "/apps/compiz/general/screen0/options/vsize", )))
# get the dimentions of a single workspace
x, y = list(int(i) for i in getoutput(("xwininfo", "-root",
"-stats", )).split("geometry ")[1].split("+")[0].split("x"))
# enumerate workspaces
workspaces, n = [], 0
for j in range(vsize):
for i in range(hsize):
workspaces.append([n, [x*i, y*j, ], ])
n += 1
print list(i for i in workspaces if i[1] == ws)[0][0]
# if compiz is not running
else: # this code via @DoR
print getoutput(("xdotool", "get_desktop", )).strip()
Guarde esto en algún lugar y márquelo como ejecutable. Esto generará solo un número entre 0
y el número de espacios de trabajo.
Así es como se ve la enumeración:
+---+---+
| 0 | 1 |
+---+---+
| 2 | 3 |
+---+---+
Tienes que instalar xdotool para que esto funcione en caso de que compiz esté deshabilitado.
Sin instalar nada y si está usando metacity, puede usar esto:
python -c "import wnck; s=wnck.screen_get_default(); s.force_update(); w=s.get_active_workspace(); w_num=w.get_number(); print(w_num);" 2>/dev/null
Parece que con Unity, la respuesta aceptada
xdotool get_desktop_viewport
no funciona, siempre devuelve 0. Supongo que la pantalla está configurada como una ventana muy grande de la cual solo una parte es visible. La alternativa es un poco complicada ya que debes conocer el tamaño de tu espacio de trabajo. Es decir:
xdotool get_desktop_viewport
devolverá algo así como "1600 0" si está en el espacio de trabajo superior derecho. El primer número es probablemente el ancho de la pantalla más grande que tiene.