J'ai remarqué des personnes utilisant un produit pour Windows et Mac appelé iDisplay, qui vous permet d'utiliser votre Android ou votre iPad comme affichage secondaire. Cela semble être une excellente idée et quelque chose qui pourrait être fait sur Ubuntu. Malheureusement, je n'ai aucune idée de comment commencer.
Comment pourriez-vous recréer cette configuration sur Ubuntu?
multiple-monitors
android
Mark B
la source
la source
Réponses:
Obtenez un client VNC pour Android, démarrez une nouvelle session de serveur VNC sur votre ordinateur (ne vous contentez pas de partager l'affichage actuel - utilisez vnc4server et non x11vnc), connectez-vous à partir du client VNC Android et (le bit intelligent) partagez le Clavier et souris PC entre les deux sessions en utilisant la synergie.
Tous les logiciels nécessaires à cette fin sont disponibles dans le dépôt standard pour Ubuntu, et il existe quelques clients VNC gratuits disponibles pour Android sur le marché.
En utilisant cette méthode, vous ne pourrez pas faire glisser des fenêtres sur les écrans. Pour cela, je pense que vous auriez besoin d’utiliser Xdmx pour lier les deux sessions. Ceci est beaucoup plus difficile et vous causera probablement une perte d’accélération 3D.
Sachez également que Synergy et vnc n'utilisent pas le cryptage par défaut, vous devez donc tunneler les connexions si vous ne vous trouvez pas sur un réseau approuvé.
la source
tl; dr:
xrandr --fb
etx11vnc --clip
ensemble faire un combo tueur.Le fil lié par Recognitium a une idée très intéressante, il n'est pas sûr de savoir s'il s'agit bien de celui-ci car je n'ai pas trouvé l'auteur qu'il a indiqué, et aussi du suivi que j'ai effectué sur le post du forum, je le posterai séparément et non en tant que modification. :
Tout d'abord, supposons que la machine principale ait une résolution d'écran de 1280x800 et que la machine secondaire sur laquelle vous voulez étendre votre bureau via VNC a une résolution d'écran de 1280x1024 et que vous voulez que la vue étendue soit à droite de votre écran principal. L'écran virtuel doit être
1280x800 + 1280x1024 = 2560x1024
. (étendez-le horizontalement et faites de la résolution verticale la plus grande des deux) Alors courezxrandr --fb 2560x1024
.Maintenant que l'écran est plus grand que votre moniteur principal, vous devez vous assurer qu'il n'y a pas de panoramique ou autre "fonctionnalité" non désirée activée et que les coordonnées du coin supérieur gauche de votre moniteur principal sont 0x0.
x11vnc -clip 1280x1024+1281+0
plus ajouter d'autres options x11vnc à votre goût :)Cela devrait être ça.
la source
xrandr --fb 2560x1024
ne semble avoir aucun effet. Ce qui signifie que je ne peux pas avoir un écran plus grand que la taille de mon moniteur 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
erreur. À mon avis, mon ordinateur portable ne prend pas en charge une résolution supérieure à la résolution native1600*900
. Cela signifie que cette solution ne peut pas fonctionner. Je vais plutôt devoir trouver une solution à double écran.sudo xrandr --fb 2732x768 --output LVDS1 --panning 2732x768+0+0/2732x768+0+0
(--panning
option manquante )Impossible de faire fonctionner les autres réponses, sauf celle-ci , qui se connecte parfaitement.
Il permet d’utiliser Android comme second moniteur, de partager la souris, de faire glisser des fenêtres entre une tablette et un ordinateur.
Voici un didacticiel pas à pas, demandé par les commentaires.
A. Tutoriel
1. Créer un nouveau moniteur virtuel
La résolution de ma tablette est 1280x1024. (Vous pouvez changer
1280
et1024
partout dans les commandes si votre tablette est une résolution différente. Vous devrez peut - être changerLVDS1
si le nom du moniteur par défaut est différent).Run in terminal:
gtf 1280 1024 60
.Il y a une ligne dans la sortie similaire à
Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
. Copiez tout ce qui suit le motModeline
(excluez-le) dans la commande suivante.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. Démarrer VNC
x11vnc -clip 1280x1024+0+0
3. Connectez-vous avec Android (LAN (Wi-Fi) ou USB (Câble)).
Recherchez l'adresse IP de votre ordinateur en utilisant
ifconfig
(lors d'une connexion depuis un réseau local).Téléchargez une application VNC et connectez-vous à l'ordinateur à l'aide de son adresse IP (et en sélectionnant un port
5900
) dans l'application.Les avis
-listen <IP_ADDR>
option de connexion USB ET en limitant l' option d' ajout d'interfacex11vnc
(où<IP_ADDR>
est l'adresse de l'ordinateur sur le réseau auquel vous souhaitez accorder un accès exclusif))B. Script
Le didacticiel mis en œuvre sous forme de script (Modifiez l'adresse IP à utiliser avec le câble USB OU supprimez-la et décommentez la ligne à utiliser avec le Wi-Fi).
la source
x11vnc -clip 1280x1024+0+0
peut être remplacé parx11vnc -clip xinerama1
. En outre, le--left-of LVDS1
n'est pas strictement nécessaire si vous souhaitez utiliser l'Monitors
application des paramètres pour positionner le moniteur supplémentaire où vous le souhaitez.xrandr: cannot find output "VIRTUAL1"
a été renvoyé lors de la saisie du numéro 3. Des idées?xrandr: cannot find output "VIRTUAL1"
est rentré dexrandr --addmode VIRTUAL1 1280x800_60.00
VIRTUAL1
semble être un espace réservé pour une telle sortie, pas quelque chose de présent dans un système typique.vnc4server
etx2x
.Ensuite, configurez un
.vnc/xstartup
fichier de configuration. Le mien ressemble à ceciIl lance le bureau gnome-fallback (je ne sais pas comment lancer gnome 3 dans vnc).
vnc4server -geometry 800x480
commande. Bien sûr, au lieu de 800x480, vous devez définir la résolution de votre tablette.x2x -east -to :1
. Cette commande indique à votre ordinateur d'agir comme si l'affichage: 1 s'était placé à la droite de l'écran (utilisez l'-west
option si vous voulez qu'il soit à gauche). Vous ne pourrez pas déplacer les applications d'un écran à un autre, mais vous pouvez utiliser une souris et un clavier pour les contrôler tous les deux.vnc4server
partir de votre tablette (le numéro de port est 5900 + numéro d’affichage (par exemple, pour l’affichage: 1 numéro de port sera 5901) (le numéro de l’affichage est indiqué dans lavnc4server
sortie de s)).x2x
, appuyez surCtrl-C
. Vous pouvez également le lancer en arrière-plan (x2x -east -to :1 &
). Ensuite, vous devrez d'abord le déplacer au premier plan (fg
), ou le tuer aveckill $!
(soyez prudent, il tue le dernier processus lancé en arrière-plan).vnc4server -kill :1
où, au lieu de:1
vous pouvez définir le numéro de votre nouvel affichage.la source
x2x
, trouvez ce post en cherchant x2x android sur google ... Mais +1 pour.vnc/xstartup
, surtout pourunset DBUS_SESSION_BUS_ADDRESS
!! Petit mais riche et très utile post, merci!Ceci est en principe possible avec xdmx (Distributed Multihead X) qui vous permet de créer un seul poste de travail à l'aide de deux serveurs X exécutés sur des ordinateurs distincts.
Trois scénarios sont possibles en principe, mais aucun n'est aussi transparent que iDisplay, car ils nécessitent tous de redémarrer votre session X au moins. Je n'ai pas été capable de fonctionner parfaitement, mais j'utilise Ubuntu 10.10 et ne peux pas mettre à niveau pour différentes raisons. Les trois sont:
1: exécutez un serveur X sur Android (il en existe deux actuellement dans l’app store) et utilisez xdmx pour l’associer à l’affichage de votre ordinateur de bureau ou de votre ordinateur portable. - n'a pas fonctionné pour moi car xdmx s'est écrasé lorsque le pointeur s'est déplacé vers la partie tablette du bureau.
2: lancez un second serveur X avec backend vnc sur votre ordinateur, utilisez xdmx pour combiner cela en un seul bureau avec votre écran d’ordinateur, puis regardez la partie virtuelle avec un visualiseur vnc sur la tablette - cela n’a pas fonctionné pour moi car xdmx exige que tous les serveurs x aient les mêmes visuels en couleur, ce qui n'est pas le cas du vncserver et de l'affichage réel, et je n'ai pas réussi à convaincre le vncserver de changer.
3: exécutez deux serveurs vncs, un pour chaque écran, puis connectez-les avec xdmx et examinez chaque partie avec un vncviewer sur la machine respective. - Cela a été proche de travailler pour moi, malheureusement, inpout a été gâché. c'était aussi assez lent en couleurs vraies sur wifi. J'ai utilisé ce script pour démarrer xdmx et le vncs:
YMMV
la source
J'ai fait un script bash simple pour rendre une tablette un deuxième écran. Copier
ipad_monitor.sh
(ne vous inquiétez pas. Cela fonctionne également avec Android) dans mon blog .Ce qui diffère de l’autre message, c’est que vous pouvez définir très facilement la position du deuxième écran avec un argument supplémentaire.
Edit: j'ai inclus l'original
ipad_monitor.sh
ici. lancez cette commande comme ceci:./ipad_monitor.sh --right
ou./ipad_monitor.sh --left
./ipad_monitor.sh --right --portrait
./ipad_monitor.sh --right --portrait --hidpi
L'idée de base de ce script est la même que celle des autres, en cours d'exécution
xrandr
et,x11vnc
mais j'ai inclus des options telles que le côté auquel vous souhaitez associer l'écran.la source
J'utilise le pilote factice xorg et x11vnc -clip. Le point de la souris n'est pas coincé sur le bord.
Il y a le
/etc/X11/xorg.conf
pilote factice sur le deuxième écran:Puis connectez-vous à la session X et exécutez:
la source
Ces instructions permettent de créer un écran "supplémentaire" pour votre machine Linux à l'aide d'une tablette ou de tout ordinateur via un client VNC.
J'ai fait ces étapes dans Mageia3 32Bit (je n'ai pas essayé de 64 bits) mais je devrais être similaire pour les autres distributions (par exemple, Ubuntu).
Assurez-vous de disposer de tous les packages requis avec la commande de terminal suivante:
Une fois que vous avez tous les packages ci-dessus, lancez les commandes suivantes:
Si vous n'obtenez aucune erreur, corrigez Xdmx (tout simplement, il est "cassé" depuis un certain temps):
ouvrez
/usr/share/x11-server-sources/hw/dmx/input/dmxevents.c
et changez la ligne 730: changez ceci:pour ça:
SI la ligne 730 est différente, utilisez cette section pour trouver la ligne correcte: Section d'origine - ligne à modifier indiquée par *
Vérifiez votre version de Xdmx en exécutant
./configure --version
dans/usr/share/x11-server-source/
, pour Xdmx 1,13 et plus vous devez aussi faire ces changements (pour 1.14 et plus récente , vous pouvez passer à la « faire » étape ci - dessous):open
/usr/share/x11-server-sources/dix/getevents.c
, line 1395: changez ceci:Pour ça:
(Section originale - ligne à modifier marquée avec *)
ouvert
/usr/share/x11-server-sources/Xext/xtest.c
, ligne 311: changez ceci:pour ça:
(section originale - ligne à modifier marquée avec *)
/usr/share/x11-server-sources/include/input.h
, ligne 73: Ajouter cette ligne après la ligne commençant par#define POINTER_EMULATED
:Après avoir apporté les modifications ci-dessus, ré-exécutez (dans
/usr/share/x11-server-sources/
):Vous devriez avoir un nouveau fichier Xdmx dans
/usr/share/x11-server-sources/hw/dmx/
. Nous devons l’installer globalement pour plus de facilité, je vous recommande donc de renommer votre nom actuel:et copiez le nouveau à la place:
Maintenant que vous êtes prêt à faire votre premier essai, les commandes suivantes vous permettent de garder votre affichage principal / existant en
:0
cours d'exécution et d'ouvrir un nouvel affichage avec le support multi-moniteur. J'utilise icewm avec ces commandes pour le rendre un peu plus léger (j'utilise KDE sur mon écran principal:0
et ouvre n'importe quelle application multi-moniteur de grande taille sur le nouvel écran multi-têtes). Vous pouvez très certainement écrire ces commandes pour faciliter leur utilisation (c'est ce que j'ai fait) - N'importe laquelle de ces commandes peut être exécutée sur la console et / ou la fenêtre du terminal de n'importe quel affichage. La seule condition requise est qu'elles soient exécutées dans l'ordre.Cette commande crée votre nouvel affichage en tant que tampon d'image pour votre affichage VNC
:2
(ajustez la taille de l'écran à votre guise):Cela démarre une nouvelle session X légère sur votre affichage physique en affichage
:1
(il existe différentes façons de le faire):Cette commande démarre le multi-affichage entre votre écran physique et l'écran virtuel et lance icewm pour le gestionnaire de fenêtres:
Ouvrez maintenant une fenêtre de terminal et démarrez le serveur vnc (changez le mot de passe à votre guise):
Il ne reste plus qu’à allumer votre client VNC et à vous connecter à votre VNC - vous devrez peut-être désactiver ou ajouter une exception à votre pare-feu pour le port 5900 afin que vous puissiez vous y connecter. Une autre chose à garder à l'esprit est que certains clients VNC n'affichent pas la position du curseur distant. Je certifie que "Mocha VNC" pour iOS fonctionne parfaitement si vous désactivez l'option "souris locale".
Amusez-vous à faire glisser des fenêtres entre votre moniteur principal et votre nouveau second moniteur virtuel (tout en pouvant utiliser la tablette pour cliquer / taper sur des éléments du second moniteur).
Pour fermer Xdmx, appuyez deux fois sur Ctrl+ Alt+ Backspace.
Automatisation:
J'utilise ce script bash pour démarrer l'ensemble du processus (tue également Xvfb à la sortie):
Ensuite, j'ai un
~/.xinitrc
fichier personnalisé avec ceci:Dépannage:
Lorsque vous exécutez Xdmx, si vous obtenez une erreur indiquant
sh: /usr/local/bin/xkbcomp: No such file or directory
que vous devrez peut-être exécutercd /usr/local/bin" and "ln -s /bin/xkbcomp
:, essayez à nouveau Xdmx.Ctrl+ Alt+ F1through F7est supposé fonctionner dans Xdmx pour basculer vers d'autres consoles / xsessions, mais pour une raison quelconque, cela ne fonctionne pas. Ce que je fais est simplement exécuter
sudo chvt X
(X étant un numéro de console / xsession) pour basculer vers mon écran principal. De plus, lorsque vous revenez à Xdmx, vous pouvez rencontrer des problèmes de dessin sur toutes les fenêtres ouvertes. Je clique simplement sur la barre des tâches pour masquer / afficher à nouveau la fenêtre, ce qui force à le redessiner.la source
Merci pour le tutoriel les gars, je vais partager ce qui a fonctionné pour moi sur Ubuntu 14.04
Obtenez AndroidVNC ici pour votre tablette
Obtenez x11vnc pour votre pc Ubuntu en lançant
J'ai dû utiliser la méthode du pilote factice Xorg. Voici à quoi ressemble mon fichier /etc/X11/xorg.conf:
Vous n'aurez probablement pas besoin de tout ce qu'il y a dedans, lancez simplement X -configure pour obtenir la configuration automatique de votre système et ajouter les sections factices (les éléments entre les astérisques) dans votre fichier. La résolution de l'écran factice dans xorg.conf doit correspondre à la largeur de votre moniteur principal et à la largeur de la résolution de votre tablette. Dans mon cas, 1680 + 1024 = 2704 conservez la hauteur de votre moniteur principal, 1050 dans mon cas. Redémarrez le serveur X te convient plus :).
Exécuter x11vnc en faisant
Ici, la résolution doit être la largeur de votre tablette x hauteur de la tablette + largeur de l'écran principal + 0
Connectez-vous à votre ordinateur à l'aide du client androidVNC, assurez-vous d'activer l'option localmouse. Cela devrait être le cas, ressentez maintenant l'étrangeté de faire tourner Linux sur Android :)
la source
J'ai eu beaucoup de problèmes avec les autres techniques énumérées ici. J'aimerais avoir une meilleure solution, mais ma solution lente et simple est un bon point de départ.
Pour le serveur VNC, j'ai essayé le
vncserver
package, mais l'écran deviendrait noir et je devrais redémarrergdm
pour que tout fonctionne à nouveau. Je suis passé àtightvncserver
et cela a fonctionné la première fois sans configuration.Pour partager la souris / le clavier entre les écrans, j'ai utilisé x2vnc . Cela pourrait également être utilisé avec win2vnc pour partager la souris / le clavier avec un PC Windows situé à côté de votre PC Linux.
Commandes finales:
À ce stade, vous devriez pouvoir ouvrir le deuxième écran d’un programme VNC en vous connectant à
YOUR_IP_ADDRESS:1
. Pour démarrer un programme sur l'écran VNC, ouvrez un terminal, définissez-leDISPLAY
, puis exécutez la commande. Par exemple, pour ouvrirxterm
"l'écran" de VNC, exécutez:En utilisant cette approche, le deuxième écran est assez lent. Malgré tout, bon nombre des autres options que j'ai essayées se sont retrouvées dans des impasses, et celle-ci fonctionnait sans configuration.
la source
Pour ceux qui s’interrogent encore sur ce sujet: le clip xrandr et x11vnc fonctionne; pour permettre à la souris d'arriver par là, vous devez utiliser l'argument panoramique pour définir la zone de suivi de la souris:
Ensuite, lors de l'exécution de xvnc, utilisez:
Cela empêche VNC d'essayer d'utiliser son propre suivi de curseur et le peint en tant que partie de l'image à l'écran.
J'ai pris des notes ici http://mikescodeoddities.blogspot.ae/2015/04/android-tablet-as-second-ubuntu-screen.html
la source
TL; DR :
Maintenant, cliquez simplement sur la fenêtre que vous souhaitez partager.
COMPLET :
J'ai un iPad et Chromebook et je voudrais les utiliser comme mes moniteurs, juste pour Uso certaines commandes du terminal
htop
,iptstate
,nmon
, etc. Donc, je suis un gars paresseux et je l'ai créé avec:sudo apt-get install x11vnc
Ouvrez un terminal, placez
xwininfo | awk '/Window.id/{print $4}'
et cliquez dans la fenêtre que vous souhaitez partager. La sortie sera quelque chose comme:Maintenant, vous pouvez commencer votre
x11vnc
session:Redimensionnez la fenêtre (0x4402f34) pour obtenir la meilleure image possible.
Mind the associé le port de votre séance :
5900 -> :0
,5901 -:1
,5902 -> :2
...En outre, fonctionne bien avec les applications X11: Firefox, OpenOffice, etc.
la source
Utilisez vnc_virtual_display_linker
L'outil configure un deuxième moniteur virtuel pour la connexion à VNC, comme décrit dans de nombreuses réponses précédentes. Il prend même en charge les connexions à partir d'appareils Android à l'aide d'un câble USB.
la source