OVH Cloud OVH Cloud

Double ecran et transfaret de fenêtres

4 réponses
Avatar
Marc Dejardin
Bonjour,
N'arrivant pas à faire marcher correctement la bascule CRT/LCD sur mon
portable (DELL D820, carte graphique i945GM), j'ai fini par reussir à
faire un affichage sur 2 écrans.
Avec passage d'un écran à l'autre par glissement de la souris sur le
bord gauche du premier écran.

Ca me permet d'avoir mon protable sur 1920x1200 et l'écran externe (ou
videoprojecteur en 1024x768 ou 1280x1024).

D'après ce que je peux voir, il semble qu'il y ait 2 sessions gnome qui
tournent independemment sur les 2 écrans.
Je voudrais quand même savoir s'il est possible de transférer une
fenêtre d'un écran à un autre.
Par exemple, si Firefox tourne sur l'écran principal, je ne peux pas
ouvrir une nouvelle fenêtre sur le deuxième écran et relançant firefox.
Il faut donc que je puisse amener une fenêtre existante dans le deuxième
écran.

Il est tout à fait possible que mon xorg.conf ne soit pas configuré
convenablement, mais ma démarche et très empirique à partir de bribes
récoltées çà et là sur google.

Merci de votre aide.
M.D.

4 réponses

Avatar
François Patte
Bonjour,
N'arrivant pas à faire marcher correctement la bascule CRT/LCD sur mon
portable (DELL D820, carte graphique i945GM), j'ai fini par reussir à
faire un affichage sur 2 écrans.
Avec passage d'un écran à l'autre par glissement de la souris sur le
bord gauche du premier écran.

Ca me permet d'avoir mon protable sur 1920x1200 et l'écran externe (ou
videoprojecteur en 1024x768 ou 1280x1024).

D'après ce que je peux voir, il semble qu'il y ait 2 sessions gnome qui
tournent independemment sur les 2 écrans.
Je voudrais quand même savoir s'il est possible de transférer une
fenêtre d'un écran à un autre.
Par exemple, si Firefox tourne sur l'écran principal, je ne peux pas
ouvrir une nouvelle fenêtre sur le deuxième écran et relançant firefox.
Il faut donc que je puisse amener une fenêtre existante dans le deuxième
écran.


option xinerama dans xorg.conf. Si vous pouvez avoir 2 écrans avec des
résolutions différentes, vous devez avoir 2 sections "Device", "Monitor"
et "Screen" dans votre xorg.conf.

au début (ou à la fin de ce fichier, ça dépend des distrib) il y a une
déclaration générale:

Section "ServerLayout"
Identifier "Multihead layout"
Screen 0 "Screen0" LeftOf "Screen1"
Screen 1 "Screen1"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
Option "Xinerama" "on"
EndSection

La ligne: Screen 0 "Screen0" LeftOf "Screen1" donne la position des
écrans l'un par rapport à l'autre

Option "Xinerama" "on"

fait ce que vous demandez.

--
François Patte
Université Paris 5 - Paris

Avatar
Marc Dejardin

Option "Xinerama" "on"

fait ce que vous demandez.



Merci,
C'est effectivement l'option qui manquait.
Le résultat est presque parfait, si ce n'est le fait que quand un
programme ouvre une fenêtre, et qu'il a un algorithme sofistiqué pour
calculer la position, il me la met sur le deuxième écran qui est vide...
Est-ce qu'il y a un moyen de paufiner les réglage de Xinerama ?

Par exemple, est-il possible de désactiver l'option "à chaud" si le 2eme
écran n'est pas branché (histoire de pas perdre des fenêtres ou de
perdre le curseur de la souris) ?

Merci pour l'aide

M.D.

Avatar
François Patte


Option "Xinerama" "on"

fait ce que vous demandez.



Merci,
C'est effectivement l'option qui manquait.
Le résultat est presque parfait, si ce n'est le fait que quand un
programme ouvre une fenêtre, et qu'il a un algorithme sofistiqué pour
calculer la position, il me la met sur le deuxième écran qui est vide...
Est-ce qu'il y a un moyen de paufiner les réglage de Xinerama ?


Je ne me suis pas penché sur cette question... Je pense que c'est une
option du gestionnaire de fenêtres, quelque chose comme "smart
placement. Le premier écran n'est en général pas "vide", il y a les
"barres de taches" et autres fariboles.


Par exemple, est-il possible de désactiver l'option "à chaud" si le 2eme
écran n'est pas branché (histoire de pas perdre des fenêtres ou de
perdre le curseur de la souris) ?


"A chaud", je ne pense pas. J'ai une carte nvidia et, avec le dernier
pilote de chez eux, vient un zinzin graphique (dont je ne me sers pas)
qui semble permettre de désactiver le double écran, mais cela nécessite
au minimum de relancer X.

Comme je viens de découvrir qu'il existe un moyen d'activer et de
désactiver "à chaud" le "touchpad" d'un portable (ça dépend aussi de
xorg.conf), quelqu'un a peut-être fait quelque chose du même genre pour
le multi-écran mais je l'ignore....

J'ai opté pour une solution au démarrage en mettant une option grub dans
les options du noyau: simple et double:

title Fedora Core (2.6.17-1.2142_FC4smp) Simple
root (hd0,5)
kernel /vmlinuz-2.6.17-1.2142_FC4smp ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.17-1.2142_FC4smp.img
title Fedora Core (2.6.17-1.2142_FC4smp) Double
root (hd0,5)
kernel /vmlinuz-2.6.17-1.2142_FC4smp double ro root=LABEL=/ rhgb
^^^^^^
quiet
initrd /initrd-2.6.17-1.2142_FC4smp.img

Cette option n'est pas une option "légale" mais le noyau s'en moque et
stocke "double" dans /proc/cmdline

Un script dans /etc/rc.local fait alors le travail:

ECRAN=`cat /proc/cmdline | cut -d" " -f1`
if [ "$ECRAN" = "double" ]; then
cp /etc/X11/xorg.conf.double /etc/X11/xorg.conf
else
cp /etc/X11/xorg.conf.simple /etc/X11/xorg.conf
fi

Et j'ai, évidemment, deux xorg.conf correspondants aux deux possibilités.


--
François Patte
Université Paris 5 - Paris


Avatar
Marc Dejardin
...
J'ai opté pour une solution au démarrage en mettant une option grub dans
les options du noyau: simple et double:

title Fedora Core (2.6.17-1.2142_FC4smp) Simple
root (hd0,5)
kernel /vmlinuz-2.6.17-1.2142_FC4smp ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.17-1.2142_FC4smp.img
title Fedora Core (2.6.17-1.2142_FC4smp) Double
root (hd0,5)
kernel /vmlinuz-2.6.17-1.2142_FC4smp double ro root=LABEL=/ rhgb
^^^^^^
quiet
initrd /initrd-2.6.17-1.2142_FC4smp.img

Cette option n'est pas une option "légale" mais le noyau s'en moque et
stocke "double" dans /proc/cmdline

Un script dans /etc/rc.local fait alors le travail:

ECRAN=`cat /proc/cmdline | cut -d" " -f1`
if [ "$ECRAN" = "double" ]; then
cp /etc/X11/xorg.conf.double /etc/X11/xorg.conf
else
cp /etc/X11/xorg.conf.simple /etc/X11/xorg.conf
fi

Et j'ai, évidemment, deux xorg.conf correspondants aux deux possibilités.


Merci,

Je vais sûrement m'orienter vers l'option à 2 boots, ou alors un startx
différent pour l'option xinerama.
De toutes façons, le driver i810 ne semble pas encore assez stable pour
la carte 945GM pour espérer faire toutes les manips à chaud.
Il me suffit de mettre en veille pour que la configuration de xinerama
soit dans les choux, ou alors de faire startx/deconnexion plusieurs fois
de suite pour que je doivent redémarrer l'ordinateur.

Cordialement,
M.D