Hace tiempo que andaba buscando una forma de conseguir abrir una nueva sesión de usuario dentro de una ventana como si de otro programa se tratase evitando tener que cambiar de terminal (TTY) para poder acceder a ella.
Esta posibilidad la vi en una de las versiones de Guadalinex que tuvimos en los centros TIC pero que desapareció en las últimas versiones (en la V3 ya no aparecía) y estaba echando realmente en falta.
Resulta muy útil cuando tenemos que acceder a los datos de otro usuario o necesitamos hacer algo como root sin tener que recurrir a la terminal en modo texto.
Por fortuna he encontrado un hueco para investigar sobre el tema y he optado por ofreceros los frutos de dicha investigación por si alguno lo considera útil y/o de interés.
Preparando todo lo necesario
Instalación
Lo primero que debemos asegurarnos es que tenemos instalado en el equipo el paquete xnest y para ello nada mejor que buscarlo en Synaptic o lanzar desde la terminal un
sudo apt-get install xnest
Configuración
Básicamente lo que vamos a hacer es definir la resolución de la ventana en la que aparecerá nuestra nueva sesión. En mi caso, al tener la pantalla a 1024×768 voy a poner las dimensiones de la ventana a 800×600 (la inmediatamente inferior) para poder trabajar cómodamente con ella.
Debemos modificar (como root) el fichero /etc/gdm/gdm.conf-custom e incluir bajo la entrada [daemon] la siguiente cadena
Xnest=/usr/X11R6/bin/Xnest -audit 0 -name Xnest -geometry 800×600+0+0
NOTA: observa el 800×600 del final, si quieres otra resolución no tienes más que cambiar esos dos números por los adecuados.
Activar los cambios
Podríamos reiniciar el equipo para que el servidor X11 tomase los nuevos valores pero es mucho más rápido y cómodo ejecutar desde la terminal un
sudo gdmflexiserver –command=»UPDATE_CONFIG daemon/xnest
Crear sesiones de usuario en ventana
Para ello nada más sencillo que lanzar desde una terminal un
gdmflexiserver –xnest
Conclusión
Forma cómoda de anidar sesiones gráficas unas dentro de otras.
Para facilitar su uso y evitar tener que estar abriendo terminales recomiendo crear una entrada de menú o un acceso directo con el comando anterior. De este modo solo tendréis que pinchar sobre él para abrir nuevas sesiones.
Queda por resolver un problema con el refresco de la ventana: cuando se minimiza o se coloca otra ventana sobre la de xnest ésta queda «sucia» al no refrescar convenientemente su contenido.
Dejaré el estudio de una posible solución para más tarde pues ahora carezco de ese tiempo. Si alguien sabe cómo solucionarlo agradeceríamos que se publicase la solución en los comentarios o un enlace a alguna página donde lo expliquen.
Espero que sea de vuestro agrado.