Désactivation de la reconfiguration du moniteur lors de la fermeture du couvercle

8

J'ai souvent besoin de déplacer mon ordinateur portable d'un lieu de travail à un autre. Lorsque je fais cela, il y a deux événements auxquels Ubuntu répond en modifiant la configuration du moniteur:

  • Retrait / fixation du câble VGA
  • Fermer / ouvrir le couvercle de l'ordinateur portable

Bien que le retrait du câble VGA me donne ce dont j'ai besoin (écran unique, résolution native la plus élevée sur l'écran externe s'il est connecté; sinon la résolution la plus élevée sur l'ordinateur portable), la réponse de fermeture / ouverture du couvercle de l'ordinateur portable n'est pas aussi bonne.

Chaque fois que je ferme ou ouvre le couvercle, Ubuntu reconfigure la configuration du moniteur. Quand je ferme le couvercle maintenant ... l'écran devient noir pendant quelques secondes et il passe en clone, avec l'écran de mon ordinateur portable désactivé. La réouverture entraîne ... brièvement un écran noir, puis le moniteur externe utilisé comme extension de bureau.

Mise à jour: les choses ont changé un peu récemment, le comportement est plus prévisible maintenant. La fermeture du couvercle passe en affichage simple, ouverture en double écran (pas clone). Ma question est toujours exacte: voir ci-dessous.

Ubuntu pense trop. Ma première et principale question: existe-t-il un moyen de laisser Ubuntu ignorer les événements de fermeture du couvercle?

Idéalement (ou lorsqu'il n'y a aucun moyen de résoudre la question ci-dessus), je voudrais changer la façon dont il traite la reconfiguration de l'écran. Pourquoi Ubuntu bascule la configuration de l'écran entre externe, clone et affichage unique? Puis-je simplement le configurer pour toujours utiliser le moniteur externe, lorsqu'il est présent, en mode écran unique?

Notez que des questions similaires ont été posées auparavant (notamment celle-ci ), mais elles ont peut-être été fermées à tort.

Toutes les idées sont les bienvenues, cela ne me dérange pas de jouer un peu pour voir si quelque chose fonctionne.

Tomas
la source
Pour ceux qui sont toujours intéressés, des questions d'autres personnes ayant des problèmes similaires apparaissent
Tomas
J'ai remarqué que cette question reçoit toujours quelques vues par semaine. Je suis passé à Arch Linux il y a quelque temps et j'ai remarqué que les événements de fermeture du couvercle sont complètement ignorés par défaut, même un scintillement d'écran n'est pas vu. Il se peut qu'un nouveau noyau Linux corrige les problèmes décrits dans cette question (les deux environnements de bureau que j'utilise ignorent complètement le couvercle si je le leur dis). Si c'est le cas, il est très probable que les nouvelles versions d'Ubuntu incluent / incluront ce correctif.
Tomas

Réponses:

7

Existe-t-il un moyen de laisser Ubuntu ignorer les événements de fermeture du couvercle?

Les événements de couvercle sont déclenchés par le lidbtnfichier dans /etc/acpi/events/, qui contient deux lignes actives:

event = bouton [/] couvercle
action = / etc / acpi / lid.sh - commentez ceci avec un # au début

Vous pouvez ignorer les événements d'ouverture / fermeture du couvercle en commentant la deuxième ligne avec un #, puis en redémarrant.

Je voudrais changer la façon dont il traite la reconfiguration de l'écran.

Vous pouvez consulter et essayer de modifier le fichier /etc/acpi/lid.shet les fonctions / commandes qu'il référence.

MAIS (GRANDE CAVEAT): Si le BIOS de votre ordinateur portable utilise le couvercle de fermeture / ouverture pour activer / désactiver les ports de sortie vidéo internes / externes, cela dépasse les pouvoirs du gestionnaire d'événements OS ACPI.

ish
la source
Semble intéressant mais commenter la 2e ligne ne résout pas mon problème. Plongée sous - marine dans le lid.shfichier suggère qu'il gère la commutation de l'écran (commandes telles que xscreensaver-command -unthrottle, xscreensaver-command -deactivate, /usr/share/acpi-support/screenblanket xset dpms force on). Rien n'est mentionné sur la commutation ou la détection des écrans (je m'attendais à xrandrquelque chose). D'autres conseils?
Tomas
Déplacer temporairement lidbtnd'un /etc/acpi/eventsendroit à un autre, par exemple ~/. Est ce que ça aide?
ish
Cela ne change rien, autant que je sache, cela a exactement le même effet que de laisser le fichier là-bas. J'ai essayé de redémarrer pour vous assurer que la modification est bien sûr appliquée.
Tomas
@Tomas: voir modifier en bas de la réponse.
ish
1
Sur mon Ubuntu 14.04 je n'ai ni un lid.shni un lidbtnsur mon système (recherché avec locate) Puis-je en créer un pour ajouter des fonctionnalités (je veux désactiver mon écran tactile en fermant le couvercle de l'ordinateur portable )?
rubo77
0

Ce comportement est une fonctionnalité Gnome, et il est contrôlé par un paramètre dconf. Vous pouvez le modifier via dconf-editorou directement en ligne de commande:

gsettings set org.gnome.settings-daemon.plugins.xrandr default-monitors-setup <value>

La description dit ce qui suit:

Résumé: faut-il désactiver des moniteurs spécifiques après le démarrage

'clone' affichera la même chose sur tous les moniteurs, 'dock' désactivera le moniteur interne, 'do-nothing' utilisera le comportement Xorg par défaut (étendre le bureau dans les versions récentes). La valeur par défaut, «Follow-lid», choisira entre «ne rien faire» et «Dock» selon que le couvercle est (respectivement) ouvert ou fermé.

Donc, si vous souhaitez utiliser uniquement le moniteur externe lorsqu'il est connecté, utilisez dockcomme <value>.

Si vous souhaitez que les deux moniteurs fonctionnent toujours, que le couvercle soit fermé ou non, utilisez do-nothing. (J'ai souvent fermé le couvercle temporairement juste pour qu'il ne brille pas dans ma pièce sombre, je ne voulais pas que toutes les fenêtres migrent vers un moniteur externe.)

Et enfin, si vous souhaitez utiliser un écran d'ordinateur portable mais uniquement lorsqu'il est ouvert, utilisez follow-lid. (Cas d'utilisation: la quantité d'espace libre sur votre bureau varie et vous devez parfois placer l'ordinateur portable derrière votre moniteur au lieu de le placer à côté.)

EvgEnZh
la source
0

Puis-je simplement le configurer pour toujours utiliser le moniteur externe, lorsqu'il est présent, en mode écran unique?

Je peux répondre à cette partie. Je lance Ubuntu 17.10 sur Wayland. Dans le gnome-control-center -> device -> display, vous pouvez choisir single displayavec uniquement les $external_monitoractivés, puis cliquer sur "appliquer". Cela génère un $HOME/.confg/monitors.xmlfichier. Le fichier corrige l'arragemment de l'affichage lorsque celui-ci $external_monitorest connecté, et bascule sur le moniteur interne une fois qu'il est déconnecté. Quoi de mieux, vous pouvez mettre le même monitors.xmldans /var/lib/gdm3/.config/, dans ce cas , la même chose est valable pour GDM aussi.

funicorne
la source