#1 Le 15/11/2014, à 18:36
- aaros
[Script/bash] basculer automatiquement en HDMI au branchement du câble
Salut!
Je ne sais pas comment cela fonctionne chez vous, mais mon pc n'a pas l'air très doué lorsqu'il s'agit de basculer sur un autre écran. J'ai trouvé un script et l'ai adapté pour que l'affichage et le son basculent automatiquement sur l'écran HDMI lorsque celui-ci est branché et pour effectuer l'opération inverse lorsqu'on le débranche.
C'est un surtout un moyen de contourner un problème, mais ça fonctionne plutôt bien pour moi et ça bascule l'audio en même temps. Bien entendu vous aurez probablement besoin de l'adapter à vos propres besoins
#!/bin/bash
# adapted from http://unix.stackexchange.com/questions/4489/
# default monitor is LVDS1
MONITOR=LVDS1
# functions to switch from LVDS1 to HDMI1
function ActivateHDMI {
xrandr --output HDMI1 --mode 1920x1080 --dpi 160 --output LVDS1 --off
pactl set-card-profile 0 output:hdmi-stereo-extra1
MONITOR=HDMI1
}
function DeactivateHDMI {
xrandr --output HDMI1 --off --output LVDS1 --auto
pactl set-card-profile 0 output:analog-stereo
MONITOR=LVDS1
}
# functions to check if HDMI is connected and in use
function HDMIActive {
[ $MONITOR = "HDMI1" ]
}
function HDMIConnected {
[[ `xrandr | grep "^HDMI1" | grep -c disconnected` -eq 0 ]]
}
# actual script
while true
do
if ! HDMIActive && HDMIConnected
then
ActivateHDMI
fi
if HDMIActive && ! HDMIConnected
then
DeactivateHDMI
fi
sleep 1s
done
N'hésitez pas me donner vos avis ou améliorations
Dernière modification par aaros (Le 15/11/2014, à 18:37)
Je pose beaucoup de questions, mais c'est pour pouvoir mieux répondre à l'avenir :)
Avatar: Geass by Koveras at en.wikipedia [CC-BY-SA-3.0], from Wikimedia Commons
Hors ligne
#2 Le 15/11/2014, à 23:05
- metalux
Re : [Script/bash] basculer automatiquement en HDMI au branchement du câble
Salut aaros,
Je pensais justement tester une solution pour basculer le son automatiquement, j'ai vu quelque chose à ce sujet dans la documentation mais il faut que je recherche, je ne sais plus sur quelle page.
Pour ma part, aucun souci pour l'image, elle bascule automatiquement sur l'écran raccordé à la prise HDMI.
J'ai quelques suggestion à te faire. Si tu stockes les résultats dans une variable, ça permet d'automatiser un peu plus ton script:
MONITOR=$(xrandr | awk '$2=="connected" {print $1}')
Tu peux sans doute en faire autant avec pactl de façon à récupérer le bon profil en t'aidant de la commande suivante:
profil=$(pactl list sinks | grep -E "Sink|Description")
Cette commande sera à adapter et filtrer, c'est juste une piste pour automatiser tout ça.
Pour information xrandr pose souci sur les PC avec optimus pour récupérer $MONITOR. Dans ce cas il faudrait passer les paramètres manuellement mais pas sûr que les autres commandes xrandr soient fonctionnelles sur ce genre de configuration.
Je n'ai pas d'HDMI de disponible, je n'ai pas encore testé ton script mais je le ferai un peu plus tard.
Dernière modification par metalux (Le 15/11/2014, à 23:08)
Hors ligne