Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1597 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Logiciels

  [xrandr] utilisation d'écran externe si connecté ET allumé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[xrandr] utilisation d'écran externe si connecté ET allumé

n°1237123
thana54
made in concept
Posté le 10-09-2010 à 08:50:43  profilanswer
 

[:cetrio:2]  
J'ai un petit soucis avec xrandr qui ne répond pas complétement à mes attentes.
 
J'expose ma situation:
J'ai un portable sous chipset intel (4500MHD), avec une sortie VGA et HDMI, réso 15" (1280x800), et un écran externe 26" (1920x1200).
Plusieurs cas d'utilisation:
Lorsque le portable est seul, pas de soucis j'utilise LVDS1 pour avoir l'image sur l'écran du portable.
Lorsque j'ai l'écran externe connecté et allumé, je ne veut utiliser que HDMI1 (et LVDS1 est off).
 
Pas de bureau étendu/clone de prévu, je préfère avoir tout sur le même écran.
 
Là où ca se corse, c'est la sortie de xrandr.
 
LVDS1 allumé et HDMI1 non connecté:

Code :
  1. Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192
  2. VGA1 disconnected (normal left inverted right x axis y axis)
  3. LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
  4.    1280x800       59.9*+
  5.    1024x768       60.0 
  6.    800x600        60.3     56.2 
  7.    640x480        59.9 
  8. HDMI1 disconnected (normal left inverted right x axis y axis)


 
LVDS1 allumé et HDMI1 connecté mais non allumé:

Code :
  1. Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192
  2. VGA1 disconnected (normal left inverted right x axis y axis)
  3. LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
  4.    1280x800       59.9*+
  5.    1024x768       60.0 
  6.    800x600        60.3     56.2 
  7.    640x480        59.9 
  8. HDMI1 connected (normal left inverted right x axis y axis)
  9.    1920x1200      60.0 +


 
LVDS1 allumé et HDMI1 connecté et allumé:

Code :
  1. Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 8192 x 8192
  2. VGA1 disconnected (normal left inverted right x axis y axis)
  3. LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
  4.    1280x800       59.9*+
  5.    1024x768       60.0 
  6.    800x600        60.3     56.2 
  7.    640x480        59.9 
  8. HDMI1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 550mm x 343mm
  9.    1920x1200      60.0*+


 
LVDS1 éteint et HDMI1 connecté et allumé:

Code :
  1. Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 8192 x 8192
  2. VGA1 disconnected (normal left inverted right x axis y axis)
  3. LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
  4.    1280x800       59.9*+
  5.    1024x768       60.0 
  6.    800x600        60.3     56.2 
  7.    640x480        59.9 
  8. HDMI1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 550mm x 343mm
  9.    1920x1200      60.0*+


 
Avec ca, j'en ai déduis qu'un écran allumé avait une résolution préférée assignée (" connected " + "1920x1200+0+0" dans mon cas).
Mais xrandr ne semble pas me donner le même résultat.  
 
Par exemple, en branchant l'écran sur la sortie HDMI, xrandr me donne ca:
LVDS1 allumé et HDMI1 connecté mais non allumé:
 
LVDS1 allumé et HDMI1 passage de connecté et allumé à déconnecter et éteint:

Code :
  1. Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 8192 x 8192
  2. VGA1 disconnected (normal left inverted right x axis y axis)
  3. LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
  4.    1280x800       59.9*+
  5.    1024x768       60.0 
  6.    800x600        60.3     56.2 
  7.    640x480        59.9 
  8. HDMI1 disconnected 1920x1200+0+0 (normal left inverted right x axis y axis) 550mm x 343mm


Ok pour disconnected, mais la résolution est toujours présente [:transparency]
 
Je rebranche l'écran externe sans l'allumer:
LVDS1 allumé et HDMI1 connecté et non allumé:

Code :
  1. Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 8192 x 8192
  2. VGA1 disconnected (normal left inverted right x axis y axis)
  3. LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
  4.    1280x800       59.9*+
  5.    1024x768       60.0 
  6.    800x600        60.3     56.2 
  7.    640x480        59.9 
  8. HDMI1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 550mm x 343mm
  9.    1920x1200      60.0*+


Ah bah là, il semble connecté et allumé :/
"connected" renvoi donc l'état physique de la sortie (quelque chose est branché dessus ou pas).
Mais comment être certain qu'un écran est bel et bien allumé ?
 
Je me suis inspiré de ce lien: http://www.thinkwiki.org/wiki/Xorg [...] t_on_login
La première ouverture de session fonctionne bien quand l'écran externe est effectivement allumé et branché, mais pas par la suite si je décide de changer de configuration.
 
Mon petit script adapté:

Code :
  1. #!/bin/sh
  2. # If an external monitor is connected, place it with xrandr
  3. # External output may be "VGA" or "VGA-0" or "DVI-0" or "TMDS-1"
  4. EXTERNAL_OUTPUT="HDMI1"
  5. INTERNAL_OUTPUT="LVDS1"
  6. # EXTERNAL_LOCATION may be one of: left, right, above, or below
  7. EXTERNAL_LOCATION="right"
  8. case "$EXTERNAL_LOCATION" in
  9.        left|LEFT)
  10.                EXTERNAL_LOCATION="--left-of $INTERNAL_OUTPUT"
  11.                ;;
  12.        right|RIGHT)
  13.                EXTERNAL_LOCATION="--right-of $INTERNAL_OUTPUT"
  14.                ;;
  15.        top|TOP|above|ABOVE)
  16.                EXTERNAL_LOCATION="--above $INTERNAL_OUTPUT"
  17.                ;;
  18.        bottom|BOTTOM|below|BELOW)
  19.                EXTERNAL_LOCATION="--below $INTERNAL_OUTPUT"
  20.                ;;
  21.        *)
  22.                EXTERNAL_LOCATION="--left-of $INTERNAL_OUTPUT"
  23.                ;;
  24. esac
  25. XRANDR_EXTERNAL=`xrandr |grep $EXTERNAL_OUTPUT`;
  26. IS_CONNECTED=`echo $XRANDR_EXTERNAL |grep " connected " |wc -l`;
  27. IS_ON=`echo $XRANDR_EXTERNAL |sed 's/.* connected //' |sed 's/(.*//' |wc -m`;
  28. if [ $IS_CONNECTED -eq 1 ]; then
  29.     if [ $IS_ON -ne  1 ]; then
  30.         echo "connecté et allumé";
  31.         xrandr --output $EXTERNAL_OUTPUT --mode 1920x1200 --pos 0x0 --rotate normal --output $INTERNAL_OUTPUT --off
  32.     # xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --auto $EXTERNAL_LOCATION
  33.     # Alternative command in case of trouble:
  34.     # (sleep 2; xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --auto $EXTERNAL_LOCATION) &
  35.     fi
  36. else
  37.     xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --off
  38. fi


A vot' bon coeur :jap:

mood
Publicité
Posté le 10-09-2010 à 08:50:43  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Logiciels

  [xrandr] utilisation d'écran externe si connecté ET allumé

 

Sujets relatifs
résolution écran / police inadaptéedesactiver l'affichage de logs à l'écran
Sendmail n'evoie que sur les adresse externe[Solaris] Utilisation d'openGL sur un display exporté
Comprehension utilisation de la mémoire sous linux[FEDORA CORE 12] Ecran noir si démarrage non-graphique (run level 3)
Ecran noir pendant installation....Xrandr : probleme graphique avec le composite
Capture d'ecran de tty ?Crash au démarrage de linux avec deux écran
Plus de sujets relatifs à : [xrandr] utilisation d'écran externe si connecté ET allumé


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR