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/11/2014, à 19: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 smile

Dernière modification par aaros (Le 15/11/2014, à 19: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 16/11/2014, à 00: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 16/11/2014, à 00:08)

Hors ligne