web-dev-qa-db-fra.com

Comment puis-je contrôler la configuration du moniteur KDE à partir d'un script?

Chaque matin, je viens travailler, branchez mon ordinateur portable endormi sur le grand écran de mon bureau, puis tripotez cette boîte de dialogue:

screenshot of KDE "display settings" dialog

J'imagine que le résultat de ce bidouillage est que l'application "Paramètres d'affichage" écrit la nouvelle configuration du moniteur dans un fichier, puis envoie un signal au gestionnaire de fenêtres pour remarquer que les paramètres ont changé. Je voudrais le faire moi-même et le contrôler directement, à cette fin ainsi que pour d'autres.

Si je pouvais trouver le nom du processus qui produit la boîte de dialogue ‘Display Settings’, je pourrais l'exécuter avec strace et voir ce qu'il fait, mais je n'ai pas pu le découvrir non plus.

Mes questions sont:

À quel programme appartient cette boîte de dialogue? Que dois-je rechercher dans la sortie ps pour l'identifier? Et que fait-il réellement lorsqu'il modifie la configuration du moniteur?

J'utilise KDE 4.8.5.

2
MJD

L'utilitaire xrandr peut être contrôlé à partir d'un script. La configuration indiquée dans la capture d'écran peut être obtenue en exécutant la commande:

xrandr \
 --output LVDS-1 --mode 1680x1050 --pos 1080x1120 --rotate normal \ 
 --output DVI-D-1 --off --output VGA-1 --mode 1920x1080 --pos 0x0 --rotate left          

Pour générer cette ligne de commande, j'ai utilisé arandr. Il présente une boîte de dialogue similaire à celle de la question d'origine, mais plus simple, et dispose ensuite d'une option "enregistrer" qui enregistre l'invocation xrandr correcte dans un fichier.

Après avoir utilisé la boîte de dialogue arandr pour configurer les moniteurs comme je le souhaite, j'enregistre la configuration dans un fichier, par exemple ~/.screenlayout/office.sh. L'exécution de ce fichier en tant que script Shell restaure la configuration enregistrée. J'ai écrit un script Shell trivial, disp, qui exécute $HOME/.screenlayout/$1.sh, donc quand j'arrive au bureau, je tape simplement disp office sur la ligne de commande pour restaurer la configuration du moniteur de bureau. Quand je rentre chez moi, je tape disp 1, qui exécute ~/.screenlayout/1.sh, où j'ai enregistré la configuration par défaut d'un moniteur.

Toujours pas de réponses aux autres questions dans mon article, bien que probablement la boîte de dialogue de la question d'origine exécute xrandr elle-même pour changer la configuration de l'écran.

5
MJD