He notado que la gente usa 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 se podría hacer en Ubuntu. Desafortunadamente, no tengo idea de cómo comenzar.
¿Cómo podría volver a crear esta configuración en Ubuntu?
multiple-monitors
android
Mark B
fuente
fuente
Respuestas:
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 Android VNC 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 repositorios 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 con 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 te haga perder la aceleración 3D.
También tenga en cuenta que sinergia y vnc no usan cifrado de forma predeterminada, por lo que debe hacer un túnel de las conexiones si no se encuentra en una red confiable.
fuente
tl; dr:
xrandr --fb
yx11vnc --clip
juntos hacen un combo asesino.El hilo vinculado por Recognitium tiene una idea realmente interesante, no estoy seguro de si se refería a este porque no pude encontrar al autor que indicó y también porque seguí en la publicación del foro allí, lo publicaré por separado y no como una edición :
Primero, supongamos que la máquina principal tiene una resolución de pantalla de 1280x800 y la máquina secundaria a la que desea extender su escritorio sobre VNC tiene una resolución de pantalla de 1280x1024 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 más grande de las dos) Entonces corraxrandr --fb 2560x1024
.Ahora, que la pantalla es más grande que su monitor principal, debe asegurarse de que no se active ninguna panorámica o cualquier otra "característica" no deseada y que las coordenadas de la esquina superior izquierda de su monitor principal sean 0x0.
x11vnc -clip 1280x1024+1281+0
además agrega cualquier otra opción x11vnc al gusto :)Esto debería ser.
fuente
xrandr --fb 2560x1024
no parece tener ningún efecto. Lo que significa que no puedo tener una pantalla más grande que el tamaño de mi monitor principal ... :(X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 18 (RRAddOutputMode) Serial number of failed request: 29 Current serial number in output stream: 30
error Supongo que mi computadora portátil no admite una resolución más alta que la nativa1600*900
. Lo que significa que esta solución no puede funcionar. Tendré que encontrar una solución de doble pantalla en su lugar.sudo xrandr --fb 2732x768 --output LVDS1 --panning 2732x768+0+0/2732x768+0+0
(Me faltaba la--panning
opción)No se pudo hacer que las otras respuestas funcionen, excepto esto , que se conectó sin problemas.
Permite usar Android como un 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. Crear un nuevo monitor virtual
La resolución de mi tableta es 1280x1024. (Puede cambiar
1280
y1024
en todas partes en los comandos si su tableta tiene una resolución diferente. También puede necesitar cambiarLVDS1
si el nombre del monitor predeterminado es diferente).Ejecutar en terminal:
gtf 1280 1024 60
.Hay una línea en la salida similar a
Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
. Copie todo después de la palabraModeline
(excluirla) en el siguiente comando.xrandr --newmode "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
xrandr --addmode VIRTUAL1 1280x1024_60.00
xrandr --output VIRTUAL1 --mode 1280x1024_60.00 --left-of LVDS1
2. Inicie VNC
x11vnc -clip 1280x1024+0+0
3. Conéctese con Android (LAN (Wi-Fi) o USB (Cable))
Encuentre la IP de su computadora usando
ifconfig
(cuando se conecta desde LAN).Descargue una aplicación VNC y conéctese a la computadora usando su IP (y seleccionando el puerto
5900
) en la aplicación.Avisos
-listen <IP_ADDR>
opción de agregar interfaz ax11vnc
(dónde<IP_ADDR>
está la dirección de la computadora en la red a la que desea dar acceso exclusivo))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).
fuente
x11vnc -clip 1280x1024+0+0
se puede reemplazar conx11vnc -clip xinerama1
. Además, esto--left-of LVDS1
no es estrictamente necesario si va a utilizar laMonitors
aplicación de configuración para colocar el monitor adicional donde desee.xrandr: cannot find output "VIRTUAL1"
fue devuelto cuando escribí el número 3. ¿Alguna idea?xrandr: cannot find output "VIRTUAL1"
regresar dexrandr --addmode VIRTUAL1 1280x800_60.00
VIRTUAL1
parece ser un marcador de posición para tal salida, no algo presente en un sistema típico.vnc4server
yx2x
.Luego, configure un
.vnc/xstartup
archivo de configuración. El mío se ve asíInicia gnome-fallback desktop (no sé cómo hacer que gnome 3 se inicie en vnc).
vnc4server -geometry 800x480
comando. Por supuesto, en lugar de 800x480, debe configurar la resolución de su tableta.x2x -east -to :1
. Ese comando dice que su computadora debe actuar como si la pantalla: 1 hubiera estado a la derecha de la pantalla (use la-west
opción si desea que esté a la izquierda). No podrá mover aplicaciones de una pantalla a otra, pero puede usar un mouse y un teclado para controlarlos a ambos.vnc4server
su tableta (el número de puerto es 5900 + número de pantalla (por ejemplo, para la pantalla: 1 número de puerto será 5901) (el número de pantalla se muestra en lavnc4server
salida).x2x
, presioneCtrl-C
. Alternativamente, puede iniciarlo en segundo plano (x2x -east -to :1 &
). Luego, primero tendrá que moverlo a primer plano (fg
), o matarlo conkill $!
(tenga cuidado, mata el último proceso iniciado en segundo plano).vnc4server -kill :1
, donde en lugar de:1
usted puede configurar el número de su nueva pantalla.fuente
x2x
, encuentre esta publicación buscando x2x android en google ... ¡Pero +1 para.vnc/xstartup
, especialmente paraunset DBUS_SESSION_BUS_ADDRESS
!! Mensaje pequeño pero rico y muy útil, ¡gracias!En principio, esto es posible usando xdmx (X distribuido de múltiples cabezas) que le permite crear un solo escritorio usando dos servidores X que se ejecutan en máquinas separadas.
En principio, son posibles tres escenarios, pero ninguno es tan perfecto como iDisplay, porque todos requieren reiniciar su sesión X al menos. No he podido hacer que ninguno funcione perfectamente, pero estoy ejecutando 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 combinarlo con la pantalla de su computadora de escritorio o portátil. - no funcionó para mí porque xdmx se bloqueó cuando el puntero se movió a la parte de tableta del escritorio.
2: ejecute un segundo servidor X con vnc back-end en su computadora, use xdmx para combinarlo en un escritorio con la pantalla de su computadora, luego mire la parte virtual con un visor vnc en la tableta; no funcionó para mí porque xdmx requiere que todos los servidores x tengan las mismas imágenes en color, que no es el caso para vncserver y la pantalla real, y no pude convencer a vncserver para que cambie.
3: ejecute dos servidores vncs, uno para cada pantalla, luego conéctelos con xdmx y mire cada parte con un vncviewer en la máquina respectiva. - Esto estuvo más cerca de trabajar para mí, desafortunadamente la entrada estaba desordenada. También fue bastante lento en color verdadero a través de wifi. Usé este script para iniciar xdmx y las vncs:
YMMV
fuente
Hice un script bash simple para hacer que una tableta sea una segunda pantalla. Copiar
ipad_monitor.sh
(No te preocupes. También funciona con Android) en mi blog .Lo que es diferente de la otra publicación es que puedes establecer la posición de la segunda pantalla con argumentos adicionales muy fácilmente.
Editar: incluí el original
ipad_monitor.sh
aquí. ejecuta 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, ejecutándose
xrandr
yx11vnc
pero incluí opciones como de qué lado le gustaría adjuntar la pantalla.fuente
Uso el controlador ficticio xorg y x11vnc -clip. La punta del mouse no está atascada en el borde.
Existe el
/etc/X11/xorg.conf
controlador falso en la segunda pantalla:Luego inicie sesión en la sesión X y ejecute:
fuente
Estas instrucciones son para crear una pantalla "adicional" para su máquina Linux usando una tableta o cualquier computadora a través de un cliente VNC.
Hice estos pasos en Mageia3 32Bit (no he probado 64 bits) 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:
Una vez que tenga todos los paquetes anteriores, emita estos comandos:
Si no obtiene ningún error, aplique el parche Xdmx (simplemente, se ha "roto" por algún tiempo):
abrir
/usr/share/x11-server-sources/hw/dmx/input/dmxevents.c
y cambiar la línea 730: cambie esto:a esto:
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 *
Para comprobar la versión de Xdmx ejecutando
./configure --version
en/usr/share/x11-server-source/
, por Xdmx 1.13 y mayores también hay que hacer estos cambios (de 1.14 y posteriores se puede saltar a la "hacer" a continuación paso):abierto
/usr/share/x11-server-sources/dix/getevents.c
, línea 1395: cambie esto:A esto:
(Sección original - línea para cambiar marcada con *)
abierto
/usr/share/x11-server-sources/Xext/xtest.c
, línea 311: cambie esto:a esto:
(sección original - línea para cambiar marcada con *)
/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
:Después de realizar los cambios anteriores, vuelva a ejecutar (en
/usr/share/x11-server-sources/
):Debería tener un nuevo archivo Xdmx en
/usr/share/x11-server-sources/hw/dmx/
. Necesitamos instalarlo globalmente para facilitarlo, por lo que recomiendo cambiar el nombre de uno existente:y copie el nuevo en su lugar:
Ahora que está listo para hacer su primera prueba, los siguientes comandos le permiten mantener su pantalla principal / existente (
:0
) en funcionamiento y abrir una nueva pantalla con el soporte de monitores múltiples. Estoy usando icewm con estos comandos para hacerlo un poco más liviano (uso KDE en mi pantalla principal:0
y abro cualquier aplicación grande de múltiples monitores en la nueva pantalla de múltiples cabezales). Definitivamente puede escribir estos comandos para facilitar su uso (es lo que hice): cualquiera de estos comandos se puede ejecutar en la consola y / o 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 cuadro para su pantalla VNC
:2
(ajuste el tamaño de la pantalla como desee):Esto inicia una nueva sesión X ligera en su pantalla física como pantalla
:1
(hay diferentes formas de hacer esto):Este comando inicia la visualización múltiple entre su pantalla física y la pantalla virtual e inicia icewm para el administrador de ventanas:
Ahora abra una ventana de terminal e inicie el servidor vnc (cambie la contraseña como desee):
Lo único que queda por hacer ahora es iniciar su cliente VNC y conectarse a su VNC; es posible que deba deshabilitar o agregar una excepción a su firewall al puerto 5900 para poder conectarse 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 en cosas en el segundo monitor).
Para cerrar Xdmx presione Ctrl+ Alt+ Backspacedos veces.
Automatización:
Utilizo este script bash para comenzar todo el proceso (también mata Xvfb al salir):
Entonces tengo un
~/.xinitrc
archivo personalizado con esto:Solución de problemas:
Cuando ejecute Xdmx, si recibe un error
sh: /usr/local/bin/xkbcomp: No such file or directory
que indica que es posible que deba ejecutar:cd /usr/local/bin" and "ln -s /bin/xkbcomp
e intente Xdmx nuevamente.Ctrl+ Alt+ F1A través F7se supone que 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 consola / xsession) para cambiar a mi pantalla principal. Además, cuando vuelva a cambiar a Xdmx, es posible que tenga algunos problemas de dibujo en cualquier ventana abierta, solo hago clic en la barra de tareas para ocultar / mostrar la ventana nuevamente y forzar un redibujo.fuente
Gracias por el tutorial chicos, compartiré lo que funcionó para mí en Ubuntu 14.04
Obtenga AndroidVNC aquí para su tableta
Obtenga x11vnc para su PC Ubuntu ejecutando
Tuve que usar el método del controlador ficticio Xorg. Así es como se ve mi archivo /etc/X11/xorg.conf:
Probablemente no necesite todo lo que contiene, simplemente ejecute X -configure para que su sistema se autoconfigure y agregue las secciones ficticias (cosas entre los asteriscos) a su archivo. La resolución para la pantalla ficticia 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 mantener la altura de su monitor principal, 1050 en mi caso. Reinicie el servidor X / Reiniciar / Enchufe te queda más :).
Ejecute x11vnc haciendo
Aquí la resolución debe ser el ancho de la tableta x la altura de la tableta + Ancho de la pantalla principal + 0
Conéctese a su PC con el cliente androidVNC, asegúrese de habilitar la opción localmouse. Eso debería ser, ahora siente la rareza de tener Linux corriendo sobre Android :)
fuente
Tuve muchos problemas con las otras técnicas enumeradas aquí. Desearía tener una solución mejor, pero mi solución lenta y simple es un buen punto de partida.
Para el servidor VNC, probé el
vncserver
paquete, pero la pantalla se oscureció y tuve que reiniciargdm
para que todo volviera a funcionar. Me cambié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 junto a su PC con Linux.
Comandos finales:
En este punto, debería poder abrir la segunda pantalla en un programa VNC conectándose a
YOUR_IP_ADDRESS:1
. Para iniciar un programa en la pantalla VNC, abra una terminal, configureDISPLAY
y luego ejecute el comando. Por ejemplo, para abrirxterm
en la "pantalla" de VNC, ejecute: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.
fuente
Para cualquiera que todavía se pregunte 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:
Luego, cuando ejecute xvnc use:
Eso impide que VNC intente usar 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
fuente
TL; DR :
Ahora, simplemente haga clic en la ventana que desea compartir.
COMPLETO :
Tengo un iPad y Chromebook y me gustaría usarlos como mis monitores, sólo para USO algunos comandos de terminal
htop
,iptstate
,nmon
, etc. Entonces, soy un tipo vago y lo hice usando:sudo apt-get install x11vnc
Abra alguna terminal y coloque
xwininfo | awk '/Window.id/{print $4}'
y haga clic en la ventana que desea compartir. La salida será algo así como:Ahora puedes comenzar tu
x11vnc
sesión:Cambie el tamaño de la ventana (0x4402f34) para tener la mejor imagen posible.
Cuidado con el asociado puerto de la sesión :
5900 -> :0
,5901 -:1
,5902 -> :2
...Además, funciona bien con aplicaciones X11: Firefox, OpenOffice, etc.
fuente
Use 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 mediante un cable USB.
fuente