web-dev-qa-db-fra.com

Exécution d'un script au démarrage utilisant xrandr pour définir les options d'affichage

J'ai essayé de nombreuses méthodes pour que les commandes suivantes soient exécutées au démarrage

xrandr --output DFP10 --rotate left
xrandr --output DFP11 --right-of DFP10

Ceci est nécessaire car mon moniteur gauche est en portrait. Lorsque je lance Ubuntu Gnome 14.04.2, il définit DFP10 (le moniteur de portraits qui se trouve à gauche) sur la droite et ne le fait pas pivoter vers portrait).

J'ai essayé de mettre un script dans /etc/rc.local & usr/share/applications, en ajoutant la commande aux applications de démarrage sous la forme: xrandr --output DFP10 --rotate left && xrandr --output DFP11 --right-of DFP10.

Aucun de ces travaux. Pourtant, je sais que les commandes fonctionnent si je les exécute moi-même en terminal.

Voici un aperçu de la situation, que je pense pourrait être pertinent:

Je ne suis certainement pas un expert en la matière. Je sais qu'il existe un tas de fichiers de configuration différents pour l'édition des options d'affichage. xorg.conf, xorg.conf~ (une sauvegarde), xorg.conf.fglrx-0 et xorg.conf.fglxr-0 ~ (une sauvegarde) existent tous dans /etc/X11 mais leur modification ne résout pas mon problème.

La situation impliquant le pilote d'affichage est assez complexe. J'utilise la dernière fglrx- mises à jour sur mon AMD R9 280X, qui demandait du travail ... J'ai utilisé une solution de contournement pour l'installation du pilote le 14.04.2 (nécessaire en raison d'un bogue avec LTS Enablement Stacks )

TLDR; comment puis-je faire ceci: xrandr --output DFP10 --rotate left et ce xrandr --output DFP11 --right-of DFP10 exécuté au démarrage?

merci d'avance

2
Joe Thorpe

Ce que vous devez généralement faire dans ces situations est d’ajouter une petite pause dans la commande après la connexion. Ajoutez ceci à vos applications de démarrage:

/bin/bash -c "sleep 15&&xrandr --output DFP10 --rotate left && xrandr --output DFP11 --right-of DFP10" 

(Si c'est la commande qui fonctionne normalement)

La raison en est que la commande est probablement exécutée trop tôt, alors que le bureau est toujours en cours de chargement. Il se cassera alors.

Vous pouvez expérimenter un peu avec la durée sleep 15 pour voir ce qui est nécessaire ou possible.

3
Jacob Vlijm