¿Cómo usas una tableta de Android como segunda pantalla?

He notado que algunas personas usan un producto para Windows y Mac llamado iDisplay que le permite usar su Android o iPad como pantalla secundaria. Esto parece una gran idea, y algo que podría hacerse en Ubuntu. Desafortunadamente, no tengo idea de cómo empezar.

¿Cómo podrías volver a crear esta configuración en Ubuntu?

Obtenga un cliente VNC para Android, inicie una nueva sesión de servidor VNC en su computadora (no solo comparta la pantalla actual, use vnc4server no x11vnc), conéctese desde el cliente VNC de Android y (el bit inteligente) comparta Teclado y mouse de PC entre las dos sesiones usando sinergia.

Todo el software necesario para hacer esto está disponible en los repositorys estándar para el lado de Ubuntu, y hay algunos clientes VNC gratuitos disponibles para Android en el mercado.

No podrá arrastrar ventanas a través de las pantallas utilizando este método. Para eso creo que necesitarías usar Xdmx para unir las dos sesiones. Esto es mucho más difícil y probablemente haría que pierdas la aceleración 3D.

También tenga en cuenta que la sinergia y vnc no utilizan el cifrado de forma predeterminada, por lo que debe canalizar las conexiones si no está en una red de confianza.

tl; dr: xrandr --fb y x11vnc --clip juntos hacen un combo asesino.

El hilo enlazado por Recognitium tiene una idea muy interesante, no estoy seguro de si quiso decir esto porque no pude encontrar el autor que indicó y también porque seguí en la publicación del foro allí, la publicaré por separado y no como una edición. :

  1. Primero, supongamos que la máquina principal tiene una resolución de pantalla de 1280×800 y la máquina secundaria a la que desea extender su escritorio a través de VNC tiene una resolución de pantalla de 1280×1024 y desea que la pantalla extendida esté a la derecha de su pantalla principal. La pantalla virtual debe ser 1280x800 + 1280x1024 = 2560x1024 . (extiéndalo horizontalmente y haga que la resolución vertical sea la mayor de las dos) Ejecute xrandr --fb 2560x1024 .

  2. Ahora, que la pantalla es más grande que su monitor principal, debe asegurarse de que no haya ninguna panorámica o cualquier otra “característica” no deseada activada y también que las coordenadas de la esquina superior izquierda de su monitor primario sean 0x0.

  3. x11vnc -clip 1280x1024+1281+0 además de agregar cualquier otra opción x11vnc al gusto 🙂

Esto debería ser.

  1. Instalar vnc4server y x2x .
  2. Luego, configure un archivo de configuración .vnc/xstartup . El mio se ve asi

     #!/bin/sh # Uncomment the following two lines for normal desktop: unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey #vncconfig -iconic & #x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & #x-window-manager & exec gnome-session 

    Lanza el escritorio de gnome-fallback (no sé cómo hacer que gnome 3 se inicie en vnc).

  3. Para iniciar el servidor vnc, use el vnc4server -geometry 800x480 . Por supuesto, en lugar de 800×480, debe configurar la resolución de su tableta.
  4. Inicia x2x -east -to :1 . Ese comando le dice a su computadora que actúe como si se mostrara: 1 había estado a la derecha de la pantalla (use la opción -west si quiere que esté a la izquierda). No podrá mover aplicaciones de una pantalla a otra, pero puede usar un mouse y un teclado para controlar ambas.
  5. Conéctese a la pantalla creada con vnc4server desde su tableta (el número de puerto es 5900 + número de pantalla (por ejemplo, para pantalla: 1 número de puerto será 5901) (el número de pantalla se muestra en la salida de vnc4server )).
  6. Para salir de x2x , presione Ctrl-C . Alternativamente, puede iniciarlo en segundo plano ( x2x -east -to :1 & ). ¡Entonces primero deberás moverlo a primer plano ( fg ), o matarlo con kill $! (Tenga cuidado, mata el último proceso lanzado en segundo plano).
  7. Para eliminar la pantalla creada, llame a vnc4server -kill :1 , donde en lugar de :1 puede configurar el número de su nueva pantalla.

No se pudo hacer que las otras respuestas funcionaran, excepto esto , que se conectó perfectamente.

Permite utilizar Android como segundo monitor, compartir el mouse, arrastrar ventanas entre la tableta y la computadora.

Aquí hay un tutorial paso a paso, solicitado por los comentarios.

Un tutorial

1. Crea un monitor

(Aviso: cambie 1280 y 1024 para cambiar la configuración de resolución predeterminada de 1280×1024. Es posible que también deba cambiar LVDS1 si el nombre del monitor predeterminado es diferente).

Ejecutar en la terminal:

  1. $ gtf 1280 1024 60 .

Hay una línea en la salida similar a la Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync . Copie todo después de la palabra Modeline ( Modeline ) en el siguiente comando.

  1. xrandr --newmode "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync

  2. xrandr --addmode VIRTUAL1 1280x1024_60.00

  3. xrandr --output VIRTUAL1 --mode 1280x1024_60.00 --left-of LVDS1

2. Iniciar VNC

  1. x11vnc -clip 1280x1024+0+0

3. Conéctate con Android (LAN (Wi-Fi) o USB (Cable))

  1. Encuentre la IP de su computadora usando ifconfig (cuando se conecta desde LAN).

  2. Descargue una aplicación VNC y conéctese a la computadora usando su IP (y seleccionando el puerto 5900 ) en la aplicación.

Avisos

  • Créditos: kjans , contenidos editados.
  • ADVERTENCIA : ¡Los datos no están encriptados! (Relevante para el uso de Wi-Fi y no de LAN)
  • ADVERTENCIA : ¡Cualquier red a la que esté conectado que pueda llegar al puerto 5900 puede conectarse a su monitor! (No es un problema si usa la interfaz de restricción Y USB, agregando la -listen a x11vnc (donde es la dirección de la computadora en la red a la que desea dar acceso exclusivo))
  • La ejecución de cualquiera de los pasos 1 – 4 dos veces puede generar errores.
  • Después de un uso exitoso, el paso 5. debe repetirse para otra conexión.

B. Script

El tutorial implementado como un script (Cambie la IP para usar con el cable USB O elimínelo y elimine el comentario de la línea para usar con Wi-Fi).

 #!/bin/bash W=1280 H=800 O=VIRTUAL1 if [ "$1" == "create" ]; then gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | xargs xrandr --newmode # sed: get third line, delete 'Modeline', get first word, remove first and last characters gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --addmode $O gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --output $O --left-of LVDS1 --mode elif [ "$1" == "on" ]; then x11vnc -listen 192.168.42.149 -clip ${W}x${H}+0+0 # For use in Wi-Fi LAN. #x11vnc -clip ${W}x${H}+0+0 #**WARNING** Unencrypted stream. VNC accessible without password through port 5900 in all internet interfaces. else echo "missing argument: [create | on]" fi 

En principio, esto es posible utilizando xdmx (XH multicabezal distribuido) que le permite crear un solo escritorio con dos servidores X que se ejecutan en máquinas separadas.

En principio, son posibles tres escenarios, pero ninguno es tan transparente como iDisplay, porque todos requieren reiniciar al menos su sesión X. Tampoco he podido trabajar perfectamente, pero ejecuto Ubuntu 10.10 y no puedo actualizar por varias razones. Los tres son:

1: ejecute un servidor X en Android (ahora hay dos disponibles en la tienda de aplicaciones) y use xdmx para combinar con su computadora de escritorio o pantalla de computadora portátil. – no funcionó para mí porque xdmx se bloqueó cuando el puntero se movió a la parte de la tableta del escritorio.

2: ejecute un segundo servidor X con backend vnc en su computadora, use xdmx para combinar eso en una computadora de escritorio con la pantalla de su computadora, luego mire la parte virtual con un visor vnc en la tableta. No me funcionó porque xdmx requiere que todos los servidores x tengan los mismos gráficos en color, lo que no es el caso de vncserver y la pantalla real, y no pude convencer a vncserver para que cambiara.

3: ejecute dos vncservers, uno para cada pantalla, luego conéctelos con xdmx y observe cada parte con un vncviewer en la máquina correspondiente. – Esto fue lo más cercano a trabajar para mí, desafortunadamente, inpout estaba en mal estado. También fue bastante lento en color verdadero sobre wifi. Utilicé este script para iniciar xdmx y vncs:

 #!/bin/sh vncserver :2 -geometry 1024x768 -depth 24 && \ vncserver :3 -geometry 1920x1120 -depth 24 && \ startx -- \ /usr/bin/X11/Xdmx :1 \ -input :2 \ -display :2 \ -display :3 \ -ignorebadfontpaths \ -norender \ -noglxproxy \ +xinetwig \ -nomulticursor vncserver -kill :2 vncserver -kill :3 

YMMV

Yo uso el controlador dummy xorg y x11vnc -clip. El punto del mouse no está atascado en el borde.

 sudo apt-get install xserver-xorg-video-dummy 

En la segunda pantalla se encuentra el /etc/X11/xorg.conf para el controlador ficticio:

 Sección "Dispositivo"
         Identificador "Dispositivo de video configurado"
     Driver "radeon" # CAMBIAR ESTO
 EndSection

 Sección "Monitor"
         Identificador "Monitor configurado"
 EndSection

 Sección "Pantalla"
         Identificador "Pantalla predeterminada"
         Monitor "Monitor Configurado"
         Dispositivo "Dispositivo de video configurado"
 EndSection


 ## Xdummy: ##
 Sección "Dispositivo"
   Identificador "Videocard0"
   Conductor "maniquí"
   #VideoRam 4096000
   VideoRam 256000
 EndSection

 ## Xdummy: ##
 Sección "Monitor"
   Identificador "Monitor0"
 # HorizSync 10.0 - 300.0
 # VertRefresh 10.0 - 200.0
 # DisplaySize 4335 1084
 EndSection

 ## Xdummy: ##
 Sección "Pantalla"
   Identificador "Screen0"
   Dispositivo "Videocard0"
   Monitor "Monitor0"
 EndSection



 Sección "ServerLayout"
   Identificador "dummy_layout"
   Pantalla 0 "Pantalla por defecto"
   Pantalla 1 "screen0" rightof "Pantalla predeterminada"
     Opción "Xinetwig" "1"
 EndSection

Luego ingrese a la sesión X y ejecute:

 x11vnc -clip 1024x768+1280+0 

Hice un simple script de bash para hacer una tableta en una segunda pantalla. Copiar ipad_monitor.sh (no te preocupes, también funciona con Android) en mi publicación de blog .

Lo que es diferente de la otra publicación es que puede establecer la posición de la segunda pantalla con un argumento adicional muy fácilmente.

Edición: ipad_monitor.sh el ipad_monitor.sh original aquí. ejecute este comando como:

  • ./ipad_monitor.sh --right o ./ipad_monitor.sh --left
  • ./ipad_monitor.sh --right --portrait
  • ./ipad_monitor.sh --right --portrait --hidpi

La idea básica de este script es la misma que otras, ejecutando xrandr y x11vnc pero x11vnc opciones como por qué lado desea adjuntar la pantalla.

 #!/bin/sh # ---------------------------------------------------------------------------- # "THE BEER-WARE LICENSE" (Revision 42): #  wrote this file. As long as you retain this notice you # can do whatever you want with this stuff. If we meet some day, and you think # this stuff is worth it, you can buy me a beer in return. - Bumsik Kim # ---------------------------------------------------------------------------- # Configuration WIDTH=1024 # 1368 for iPad Pro HEIGHT=768 # 1024 for iPad Pro MODE_NAME="mode_ipad" # Set whatever name you like, you may need to change # this when you change resolution, or just reboot. DIS_NAME="VIRTUAL1" # Don't change it unless you know what it is RANDR_POS="--right-of" # Default position setting for xrandr command # Parse arguments while [ "$#" -gt 0 ]; do case $1 in -l|--left) RANDR_POS="--left-of" ;; -r|--right) RANDR_POS="--right-of" ;; -a|--above) RANDR_POS="--above" ;; -b|--below) RANDR_POS="--below" ;; -p|--portrait) TMP=$WIDTH; WIDTH=$HEIGHT; HEIGHT=$TMP MODE_NAME="$MODE_NAME""_port" ;; -h|--hidpi) WIDTH=$(($WIDTH * 2)); HEIGHT=$(($HEIGHT * 2)) MODE_NAME="$MODE_NAME""_hidpi" ;; *) echo "'$1' cannot be a monitor position"; exit 1 ;; esac shift done # Detect primary display PRIMARY_DISPLAY=$(xrandr | perl -ne 'print "$1" if /(\w*)\s*connected\s*primary/') # Add display mode RANDR_MODE=$(cvt "$WIDTH" "$HEIGHT" 60 | sed '2s/^.*Modeline\s*\".*\"//;2q;d') xrandr --addmode $DIS_NAME $MODE_NAME 2>/dev/null # If the mode doesn't exist then make mode and retry if ! [ $? -eq 0 ]; then xrandr --newmode $MODE_NAME $RANDR_MODE xrandr --addmode $DIS_NAME $MODE_NAME fi # Show display first xrandr --output $DIS_NAME --mode $MODE_NAME # Then move display sleep 5 # A short delay is needed. Otherwise sometimes the below command is ignored. xrandr --output $DIS_NAME $RANDR_POS $PRIMARY_DISPLAY # Cleanup before exit function finish { xrandr --output $DIS_NAME --off xrandr --delmode $DIS_NAME $MODE_NAME echo "Second monitor disabled." } trap finish EXIT # Get the display's position CLIP_POS=$(xrandr | perl -ne 'print "$1" if /'$DIS_NAME'\s*connected\s*(\d*x\d*\+\d*\+\d*)/') echo $CLIP_POS # Share screen x11vnc -multiptr -repeat -clip $CLIP_POS # Possible alternative is x0vncserver but it does not show the mouse cursor. # x0vncserver -display :0 -geometry $DIS_NAME -overlaymode -passwordfile ~/.vnc/passwd if ! [ $? -eq 0 ]; then echo x11vnc failed, did you \'apt-get install x11vnc\'? fi 

Estas instrucciones son para crear una pantalla “adicional” para su máquina Linux utilizando una tableta o cualquier computadora a través de un cliente VNC.

Hice estos pasos en Mageia3 32Bit (no he probado 64bit) pero también debería ser similar para otras distribuciones (es decir, Ubuntu).

Asegúrese de tener todos los paquetes necesarios con el siguiente comando de terminal:

 sudo apt-get install gcc autoconf automake x11-font-util libtool libxi-devel ibopenssl-devel libxfont1-devel libpam-devel x11-util-macros x11-xtrans-devel x11-server-xvfb x11-server-xdmx x11-server-devel x11-server-source 

Una vez que tenga todos los paquetes anteriores, emita estos comandos:

 cd /usr/share/x11-server-sources/ ./autogen.sh ./configure --with-fontrootdir=/usr/share/fonts --with-xkb-path=/usr/share/X11/xkb --with-xkb-output=/usr/share/X11/xkb/compiled --enable-dmx make 

Si no recibe ningún error, parche Xdmx (en pocas palabras, se ha “roto” durante algún tiempo):

abra /usr/share/x11-server-sources/hw/dmx/input/dmxevents.c , y cambie la línea 730: cambie esto:

 POINTER_ABSOLUTE | POINTER_SCREEN, &mask); 

a esto:

 POINTER_RELATIVE | POINTER_DESKTOP, &mask); 

SI la línea 730 es diferente, use esta sección para encontrar la línea correcta: Sección original – línea para cambiar marcada con *

  case ButtonPress: case ButtonRelease: detail = dmxGetButtonMapping(dmxLocal, detail); valuator_mask_zero(&mask); QueuePointerEvents(p, type, detail, * POINTER_RELATIVE | POINTER_DESKTOP, &mask); return; 

Verifique su versión de Xdmx ejecutando ./configure --version en /usr/share/x11-server-source/ , para Xdmx 1.13 y versiones anteriores, también tiene que hacer estos cambios (para la versión 1.14 y más reciente puede saltar a la “marca “paso abajo):

/usr/share/x11-server-sources/dix/getevents.c , línea 1395: cambie esto:

 if (flags & POINTER_SCREEN ) { /* valuators are in screen coords */ 

A esto:

 if (flags & ( POINTER_SCREEN | POINTER_DESKTOP) ) { /* valuators are in screen coords */ 

(Sección original – línea para cambiar marcada con *)

  /* valuators are in driver-native format (rel or abs) */ if (flags & POINTER_ABSOLUTE) { * if (flags & POINTER_SCREEN ) { /* valuators are in screen coords */ sx = valuator_mask_get(&mask, 0); sy = valuator_mask_get(&mask, 1); 

/usr/share/x11-server-sources/Xext/xtest.c , línea 311: cambie esto:

 flags = POINTER_ABSOLUTE | POINTER_SCREEN; 

a esto:

 flags = POINTER_ABSOLUTE | POINTER_DESKTOP; 

(sección original – línea a cambiar marcada con *)

  case MotionNotify: dev = PickPointer(client); valuators[0] = ev->u.keyButtonPointer.rootX; valuators[1] = ev->u.keyButtonPointer.rootY; numValuators = 2; firstValuator = 0; if (ev->uudetail == xFalse) * flags = POINTER_ABSOLUTE | POINTER_DESKTOP; break; 

/usr/share/x11-server-sources/include/input.h , línea 73: agregue esta línea después de la línea que comienza con #define POINTER_EMULATED :

 #define POINTER_DESKTOP (1 << 7) 

Después de realizar los cambios anteriores, vuelva a ejecutar (en /usr/share/x11-server-sources/ ):

 make 

Debe tener un nuevo archivo Xdmx en /usr/share/x11-server-sources/hw/dmx/ . Necesitamos instalarlo globalmente para que sea más fácil, así que recomiendo cambiar el nombre de uno existente:

 sudo mv /bin/Xdmx /bin/Xdmx-old 

y copia el nuevo en su lugar:

 cp /usr/share/x11-server-sources/hw/dmx/Xdmx /bin 

Ahora que está listo para realizar su primera prueba, los siguientes comandos le permiten mantener su pantalla principal / existente ( :0 ) en ejecución y abrir una nueva pantalla con el soporte de monitores múltiples. Estoy usando icewm con estos comandos para que sea un poco más liviano (uso KDE en mi pantalla principal :0 y abro cualquier aplicación de monitor múltiple grande en la nueva pantalla de múltiples cabezas). Definitivamente, puede escribir estos comandos para facilitar su uso (es lo que hice): cualquiera de estos comandos puede ejecutarse en la consola y / o en la ventana de terminal de cualquier pantalla, el único requisito es que se ejecuten en orden.

Este comando crea su nueva pantalla como un búfer de cuadros para su pantalla VNC :2 (ajuste el tamaño de pantalla como desee):

 Xvfb :2 +xinetwig -screen 0 1024x1280x24 -ac & 

Esto inicia una nueva sesión de X ligero en su pantalla física como pantalla :1 (hay diferentes formas de hacerlo):

 startx 'icewm' -- :1 

Este comando inicia la visualización múltiple entre la pantalla física y la pantalla virtual e inicia icewm para el administrador de ventanas:

 Xdmx :3 +xinetwig -display :1 -display :2 -norender -noglxproxy -ac & DISPLAY=:3 starticewm 

Ahora abra una ventana de terminal e inicie el servidor vnc (cambie la contraseña como desee):

 x11vnc -display :3 -passwd test -clip xinetwig1 -noshm -forever -nowireframe & 

Lo único que queda por hacer ahora es encender tu cliente VNC y conectarte a tu VNC. Es posible que tengas que desactivar o agregar una excepción a tu firewall en el puerto 5900 para poder conectarte a él. Otra cosa a tener en cuenta es que algunos clientes VNC no muestran la posición del cursor remoto, certifico que "Mocha VNC" para iOS funciona muy bien si desactiva la opción "mouse local".

Disfrute arrastrando ventanas entre su monitor principal y su nuevo segundo monitor virtual (al mismo tiempo que puede usar la tableta para hacer clic / escribir sobre las cosas en el segundo monitor).

Para cerrar Xdmx presione Ctrl + Alt + Retroceso dos veces.

Automatización:

Utilizo este script bash para iniciar todo el proceso (también mata Xvfb al salir):

 Xvfb :2 +xinetwig -screen 0 1024x1280x24 -ac & xinit dual -- :1 ps | grep Xvfb | awk '{print $1}' | xargs kill 

Luego tengo un archivo ~/.xinitrc con esto:

 #!/bin/sh # # ~/.xinitrc # # Executed by startx (run your window manager from here) if [[ $1 == "" ]] then exec startkde elif [[ $1 == "xterm" ]] then exec xterm elif [[ $1 == "dual" ]] then exec Xdmx :3 +xinetwig -display :1 -display :2 -norender -noglxproxy -ac & DISPLAY=:3 starticewm & x11vnc -display :3 -passwd test -clip xinetwig1 -noshm -forever -nowireframe else exec $1 fi 

Solución de problemas:

  • Cuando ejecute Xdmx si obtiene un error que dice sh: /usr/local/bin/xkbcomp: No such file or directory es necesario que ejecute sh: /usr/local/bin/xkbcomp: No such file or directory : cd /usr/local/bin" and "ln -s /bin/xkbcomp , a continuación, intente Xdmx de nuevo.

  • Se supone que Ctrl + Alt + F1 a F7 funciona en Xdmx para cambiar a otras consolas / xsessions, pero por alguna razón no funciona, lo que hago es simplemente ejecutar sudo chvt X (donde X es un número de consola / xsession) para cambiar a mi pantalla principal. Además, cuando vuelvas a Xdmx, es posible que tengas algunos problemas de dibujo en cualquier ventana abierta, simplemente hago clic en la barra de tareas para ocultar / mostrar la ventana nuevamente, lo que obliga a volver a dibujar.

Gracias por los chicos del tutorial, compartiré lo que me funcionó en Ubuntu 14.04

Obtenga AndroidVNC aquí para su tableta

Obtén x11vnc para tu pc de Ubuntu ejecutando

 sudo apt-get install x11vnc 

Tuve que usar el método del controlador ficticio Xorg. Así es como se ve mi archivo /etc/X11/xorg.conf:

 Section "ServerLayout" Identifier "X.org Configured" Screen 0 "Screen0" 0 0 **Screen 1 "Screen1" rightof "Screen0"** InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" **Option "Xinetwig" "1"** EndSection Section "Files" ModulePath "/usr/lib/xorg/modules" FontPath "/usr/share/fonts/X11/misc" FontPath "/usr/share/fonts/X11/cyrillic" FontPath "/usr/share/fonts/X11/100dpi/:unscaled" FontPath "/usr/share/fonts/X11/75dpi/:unscaled" FontPath "/usr/share/fonts/X11/Type1" FontPath "/usr/share/fonts/X11/100dpi" FontPath "/usr/share/fonts/X11/75dpi" FontPath "built-ins" EndSection Section "Module" Load "glx" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5 6 7" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" DisplaySize 1680 1050 EndSection **Section "Monitor" Identifier "Monitor1" VendorName "Dummy" ModelName "Dummy" DisplaySize 2704 1050 EndSection** Section "Device" ### Available Driver options are:- ### Values: : integer, : float, : "True"/"False", ### : "String", : " Hz/kHz/MHz", ### : "%" ### [arg]: arg optional #Option "NoAccel" # [] #Option "SWcursor" # [] #Option "EnablePageFlip" # [] #Option "ColorTiling" # [] #Option "ColorTiling2D" # [] #Option "RenderAccel" # [] #Option "SubPixelOrder" # [] #Option "AccelMethod" #  #Option "EXAVSync" # [] #Option "EXAPixmaps" # [] #Option "ZaphodHeads" #  #Option "EnablePageFlip" # [] #Option "SwapbuffersWait" # [] Identifier "Card0" Driver "radeon" BusID "PCI:1:0:0" EndSection **Section "Device" Identifier "Dummy" Driver "dummy" EndSection** Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" SubSection "Display" Viewport 0 0 Depth 1 EndSubSection SubSection "Display" Viewport 0 0 Depth 4 EndSubSection SubSection "Display" Viewport 0 0 Depth 8 EndSubSection SubSection "Display" Viewport 0 0 Depth 15 EndSubSection SubSection "Display" Viewport 0 0 Depth 16 EndSubSection SubSection "Display" Viewport 0 0 Depth 24 EndSubSection EndSection **Section "Screen" Identifier "Screen1" Device "Dummy" Monitor "Monitor1 EndSection** 

Es probable que no necesite todo allí, simplemente ejecute X -configure para que su sistema se configure automáticamente y agregue las secciones ficticias (cosas entre los asteriscos) a su archivo. La resolución para la pantalla de prueba en xorg.conf debe ser el ancho de su monitor principal + el ancho de resolución de su tableta, en mi caso 1680 + 1024 = 2704 mantenga la altura de su monitor principal, 1050 en mi caso. Reinicie el servidor X / Reinicie / Tire del enchufe, lo que sea te conviene más :).

Ejecutar x11vnc haciendo

 x11vnc -rfbauth ~/.vnc/passwd -clip 1024x550+1680+0 

Aquí la resolución debe ser el ancho de su tableta x la altura de la tableta + el ancho de la pantalla principal + 0

Conéctese a su Pc usando el cliente androidVNC, asegúrese de habilitar la opción localmouse. Debería ser así, ahora siente la extrañeza de que Linux se ejecute en Android 🙂

Tuve muchos problemas con las otras técnicas enumeradas aquí. Desearía tener una mejor solución, pero mi solución lenta y simple es un buen punto de partida.

Para el servidor VNC, probé el paquete vncserver pero la pantalla se apagaría y tendría que reiniciar gdm para que todo funcionara de nuevo. tightvncserver a tightvncserver y funcionó la primera vez sin configuración.

Para compartir el mouse / teclado entre pantallas utilicé x2vnc . Esto también podría usarse con win2vnc para compartir el mouse / teclado con una PC con Windows al lado de su PC con Linux.

Comandos finales:

 sudo apt-get install tightvncserver tightvncserver sudo apt-get install x2vnc x2vnc -east localhost:1 

En este punto, debería poder abrir la segunda pantalla en un progtwig VNC conectándose a YOUR_IP_ADDRESS:1 . Para iniciar un progtwig en la pantalla VNC, abra un terminal, configure DISPLAY y luego ejecute el comando. Por ejemplo, para abrir xterm en la “pantalla” de VNC, ejecute:

 export DISPLAY=:1 xterm 

Usando este enfoque la segunda pantalla es bastante lenta. Aún así, muchas de las otras opciones que probé se encontraron con callejones sin salida, y esta funcionó sin ninguna configuración.

Para cualquier persona que aún se esté preguntando sobre este tema: el clip xrandr y x11vnc funciona; para permitir que el mouse llegue allí, debe usar el argumento de desplazamiento para establecer el área de seguimiento del mouse:

 xrandr --fb 2560x1024 --output LVDS1 --panning 1280x1024+0+0/2560x1024+0+0 

Luego, cuando se ejecuta el uso de xvnc:

 x11vnc -clip 1280x1024+1281+0 -nocursorshape -nocursorpos 

Eso evita que VNC intente utilizar su propio seguimiento del cursor y pinta el cursor como parte de la imagen de la pantalla.

Tomé notas aquí http://mikescodeoddities.blogspot.ae/2015/04/android-tablet-as-second-ubuntu-screen.html

TL; DR :

  $ sudo apt-get install x11vnc $ WINDOW_ID=$(xwininfo | awk '/Window.id/{print $4}') && x11vnc -viewonly -nopw -avahi -id $WINDOW_ID >/dev/null 2>&1 & 

Ahora, simplemente haga clic en la ventana que desea compartir.


COMPLETO :

Tengo un iPad y un Chromebook y me gustaría usarlos como mis monitores, solo para htop algunos comandos de terminal htop , iptstate , nmon , etc. Entonces, soy un tipo perezoso y lo hice usando:

  1. Instalación del paquete: sudo apt-get install x11vnc
  2. Abre un terminal y pon xwininfo | awk '/Window.id/{print $4}' xwininfo | awk '/Window.id/{print $4}' y haga clic en la ventana que desea compartir. La salida será algo así como:

     $ xwininfo | awk '/Window.id/{print $4}' 0x4402f34 
  3. Ahora puedes comenzar tu sesión x11vnc :

     $ x11vnc -viewonly -nopw -avahi -id 0x4402f34 >/dev/null 2>&1 & 
  4. Cambia el tamaño de la ventana (0x4402f34) para tener la mejor imagen posible.

Tenga en cuenta el puerto asociado de su sesión : 5900 -> :0 , 5901 -:1 , 5902 -> :2

Además, funciona bien con aplicaciones X11: Firefox, OpenOffice, etc.

Usa vnc_virtual_display_linker

La herramienta configura un segundo monitor virtual para conectarse con VNC como se describe en muchas de las respuestas anteriores. Incluso admite conexiones desde dispositivos Android utilizando un cable USB.