wmctrl para una pantalla remota

wmctrl para una pantalla remota

Si quiero usar wmctrl para otra pantalla, ¿cuál es la línea de comando para hacerlo?

Algo como: su nombre de usuario -c "DISPLAY:50 wmtrl -r :ACTIVE: -b toggle,fullscreen" no funcionó

Gracias. Estoy ejecutando ubuntu 12.04.

Respuesta1

Hay varias razones por las que el comando anterior no puede funcionar.

  1. Debería ser wmctrl, no wmtrl.

  2. Debería ser

           su -c command username
    

    en lugar desu username-c command

  3. No podríanoser una ventana activa en la sesión del otro usuario.

  4. Pero lo más importante sues que está diseñado para cambiar de usuario de la ventana de texto actual dentro de una GUI, no de ninguna otra ventana. Por ejemplo, elsu manualestados:

... cuando se usa su en una ventana de terminal (es decir, una ventana de solo texto en una GUI), solo esa ventana de terminal y los programas que se inician desde ella se ejecutan con la cuenta del nuevo usuario (por ejemplo, raíz), .. .

La forma correcta de realizar algo como lo que tienes en mente es hablar con el servidor X del otro usuario, algo contra lo cual, sin embargo, todas las sesiones X están bien equipadas. Por ejemplo, si ha iniciado sesión sshen una máquina remota como usuario A, B debe permitirle hacerlo mediante

     xhost +

y luego podrás acceder a su sesión X mediante

    export DISPLAY=:0.0 

y ahora tu orden,

     wmctrl -r :ACTIVE: -b toggle,fullscreen

trabajará.

Si lo único que quieres es compartir una terminal con otro usuario, para que pueda ver lo que estás escribiendo, entonces debes instalar screen, iniciar una sesión con screen, presionar la secuencia de escape Ctrl+A, luego dar los dos comandos multiuser ony acladd B. Ahora el usuario B puede unirse a su sesión de pantalla mediante screen -x A/.

Por último, su pregunta parece estar relacionada con un problema multi seat arrangement. Estos son extremadamente raros y no tengo uno para probar la solución. ¿Estás realmente en una de estas situaciones? Si es así, probablemente valdría la pena especificarlo en el título de su OP, ya que esto requiere conocimiento de una configuración no tan frecuente.

Pero en todo caso,más probable(= No tengo una disposición de varios asientos para probar esto), puedes lograrlo mediante el mismo método que para la sshconexión, excepto que en este caso el usuario B debe emitir el comando:

     xhost +SI:localuser:A

otorgándole acceso a su pantalla.

información relacionada