[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[SOLUCIONADO] clonar una ventana en Xwindows



On Saturday October 1 2011, Carlos Zuniga <carlos.zun@gmail.com> wrote:

> 2011/9/30 Luis Felipe Tabera <lftabera@yahoo.es>:

> > Tengo un problema que no se muy bien como resolver en un aula. Tengo un

> > ordenador conectado a un proyector externo. Actualmente uso kde4 con

> > debian testing. El sistema reconoce automáticamente el monitor externo y

> > puedo trabajar con ambos monitores a la vez sin problemas. Bien clonando

> > la imagen o con un escritorio virtual abarcando las dos pantallas.

> >

> > Lo que me gustaría hacer es conseguir que algunas ventanas elegidas por

> > mi se vean en las dos pantallas y otras solo en la pantalla del

> > ordenador.

>

> Una solución simple es usar el programa xzoom con un zoom de 1 (-mag 1).

> Puedes jugar con las opciones -geometry y -xy para que al abrirlo se

> ubique en la posición correcta y copie la parte de la pantalla que

> desees.



Gracias por la idea, lo he probado y para algunas configuraciones sería útil. El problema es que xzoom copia todo el escritorio. Por lo que si solapo mi ventana privada sobre la ventana que quiero presentar se vería mi ventana provada en el proyector.



Una solución similar al xzoom también la tenemos con el propio xrandr. Jugando con las configuraciones de los dos monitores. Por ejemplo, proyector externo con resolución 800x600 y monitor interno con resolución 1366x768 y que se solapen los escritorios (clone). Las ventanas públicas irían en ese área 800x600 común y tendría un área de 500x758 para ventanas privadas.



Los que usamos kde tenemos una interfaz gráfica muy cómoda para jugar con el xrandr en systemsettings > Hardware > display and monitor, que a mi personalmente me funciona muy bien (tarjeta integrada intel hd3000).



Con esta solución tenemos el mismo problema que con el xzoom. Hay un área en la pantalla privada que no podemos usar.



Lo que he hecho es lo siguiente:



Instalé un servidor y un visor vnc



# aptitude install tightvncserver xtightvncviewer



Si no instalamos los paquetes recomendados, instalamos también algunas fuentes, pero lo marcamos como instalado automáticamente.



# aptitude install xfonts-base+M



Tengo problemas si tengo un escritorio kde y una sesión vnc con kde. Al abrir programas en la sesión vnc el programa casca. Por lo que he decidido usar una sesión ligera en la sesión vnc. Por ejemplo fluxbox que es muy cómodo pues puedes manejar las ventanas con el ratón (esto será importante).



# aptitude install fluxbox



Nos leemos algún manual vnc, una forma de empezar:



usuario@computer$ man vncserver

usuario@computer$ man vncviewer



Podemos ejecutar una vez vncserver para que nos cree los ficheros de configuración de usuario.



luisfe@mychabol$ vncserver :1



Nos pedirá una contraseña para la sesión, escogemos una apropiada.



Cerramos la sesión



luisfe@mychabol$ vncserver -kill :1



Ahora tendremos un directorio .vnc vamos a editar el fichero $HOME/.vnc/xstartup para que vnc arranque una sesión de fluxbox



En el fichero $HOME/.vnc/xstartup reemplazamos la línea



/etc/X11/Xsession



Por la línea



fluxbox



Ahora ya podemos usar el vnc. Para que la visión sea cómoda elijo configurar el monitor externo y el interno con resoluciones distintas pero con la misma resolución vertical. Además, conviene que el monitor interno tenga al menos la misma resolución horizontal. En mi caso:



proyector externo -> 1024x768

monitor interno -> 1366x768

proyector externo a la izquierda del monitor interno.



Ahora, lanzamos una sesión vnc con resolución igual a la del monitor externo.



luisfe@mychabol:~$ vncserver :1 -geometry 1024x768 -localhost



Ahora abrimos un visor vnc



luisfe@mychabol:~$ vncviewer :1



Nos pedirá la contraseña que hemos introducido más arriba. Deberíamos ver una ventana xon un escritorio de fluxbox. Esta ventana la movemos al monitor externo y usamos las opciones de nuestro window manager para poner la ventana del visor a pantalla completa, maximizada, sin borde y sin borde superior. De esta manera, en el monitor externo solo de debe ver el escritorio de fluxbox completo.



Abrimos otro visor vnc. Necesitaremos un display libre. En mi caso :1



luisfe@mychabol:~$ vncviewer :1



Este lo dejamos en el monitor interno. Ahora, en este visor podemos interacturar con la sesión vnc y lanzar la presentación que tengamos preparada o cualquier otra aplicación. Además, podemos abrir cualquier otra ventana en el monitor interno y distribuirlas como queramos.



Como nota adicional, el ordenador que uso es un portatil thinkpad, que trae dos ratones. Un touchpad y un trackpoint. En cualquier otro ordenador se puede hacer lo siguiente siempre que tengamos dos ratones físicos (puede ser dos ratones usb p. ej).



Podemos usar el programa xinput para que el touchpad y el trackpad sean punteros independientes del ratón. Búsquese algún tutorial por internet. Podemos ver el id de cada ratón con la orden



luisfe@mychabol:~$xinput list



En mi caso, el ratón trackpoint tiene id=12. En el caso de cada uno el id será distinto. Voy a crear un nuevo puntero manejado por el trackpoint.



luisfe@mychabol:~$ xinput create-master nuevo

luisfe@mychabol:~$ xinput list



Veo que, en mi caso, se ha creado un nuevo puntero de id=14, el viejo puntero tiene id=2. Indico que quiero el nuevo puntero con el trackpoint.



luisfe@mychabol:~$xinput reattach 12 14



Ahora llevo el trakpoint hasta el monitor externo. Lo que ocurre, desde el punto de vista de usuario es:



Tengo un puntero que ocupa todo mi escritorio interno que puedo manejar con el touchpad.



Tengo además otro puntero en la ventana con la sesión fluxbox que puedo manejar con en trackpoint.



Cuando terminemos debemos deshacer lo hecho.

Cerramos todos los programas de fluxbox y salimos de la sesión fluxbox.

Eliminamos el nuevo puntero (entended lo que significan las siguientes órdenes):



luisfe@mychabol:~$xinput reattach 12 2

luisfe@mychabol:~$xinput remove-master 14



Cerramos los dos visores vnc.

Cerramos el servidor vnc



luisfe@mychabol:~$vncserver -kill :1



Problemas: A veces hay artefactos en la decoración de ventanas del fluxbox si por ejemplo abro okular.

No tengo atajos de teclado en la sesión de fluxbox. Debo hacerlo todo a golpe de ratón.



Espero que a alguien le sirva.



Luis


Reply to: