Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/03/2013, à 10:44

supermandale

Double écrans espace de travail séparés

Bonjour,

Je suis sous Ubuntu 12.04 x64 . Je souhaiterais mettre en place un double écran sur des espaces séparés.

Je me suis documenté un peu et vu qu'il existait des options spécifiques comme "Separate x screen" sur
les cartes nvidia et une option similaire sur les cartes ATI. Le problème est que j'ai une carte Intel
et n'ai pas de logiciel intégré pour modifier les options graphiques de la carte (ou n'ai pas su le trouver)

Je mets le résultats de quelques commandes :

# lspci -vnn | egrep "VGA|3D|Display"

00:02.0 VGA compatible controller [0300 a écrit :

: Intel Corporation Ivy Bridge Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])]

# lshw -c video

00:02.0 VGA compatible controller [0300 a écrit :

: Intel Corporation Ivy Bridge Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])
  *-display
       description: VGA compatible controller
       produit: Ivy Bridge Graphics Controller
       fabriquant: Intel Corporation
       identifiant matériel: 2
       information bus: pci@0000:00:02.0
       version: 09
       bits: 64 bits
       horloge: 33MHz
       fonctionnalités: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       ressources: irq:48 mémoire:d0000000-d03fffff mémoire:c0000000-cfffffff portE/S:3000(taille=64)]

Je ne suis pas expert linux donc je me permet de demander votre aide.

Merci d'avance.

Hors ligne

#2 Le 15/03/2013, à 12:16

richardgilbert

Re : Double écrans espace de travail séparés

Bonjour;
Je ne suis pas sur de répondre à ton soucis.
"Paramètres système" -> "Affichage" -> décocher "Même image sur tout les écrans"


Debian, Ubuntu, Xubuntu, Lubuntu & Linuxmint.

Hors ligne

#3 Le 18/03/2013, à 13:31

supermandale

Re : Double écrans espace de travail séparés

Merci pour ta réponse.

Non cela ne répond pas à ma question actuellement les écrans sont étendus. Mais, ils sont vu comme l'espace de travail 1 (les deux écrans). Je voudrais que l'écran 1 soit espace de travail 1 et l'écran 2 soit
l'espace de travail 2 . Ce qui me permettrait de switcher des fenêtres d'un écran à l'autre à l'aide des raccourcis ubuntu (ctrl+shift+droite par exemple).

Si quelqu'un avait une idée ou en connait un peu plus que moi je suis preneur.

Merci d'avance,
a+

Hors ligne

#4 Le 26/03/2013, à 16:31

supermandale

Re : Double écrans espace de travail séparés

Quelqu'un aurait-il une solution ?

Hors ligne

#5 Le 03/07/2015, à 14:03

jeffhamel

Re : Double écrans espace de travail séparés

Salut

Je suis le gagnant toutes catégories du déterrage de topics de l'année. Bon, pas grave, au pire, ça me servira d'aide mémoire.

Je suis sous xfce, j'ai deux écrans au boulot, j'ai cherché longtemps à assigner un espace de travail (un bureau, quoi) à chacun de mes écrans, parce-que je trouvais pratique les raccourcis claviers qui permettent de passer d'un bureau à l'autre, et de changer une fenêtre de bureau (pour le coup, rien que ces fonctionnalités, ça devrait pousser tout le monde à rejoindre linux, c'est hyper pratique).

Bon, ça, c'était pour l'intro, et pour le suspens.

Détendez vous, j'ai pas trouvé la solution, je sais pas assigner un bureau différent à chacun de mes écrans. Mais il y a un mais.

Si votre but n'est pas d'assigner un bureau différent à chacun des écrans, mais simplement de pouvoir changer d'écran la fenêtre sur laquelle vous travaillez (la fenêtre openoffice de gauche, là, pouf! à droite, et plus vite que ça!), je crois que j'ai trouvé un truc (enfin, trouvé... retrouvé, tout n'est jamais que l'art de la redécouverte, hein!)

Il faut installer 2 applis : xdotool et wmctrl (sodo apt-get machin...)

Il faut connaître la taille de son écran de gauche (enfin, la largeur, c'est suffisant. un petit xrandr, si vous savez pas, ou Paramètres -> Affichage -> Résolution. Vous pouvez pas dire que je détaille pas)

Il faut faire un bout de code bash. Moi, j'ai 2 écrans, dont celui de gauche fait 1280 de large. Je crée un fichier que j'appelle movemonito.sh, par exemple, et qui contiend ce qui suit:

#!/bin/bash

window_id=`xdotool getactivewindow`
x=`xwininfo -id $window_id | awk '/Absolute upper-left X:/ { print $4 }'`
y=`xwininfo -id $window_id | awk '/Absolute upper-left Y:/ { print $4 }'`
window_state=`xprop -id $window_id _NET_WM_STATE | awk '{ print $3 }'`
wmctrl -ir $window_id -b remove,maximized_vert,maximized_horz
if [ $x -ge 1280 ]
then
new_x=`expr $x - 1280`
else
new_x=`expr $x + 1280`
fi
xdotool windowmove $window_id $new_x $y
if [ -n "$window_state" ]; then
wmctrl -ir $window_id -b add,maximized_vert,maximized_horz
fi

exit 0

Un raccourci clavier pour lancer ce bout de code, et c'est gagné (Paramètre -> clavier -> raccourci des applications, définir un nouveau raccourci qui lance la commande bash /là/ou/j'ai/rangé/le/fichier/movemonitor.sh, et roulez.

Un peu d'explication?

Moi, j'aime bien quant on m'explique, allez, je me fais plaisir.

J'ai une fenêtre active, je la définis:

window_id=`xdotool getactivewindow`

Je récupère sa position sur mon écran (l'idée est de repositiionner la fenetre au même endroit, mais sur l'écran d'à coté):

x=`xwininfo -id $window_id | awk '/Absolute upper-left X:/ { print $4 }'`
y=`xwininfo -id $window_id | awk '/Absolute upper-left Y:/ { print $4 }'`

Sauf que... je ne peux déplacer qu'une fenêtre qui n'est pas maximisée, avec wdotool. Bon, pas grave, je vais regarder si ma fenetre est maximisée:

window_state=`xprop -id $window_id _NET_WM_STATE | awk '{ print $3 }'`

et si de fait, elle était maximisée, je la "démaximise" (mouais, peut-etre un autre mot, le connais pas, moi)

wmctrl -ir $window_id -b remove,maximized_vert,maximized_horz

Maintenant, je regarde si la fenêtre est sur l'écran de gauche ou de droite. Comme les deux écrans sont considérés comme positionnés l'un à coté de l'autre, c'est à dire comme si j'avais un "super grand écran qui correspond à mes deux écrans réunis", il suffit que je regarde si ma fenêtre, sur ce "super grand écran", est positionné dans la partie gauche de l'écran (c'est à dire l'écran de gauche, c'est à dire dans mon cas, position x < 1280), ou dans la partie droite (ceux qui auront suivi auront compris que cela signifie l'écran de droite, donc x > 1280)

Ma nouvelle position de fenêtre, pour les "x", sera donc mon ancienne position, plus ou moins 1280, selon que je reviens à gauche, ou que je vais à droite:

if [ $x -ge 1280 ]
then
new_x=`expr $x - 1280`
else
new_x=`expr $x + 1280`
fi

Maintenant, facile, j'ai plus qu'à dépacer ma fenetre :

xdotool windowmove $window_id $new_x $y

Et à remaximiser ma fenetre si celle-ci était maximisée initialement

if [ -n "$window_state" ]; then
wmctrl -ir $window_id -b add,maximized_vert,maximized_horz
fi

Et tout ça en un raccourci clavier, elle est pas belle la vie?

Edit: j'ai pas fais de raccourci clavier pour tourner la tête à droite ou à gauche, me dis que ça, ça devrait pouvoir se faire tout seul...


Moralité: j'ai pas un espace de travail différent pour chacun de mes écrans, mais je peux déplacer mes fenêtres par raccourci clavier de l'un à l'autre. Après, en réglant correctement les barres de tache, notamment les boutons de fenêtre (notamment en dé-cliquant "afficher les fenêtres de tous les moniteurs"), ça devient vraiment pas mal

Il reste le truc que quand on change d'espace de travail, ba ca change le contenu des deux écrans, mais bon, c'est déja pas mal (j'avais commencé par ça, les cocos, je n'ai pas la solution, mais un truc qui peut rendre deux trois services...)

Hors ligne