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 29/08/2017, à 09:40

Crestey

[Résolu] Comment changer d'écran en ligne de commande ?

Bonjour à tous,
J'ai un PC sous xubuntu16.04 avec 2 écrans de tailles différentes. Un de 22" classique et un autre qui est un grand écran plat  samsung pour visionner des films.
En utilisation courante, je suis soit sur l'un, soit sur l'autre, mais jamais les 2 en même temps.
Pour permuter de l'un à l'autre, je fais les réglages dans Paramètres/Affichage.
Ça fonctionne, mais c'est à chaque fois long et fastidieux, d'autant que la télé samsung est physiquement décalée, et m'oblige à changer de lunettes.
Je souhaite donc réaliser cette permutation par une ligne de commande que j'intégrerai dans un raccourcis clavier.
Je ne suis pas assez calé pour faire ça. Pourriez-vous m'aider SVP ?

Dernière modification par Crestey (Le 29/08/2017, à 15:12)


Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.

Hors ligne

#2 Le 29/08/2017, à 10:39

kholo

Re : [Résolu] Comment changer d'écran en ligne de commande ?

salut,
avant de voir un raccourcis clavier, tu peux commencer par faire un voire quelques scripts
tout cela va se faire avec xrandr
un fil récent va un peu plus loin mais ma réponse est valable pour toi

Hors ligne

#3 Le 29/08/2017, à 11:07

Crestey

Re : [Résolu] Comment changer d'écran en ligne de commande ?

Merci kholo, ce fil devrait me suffire effectivement. Je vois ça et tiens au jus.

P.S. : Par contre je ne comprends pas quand tu dis "... avant de voir un raccourcis clavier, tu peux commencer par faire un voire quelques scripts ..."


Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.

Hors ligne

#4 Le 29/08/2017, à 12:21

kholo

Re : [Résolu] Comment changer d'écran en ligne de commande ?

sur mon PC de salon j'ai créé 3 scripts :
1 pour écran PC seul
1 pour écran PC + TV
1 pour écran TV seul
j'utilise docky et me suis mis une dock escamotable en haut de l'écran uniquement pour cet usage
et trois raccourcis sur le bureau.
ensuite, pour aller plus loin, tu pourras créer des raccourcis vers chacun de ses scripts...
ou faire un script avec une liste de choix...
...

Hors ligne

#5 Le 29/08/2017, à 12:23

Crestey

Re : [Résolu] Comment changer d'écran en ligne de commande ?

ok super merci ! smile


Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.

Hors ligne

#6 Le 29/08/2017, à 14:54

Crestey

Re : [Résolu] Comment changer d'écran en ligne de commande ?

Bon, ça marche nickel !
Résumé :
J'ai créé le script suivant

xrandr --output "DVI-0" --off && xrandr --output "DVI-1" --auto

placé dans le fichier ".g"
J'ai créé le script suivant

xrandr --output "DVI-1" --off && xrandr --output "DVI-0" --auto

placé dans le fichier ".d"
J'ai rendu .g et .d exécutables.
J'ai affecté la commande xterm -e ~/.g à "Ctrl+Shift+G"
J'ai affecté la commande xterm -e ~/.d à "Ctrl+Shift+D"
et ça commute sur l'écran de gauche ou celui de droite respectivement avec les raccourcis affectés.
Merci kholo ! smile

P.S. j'ai dans un premier temps affecté directement la commande "xrandr --output "DVI-1" --off && xrandr --output "DVI-0" --auto" au raccourci, mais ça ne marche pas.
A priori, le raccourci n'accepte pas plusieurs commande. roll


Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.

Hors ligne

#7 Le 29/08/2017, à 15:15

kholo

Re : [Résolu] Comment changer d'écran en ligne de commande ?

super, t'es un chef ! cool
bons retours ; ça servira sûrement à d'autres !
[Résolu] alors !

je pense que c'est une bonne habitude de passer par un script
ça permet spécifique à un utilisateur et / ou à la machine,
d'être explicite (verbeux),
... et corriger des bugs éventuels :
mon fond d'écran partait en sucette avec des résolutions différentes
j'ai ajouté une routine pour tuer nautilus et le relancer... pas terrible mais efficace !

Hors ligne

#8 Le 29/08/2017, à 15:51

Crestey

Re : [Résolu] Comment changer d'écran en ligne de commande ?

C'est trop d'honneur !
Sinon pour parfaire la chose, j'aurais une dernière question.

Ma séquence classique est la suivante :
1) Je sélectionne un film sur le pc et le lance avec vlc
2) Je mets en plein écran en double cliquant sur la fenêtre vlc
3) Je permute sur la tv avec mon super raccourci clavier pour voir mon film tranquillou, les doigts de pieds en éventail sur ma tv.

Seul petit défaut, c'est que le bandeau du tableau de bord qui avait disparu lors de la mise en plein écran (faite sur le pc), réapparait alors sur l'écran de la tv. Il faut alors refaire un clic ("simple" cette fois, bizarrement) sur la fenêtre vlc de la tv.
C'est vraiment du détail et j'ai un peu honte, mais y-aurait-il une commande (à rajouter dans mon script) qui m'éviterait ce clic ? (commande vlc sans doute ?)

Dernière modification par Crestey (Le 29/08/2017, à 15:54)


Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.

Hors ligne

#9 Le 29/08/2017, à 16:04

kholo

Re : [Résolu] Comment changer d'écran en ligne de commande ?

change juste la séquence :
1. changement d'écran
2. lancement vlc
ou vlc changement écran puis vlc en plein écran

sinon il faut jouer avec wmctrl pour choper la fenêtre
et peut être xdotool pour envoyer des raccourcis clavier
mais changer le process est de loin le plus simple !

Hors ligne

#10 Le 29/08/2017, à 16:15

Crestey

Re : [Résolu] Comment changer d'écran en ligne de commande ?

oui j'y ai bien pensé, le problème c'est que je n'ai pas trop le contrôle quand je suis sur le grand écran.
Pour bien appréhender le problème, c'est un peu comme si il était dans une autre pièce.
J'ai vu qu'en appuyant 2 fois sur "f" (raccourcis de vlc) après permutation, ça le faisait aussi.
Merci en tout cas. smile


Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.

Hors ligne

#11 Le 29/08/2017, à 17:03

kholo

Re : [Résolu] Comment changer d'écran en ligne de commande ?

mé il nen é po question...

wmctrl -a VLC && {
	xdotool type f 
	xdotool type f 
	}

à la fin du script
lol
ça peut être plus précis en faisant des test sur la fenêtre de VLC
mais ça devrait marcher
NB je n'ai qu'une seule instance autorisée dans la configuration de VLC
mais si ce n'est pas le cas et qu'une autre instance de VLC est ouverte, le code peut se tromper de fenêtre

Dernière modification par kholo (Le 29/08/2017, à 17:06)

Hors ligne

#12 Le 29/08/2017, à 17:30

Crestey

Re : [Résolu] Comment changer d'écran en ligne de commande ?

Trop cool !
Du coup j'ai ajouté aussi une ligne pour firefoxe (youtube) et les 2 fonctionnent nickel. Merci encore. smile smile smile smile smile smile smile smile smile smile smile

Mon script pour aller sur la tv :

xrandr --output "DVI-0" --off && xrandr --output "DVI-1" --auto
sleep 5
wmctrl -a firefox && xdotool type f
wmctrl -a vlc && xdotool type f 

Dernière modification par Crestey (Le 29/08/2017, à 17:31)


Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.

Hors ligne

#13 Le 29/08/2017, à 17:50

kholo

Re : [Résolu] Comment changer d'écran en ligne de commande ?

cool
sleep 5 ça me parait long... (c'est en secondes et ça accepte les décimaux : [pe] : 2.6 )
si ça t'intéresse et si d'autres suivent :
infosWindows donne la taille de la fenêtre active (trouvé ici)
trouve VLC
-> si VLC plein écran ALORS tape 2 fois la touche f
SINON tape 1 fois la touche f passe en plein écran

infosWindows () {
	set $(xwininfo -id $(xdotool getactivewindow) \
	|sed -n -e "s/^ \+Width: \([0-9]\+\).*/\1/p" \
	-e "s/^ \+Height: \([0-9]\+\).*/\1/p")
	echo -n "$1 $2"
	}

wmctrl -a VLC && {
	sleep 1 # pour laisser le temps d'avoir le focus validé
	REZ="$(infosWindows)"
	# adapter REZ "1280 720" "1366 768"
	if [[ $REZ != "1920 1080" ]]
	then
		xdotool type f 
		xdotool type f 
	else
		xdotool type f 
	fi
	}

après on peut ajouter un routine pour avoir la résolution de l'écran au lieu de devoir la mettre à la main mais si on généralise trop il faut faire les autres tests ; combien d'écrans allumés, lequel à VLC...

bons films ! lol

Hors ligne

#14 Le 30/08/2017, à 07:54

Crestey

Re : [Résolu] Comment changer d'écran en ligne de commande ?

Bonjour kholo. je te répond :
Pour sleep 5, j'ai mis 5 car ça met au moins 3 secondes à permuter. Et en fait j'aime bien voir l'opération de mise en plein écran se faire.
Pour 1 ou 2 appui sur "f" en fait, de ce que j'ai pu tester, un seul appui sur "f" suffit (pour mon utilisation).
En effet quand je lance un film avec vlc sur le pc, il est de façon aléatoire soit en "fenêtre réduite" (qui n'occupe pas tout l'écran), soit en "pleine fenêtre" (fenêtre qui occupe tout l'écran hors mis le bandeau du tableau de bord).
Depuis ces 2 états, un seul appui sur "f" met le film en "plein écran" (fenêtre qui occupe tout l'écran y compris le bandeau du tableau de bord, donc différent du plein écran).
De plus, je n'ai pas vraiment de raison de mettre en plein écran sur le pc avant permutation, puisque je visionne toujours sur la tv. Mais si d'aventure, je le fais et permute sur tv après cette mise en plein écran sur pc, alors, et c'était ça mon problème initial, le film repasse en "pleine fenêtre", me ré-affichant le tableau de bord sur tv. Et dans ce cas aussi, un seul appui sur "f" suffit pour repasser en plein écran.

Dernière modification par Crestey (Le 30/08/2017, à 07:59)


Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.

Hors ligne

#15 Le 30/08/2017, à 08:44

kholo

Re : [Résolu] Comment changer d'écran en ligne de commande ?

le double ff est pour "rafraîchir" si est en plein écran
REZ est la résolution de la fenêtre de vlc
if [[ $REZ != "1920 1080" ]] si la REZ est plein écran alors double ff (si bug de la barre du haut qui reste)

Hors ligne

#16 Le 30/08/2017, à 08:59

Crestey

Re : [Résolu] Comment changer d'écran en ligne de commande ?

ok pigé merci !


Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.

Hors ligne