Pages : 1
#1 Le 09/05/2018, à 21:47
- Psv H
Problème multi-écran avec Super+P
Hello,
Je possède Ubuntu 18.04, sous Gnome, depuis peu et en suis ravi.
J'ai juste un souci avec le raccourci "Super+P" : les modes "Que l'externe" et "Que l'intégré" me renvoient la même chose que "Joindre écrans", à savoir un écran étendu.
"Joindre écran" et "Cloner" fonctionnent bien.
Je précise que tous les modes fonctionnent très bien quand j'utilise les paramètres > périphériques > écran.
Mes premières recherches m'ont amené vers le plugin Xrandr, en vain.
Quelqu'un a-t-il rencontré le même problème ?
Une précision : j'utilise le driver propriétaire Nvidia version 390 avec une carte GTX560. J'imagine que c'est lié d'une manière ou d'une autre...
Merci pour votre aide !
Hors ligne
#2 Le 11/05/2018, à 20:41
- Psv H
Re : Problème multi-écran avec Super+P
Nobody ?
Hors ligne
#3 Le 12/05/2018, à 10:50
- kholo
Re : Problème multi-écran avec Super+P
salut,
voilà un script à adapter issus d'un autre... tout est indiqué
pour résumer, cela repose sur xrandr
qui te renverra des infos sur les possibilités reconnues de l'ensemble carte graphique écran
xrandr
ensuite, tu adaptes les infos affichées et les résolutions
j'ai mis 5 choix possibles...
la routine, à la fin, permet de rafraîchir les bureaux quand leurs résolutions sont différentes
et tu as des exemples et des astuces
#!/bin/bash
#############################################################
#
# www.soupaloignon.net
# modifié par kholo kholo-informatique
#
# SP-Ecrans Externes
# 2014-07-05 : Version 0.3
# 2012-07-12 : Version 0.2
# 2010-07-14 : Version 0.1
#
# Permet d'activer un écran externe ou un vidéo projecteur avec les
# bonnes résolutions, tout en activant/désactivant l'écran de votre portable
#
# Le mode d'identification des sorties est différent suivant les puces graphiques.
# Pour connaitre les votres taper xrandr en console
# (necessite que xrandr soit installé)
#
# Pour pouvoir refermer le capot du portable sans le couper (Sous Gnome 2),
# taper en console :
# gconftool-2 --type string --set /apps/gnome-power-manager/buttons/lid_ac "nothing"
# cela va rajouter l'option "ne rien faire" lorsque l'écran du portable est rabattu,
# dans Systeme/preferences/gestionnaire d'energie
# Paramètres modifiables en fonction des besoins
# identification des sorties
#~ # identification de la sortie écran portable
#~ # (à paramétrer en fonction de votre puce graphique,
#~ # taper xrandr en console pour avoir l'information)
# EXEMPLE
#############################################################
#~ Screen 0: minimum 8 x 8, current 1280 x 1024, maximum 16384 x 16384
#~ DVI-I-0 disconnected (normal left inverted right x axis y axis)
#~ VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
#~ 1280x1024 60.0*+ 76.0 75.0 67.0
#~ 1280x960 60.0
#~ 1152x864 75.0
#~ 1024x768 75.0 70.1 60.0
#~ 800x600 75.0 72.2 60.3 56.2
#~ 640x480 75.0 72.8 59.9
#~ DVI-I-1 disconnected (normal left inverted right x axis y axis)
#~ HDMI-0 connected (normal left inverted right x axis y axis)
#~ 1920x1080 60.0 + 59.9 50.0 24.0 30.0 30.0 25.0
#~ 1280x1024 60.0
#~ 1280x720 60.0 59.9 50.0
#~ 1024x768 60.0
#~ 800x600 60.3
#~ 720x576 50.0 25.0
#~ 720x480 59.9 30.0
#~ 640x480 59.9 59.9
#############################################################
OUTPUTvga="VGA-0"
OUTPUThdmi="HDMI-0"
OUTPUTdvi="DVI-I-1"
#~ OUTPUTecranPortable="LVDS1"
# résolution de secours
MODE1024="1024x768"
# résolution de l'écran LCD externe
MODE1280="1280x1024"
# résolution de l'écran TV Sony
MODE1920="1920x1080"
#~ # résolution de l'écran de l'ordi portable
#~ MODEecranPortable="1280x800"
#~ # résolution du vidéo projecteur
#~ # EXEMPLE non testé :
#~ # xrandr --output VGA --pos 0x0 --mode 1024x768 --rate 60.00
#~ MODEvideoProj="1024x768"
# Fin des paramètres modifiables. Ne pas modifier ce qui suis, sauf si vous savez ce que vous faites ;)
#############################################################
# adapter les texte de la zenity ici ;°)
Explications="Choisir un mode :"
KA="VGA seul"
KB="VGA et HDMI"
KC="HDMI seul"
KD="clone sur la télé"
KE="bureau étendu"
choix="$(zenity --list --width=600 --height=300 --text="$Explications" --hide-column 1 --column "" --column "" 1 "$KA" 2 "$KB" 3 "$KC" 4 "$KD" 5 "$KE")"
# EXEMPLES
#~ xrandr --output $OUTPUTvga --mode $MODE1280
#~ xrandr --output $OUTPUTvga --off
#~ xrandr --output $OUTPUThdmi --mode $MODE1920
#~ xrandr --output $OUTPUThdmi --off
# EXEMPLES
#~ 1="Activer L'écran auxiliaire($MODElcd), désactiver l'écran du portable"
#~ 2="Activer l'écran du portable, désactiver l'écran auxiliaire"
#~ 3="Activer l'écran du portable, activer l'écran auxiliaire"
#~ 4="Activer video proj, activer l'écran du portable"
#~ 5="Activer video proj, désactiver l'écran du portable"
#~
#~ if [ $choix -eq 1 ] ; then
#~ xrandr --output $OUTPUTvga --mode $MODElcd
#~ xrandr --output $OUTPUTecranPortable --off
#~ fi
#~
#~ if [ $choix -eq 2 ] ; then
#~ xrandr --output $OUTPUTvga --off
#~ xrandr --output $OUTPUTecranPortable --mode $MODEecranPortable
#~ fi
#~
#~ if [ $choix -eq 3 ] ; then
#~ xrandr --output $OUTPUTvga --mode $MODElcd
#~ xrandr --output $OUTPUTecranPortable --mode $MODEecranPortable
#~ fi
#~
#~ if [ $choix -eq 4 ] ; then
#~ xrandr --output $OUTPUTvga --mode $MODEvideoProj
#~ xrandr --output $OUTPUTecranPortable --mode $MODEecranPortable
#~ fi
#~
#~ if [ $choix -eq 5 ] ; then
#~ xrandr --output $OUTPUTvga --mode $MODEvideoProj
#~ xrandr --output $OUTPUTecranPortable --off
#~ fi
case $choix in
1)
choisi="$KA"
xrandr --output $OUTPUTvga --mode $MODE1280
xrandr --output $OUTPUThdmi --off
;;
2)
choisi="$kKB"
xrandr --output $OUTPUTvga --mode $MODE1280
xrandr --output $OUTPUThdmi --mode $MODE1920
;;
3)
choisi="$KC"
xrandr --output $OUTPUTvga --off
xrandr --output $OUTPUThdmi --mode $MODE1920
;;
4)
choisi="$KD"
xrandr --output $OUTPUTvga --mode $MODE1280
xrandr --output $OUTPUThdmi --mode $MODE1280
;;
5)
choisi="$KE"
xrandr --output $OUTPUTvga --mode $MODE1280
xrandr --auto --output $OUTPUThdmi --mode $MODE1920 --right-of $OUTPUTvga
;;
# *)
# TODO en cas de problème
# xrandr --output $OUTPUTvga --mode $MODE1024
# xrandr --output $OUTPUThdmi --mode $MODE1024
# ;;
esac
# zenity --info --text="$choisi"
# selon les rapports de résolution entre écrans,
# nautilus peut avoir su mal à adapter le fond d'écran
selected_level=$(zenity --question --text="L'image est-elle bizarre ?")
if [ $? = 1 ]; then
# zenity --error --title="002" --text="traitement interrompu"
exit 0;
else
# killall nautilus
nautilus -q
#zenity --info --title="003" --text="je suis mort !"
nautilus &
sleep 2
# on rafraîchi les icônes du bureau
gsettings set org.gnome.desktop.background show-desktop-icons false
gsettings set org.gnome.desktop.background show-desktop-icons true
fi
exit 0
notice :
à mettre dans un fichier texte et le rendre exécutable
mkdir ~/bin
> ~/bin/ma_reso
chmod +x ~/bin/ma_reso
gedit ~/bin/ma_reso
coller le script ici
enregistrer et fermer...
exécuter
cd ~/bin; ./ma_reso
Hors ligne
#4 Le 12/05/2018, à 21:04
- Psv H
Re : Problème multi-écran avec Super+P
OK super, je vais tester, merci !
Hors ligne
#5 Le 14/05/2018, à 22:17
- Psv H
Re : Problème multi-écran avec Super+P
Bon, solution trop complexe pour moi, pas assez de maîtrise de Linux probablement...
Merci quand même !
Hors ligne
#6 Le 15/05/2018, à 12:41
- kholo
Re : Problème multi-écran avec Super+P
oh,... pas de soucis, je vais un peu vite et suis un peu présomptueux des capacités des lecteurs
dis moi où tu galères et je précise...
je reprends en simplifié
tu ouvres un terminal avec Ctrl + Alt + t
puis tu vas créer les fichiers et dossiers de cette façon :
mkdir ~/bin
> ~/bin/ma_reso
chmod +x ~/bin/ma_reso
maintenant tu édites le script qui est pour le moment vide
gedit ~/bin/ma_reso
et tu colles tel quel ce script (le même que l'autre mais extrêmement simplifié et dé-commenté)
#!/bin/bash
###########################################################
# Configuration des modes et sorties
OUTPUTA="VGA1"
OUTPUTB="HDMI3"
# résolutions
MODE1024="1024x768"
MODE1280="1280x1024"
MODE1920="1920x1080"
#############################################################
# adapter les textes de la zenity ici ;°)
Explications="Choisir un mode :"
KA="écran A seul"
KB="écran B seul"
KC=""
KD="A et B clone"
KE="A et B bureau étendu"
choix="$(zenity --list --width=600 --height=300 --text="$Explications" \
--hide-column 1 --column "" --column "" \
1 "$KA" 2 "$KB" 3 "$KC" 4 "$KD" 5 "$KE")"
case $choix in
1)
# choisi="$KA"
xrandr --output $OUTPUTA --mode $MODE1920
sleep .2
xrandr --output $OUTPUTB --off
;;
2)
# choisi="$KB"
xrandr --output $OUTPUTA --off
sleep .2
xrandr --output $OUTPUTB --mode $MODE1920
;;
3)
# choisi="$KC"
# xrandr --output $OUTPUTA --mode $MODE1920
# sleep .2
# xrandr --output $OUTPUTB --mode $MODE1920
;;
4)
# choisi="$KD"
xrandr --output $OUTPUTA --mode $MODE1920
sleep .2
xrandr --output $OUTPUTB --mode $MODE1920
;;
5)
# choisi="$KE"
xrandr --output $OUTPUTA --mode $MODE1920
sleep .2
xrandr --auto --output $OUTPUTB --mode $MODE1920 --right-of $OUTPUTA
;;
esac
exit 0
et tu vas devoir l'adapter pour ta configuration
tu ouvres un second terminal avec Ctrl + Alt + t et tu fais un
xrandr
ça va te donner des infos sur tes possibilités graphiques... et le nom de tes sorties :
par exemple sur une 16.04, j'ai en retour:
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 connected (normal left inverted right x axis y axis)
1920x1080 60.00 + 50.00 59.94 24.00 23.98
1920x1080i 60.00 50.00 59.94
1280x1024 60.02
1280x720 60.00 50.00 59.94
1024x768 60.00
800x600 60.32
720x576 50.00
720x576i 50.00
720x480 60.00 59.94
720x480i 60.00 59.94
640x480 60.00 59.94
VGA1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
1920x1080 60.00*+
1680x1050 59.95
1280x1024 60.02
1440x900 59.89
1280x720 60.00
1024x768 60.00
800x600 60.32
640x480 59.94
720x400 70.08
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
je vais un peu restreindre le retour pour mieux voir :
voici mes sorties (de la carte graphique entre autre)
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 connected (normal left inverted right x axis y axis)
VGA1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
on voit que HDMI3 et VGA1 sont 'connected'
Pour toi, ces noms peuvent être différents
nous avons nos sorties (enfin les miennes et toi les tiennent) et il faut adapter dans le script
# Configuration des modes et sorties
OUTPUTA="VGA1"
OUTPUTB="HDMI3"
ensuite toujours dans le retour de xrandr, tu as les résolutions acceptées par tes sorties 'connected'
pour moi, en résolution maxi, on voit :
HDMI3 connected (normal left inverted right x axis y axis)
1920x1080 60.00 + 50.00 59.94 24.00 23.98
et
VGA1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
bien pratique, j'ai les même possible : "1920x1080" et c'est celle que je vais utiliser
mais tu peux avoir une résolution différente sur les deux écrans
on ajoutera un petite routine plus tard si c'est le cas
maintenant, il faut adapter :
# résolutions
MODE1024="1024x768"
MODE1280="1280x1024"
MODE1920="1920x1080"
et adapter également les $MODExxxx :
pour moi tout en $MODE1920 soit "1920x1080"
NB : le choix 3 (KC) est désactivé car inutile mais on peut le conserver pour ajouter une possibilité plus tard.
NB 2 : tu remarqueras que c'est simple à lire
case $choix in
1)
# choisi="$KA"
xrandr --output $OUTPUTA --mode $MODE1920
sleep .2
xrandr --output $OUTPUTB --off
;;
2)
# choisi="$KB"
xrandr --output $OUTPUTA --off
sleep .2
xrandr --output $OUTPUTB --mode $MODE1920
;;
3)
# choisi="$KC"
# xrandr --output $OUTPUTA --mode $MODE1920
# sleep .2
# xrandr --output $OUTPUTB --mode $MODE1920
;;
4)
# choisi="$KD"
xrandr --output $OUTPUTA --mode $MODE1920
sleep .2
xrandr --output $OUTPUTB --mode $MODE1920
;;
5)
# choisi="$KE"
xrandr --output $OUTPUTA --mode $MODE1920
sleep .2
xrandr --auto --output $OUTPUTB --mode $MODE1920 --right-of $OUTPUTA
;;
esac
voilà, j'ai également ajouté un petit sleep (.2 pour 0.2 secondes) qui calme un peu le jeu entre les changements de réso et les allumage / extinction de moniteur.
maintenant UTILISATION :
si tu as créé le dossier ~/bin, il n'est pas encore ajouté à ton PATH, il faut déconnecter et reconnecter ton utilisateur ou redémarrer ta machine
ensuite un simple terminal (ctrl + alt + t) et
ma_reso
lancera le script et affichera la fenêtre zenity avec des cases à cocher.
si tout fonctionne, on ajoutera ensuite un fichier desktop sur ton bureau pour lancer le script en graphique
... bon, je pense n'avoir rien oublié !
Dernière modification par kholo (Le 15/05/2018, à 12:44)
Hors ligne
#7 Le 25/05/2018, à 15:28
- Psv H
Re : Problème multi-écran avec Super+P
Super merci je vais tester !
Hors ligne