Existe-t-il un moyen de détecter automatiquement lorsqu'un écran est déconnecté?

20

J'utilise Ubuntu sur un Dell Latitude avec les derniers pilotes Nvidia. Fondamentalement, ce que je veux, c'est lorsque je déconnecte mon écran externe que tout revient à l'écran principal sans avoir à changer la configuration à chaque fois.

Toute aide est la bienvenue!

Diego
la source
Avez-vous essayé sudo xrandr --autoaprès un changement?
Popinou

Réponses:

11

Installez d'abord disper , puis téléchargez autorandr et suivez ces instructions:

  • Lorsque le moniteur externe est désamarré , exécutez la commande suivante dans le terminal:

    auto-disper.sh --save undocked
    
  • Lorsque le moniteur externe est ancré et configuré comme vous le souhaitez (avec les paramètres du serveur Nvidia X), exécutez:

    auto-disper.sh --save docked
    
  • Essayer:

    auto-disper.sh --change
    

    avec moniteur ancré et non ancré. Il doit détecter l'état et modifier la configuration.

  • Enfin, créez un raccourci clavier pourauto-disper.sh --change

J'ai essayé de faire un script qui l'exécute toutes les 3 secondes, donc la détection automatique fonctionne, mais utilise trop de ressources. J'espère que cela peut vous aider!

Vinços
la source
1
Ce projet a été fusionné dans autorandr et n'est disponible que pour que les liens fonctionnent. Veuillez vérifier autorandr. github.com/wertarbyte/autorandr
belacqua
1
disper n'est pas dans les référentiels 10.10. Il est disponible en tant que ppa: launchpad.net/~disper-dev/+archive/ppa
belacqua
1

Il s'agit d'une limitation de Nvidia Twinview sous Linux. Le pilote open source fonctionnera comme prévu (bien que vous perdrez l'accélération 3D et Compiz).

Jonathon
la source
1

Je suis à peu près dans la même situation. J'utilise un ordinateur portable qui est parfois connecté à mon moniteur externe. Quand c'est le cas, je veux généralement utiliser uniquement ce moniteur (car je l'ai également connecté à un clavier et une souris externes).

Ce que j'ai trouvé, c'est que si vous avez un fichier appelé .xprofile , il est appelé à chaque initialisation de l'affichage (par X.org?). Voici le contenu de mon dossier. Comme vous pouvez le voir, je l'ai adapté d' ici .

Ce que vous devez faire est de l'enregistrer dans ~ / .xprofile puis de le rendre exécutable ( chmod + x .xprofile ). Vérifiez comment vos moniteurs internes et externes sont appelés - faites-le en exécutant xrandr sans arguments. Les miens sont VGA1 et LVDS1 respectivement. La dernière chose consiste à définir la variable EXTERNAL_RES à la résolution native de votre moniteur externe.

Maintenant au démarrage, le moniteur connecté sera utilisé s'il est connecté. La partie délicate est l'automatisation (comme retirer le câble pendant que Ubuntu est en cours d'exécution). Je n'ai pas trouvé de très bonne solution pour cela, mais il semble que passer à une console virtuelle et inverser fasse l'affaire (Ctrl-Alt-F1 puis Ctrl-Alt-F7). C'est un peu plus rapide que de parcourir toutes les possibilités avec la touche Fn (qui gâche parfois aussi l'affichage).

chris
la source
1

Utilisez Disper . Après l'avoir installé, vous souhaiterez peut-être créer deux raccourcis:

  1. Pour passer à l'affichage externe à la résolution maximale: CTRL + E -> disper "max" -S
  2. pour revenir à l'affichage principal: CTRL + P -> disper "max" -s
Diego De Rosa
la source
0

Vous pouvez toujours simplement appuyer sur Fn+ F8après avoir déconnecté le moniteur. Cela va probablement le changer en arrière.

Ryan C. Thompson
la source
Cela ne fonctionne pas sur mon ordinateur. Les touches FN ne font rien. Savez-vous ce qui pourrait être?
Diego
@Diego pour moi, juste utiliser F8 a bien fonctionné. sans utiliser la touche de fonction conjointement.
kapad