Deaktivieren der Neukonfiguration des Monitors beim Schließen des Deckels

8

Ich muss meinen Laptop oft von einem Arbeitsplatz zum anderen bewegen. Wenn ich das mache, gibt es zwei Ereignisse, auf die Ubuntu reagiert, indem er die Monitoreinstellung ändert:

  • Entfernen / Anschließen des VGA-Kabels
  • Schließen / Öffnen des Deckels des Laptops

Während ich das VGA-Kabel entferne, bekomme ich das, was ich brauche (einzelner Bildschirm, höchste native Auflösung auf dem externen Bildschirm, falls angeschlossen; ansonsten höchste Auflösung auf dem Laptop), die Reaktion des Laptops beim Schließen / Öffnen des Deckels ist nicht so gut.

Jedes Mal, wenn ich den Deckel schließe oder öffne, konfiguriert Ubuntu den Monitor neu. Wenn ich jetzt den Deckel schließe ... wird der Bildschirm einige Sekunden lang schwarz und wechselt zum Klonen, wobei mein Laptop-Bildschirm deaktiviert ist. Beim erneuten Öffnen wird kurz ein schwarzer Bildschirm angezeigt, und der externe Monitor wird als Desktop-Erweiterung verwendet.

Update: Die Dinge haben sich in letzter Zeit etwas geändert, das Verhalten ist jetzt vorhersehbarer. Durch Schließen des Deckels wird auf Einzelanzeige umgeschaltet und auf Doppelbildschirm geöffnet (nicht geklont). Meine Frage ist immer noch richtig: siehe unten.

Ubuntu denkt zu viel nach. Meine erste und wichtigste Frage: Gibt es eine Möglichkeit, Ubuntu Ereignisse zum Schließen des Deckels ignorieren zu lassen?

Idealerweise (oder wenn es keine Möglichkeit gibt, die obige Frage zu lösen) möchte ich ändern, wie es mit der Neukonfiguration des Bildschirms umgeht. Warum schaltet Ubuntu die Bildschirmkonfiguration zwischen externem, geklontem und einzelnem Display um? Kann ich es nicht einfach so konfigurieren, dass der externe Monitor, falls vorhanden, immer im Einzelbildschirmmodus verwendet wird?

Beachten Sie, dass ähnliche Fragen bereits gestellt wurden (insbesondere diese ), diese jedoch möglicherweise falsch geschlossen wurden.

Irgendwelche Ideen sind sehr willkommen, es macht mir nichts aus, ein bisschen herumzuspielen, um zu sehen, ob etwas funktioniert.

Tomas
quelle
Für diejenigen, die noch interessiert sind, erscheinen Fragen von anderen Personen mit ähnlichen Problemen: askubuntu.com/questions/161649/…
Tomas
Mir ist aufgefallen, dass diese Frage immer noch einige Aufrufe pro Woche erhält. Ich habe vor einiger Zeit zu Arch Linux gewechselt und festgestellt, dass Ereignisse zum Schließen des Deckels standardmäßig vollständig ignoriert werden und nicht einmal ein Bildschirmflimmern zu sehen ist. Es kann sein, dass ein neuerer Linux-Kernel die in dieser Frage beschriebenen Probleme behebt (beide Desktop-Umgebungen, die ich verwende, ignorieren den Deckel vollständig, wenn ich sie dazu auffordere). In diesem Fall ist es sehr wahrscheinlich, dass neuere Versionen von Ubuntu dieses Update enthalten.
Tomas

Antworten:

7

Gibt es eine Möglichkeit, Ubuntu Ereignisse zum Schließen des Deckels ignorieren zu lassen?

Deckelereignisse werden durch die lidbtnDatei in ausgelöst /etc/acpi/events/, die zwei aktive Zeilen enthält:

event = button [/] deckel
action = / etc / acpi / lid.sh - kommentiere dies mit einem # am Anfang aus

Sie können Ereignisse zum Öffnen / Schließen des Deckels ignorieren, indem Sie die zweite Zeile mit a #auskommentieren und anschließend neu starten.

Ich möchte ändern, wie es mit der Neukonfiguration des Bildschirms umgeht.

Sie können die Datei /etc/acpi/lid.shund die darin enthaltenen Funktionen / Befehle anzeigen und versuchen, sie zu ändern .

ABER (BIG CAVEAT): Wenn das BIOS Ihres Laptops das Schließen / Öffnen des Deckels verwendet, um die internen / externen Videoausgangsanschlüsse ein- und auszuschalten, liegt dies außerhalb der Möglichkeiten des OS ACPI-Ereignishandlers.

ish
quelle
Sieht interessant aus, aber das Auskommentieren der 2. Zeile löst mein Problem nicht. Tauchen in die lid.shDatei schlägt sie Griffe Ausschalten des Bildschirms (Befehle wie xscreensaver-command -unthrottle, xscreensaver-command -deactivate, /usr/share/acpi-support/screenblankund xset dpms force on). Über das Umschalten oder Erkennen von Bildschirmen wird nichts erwähnt (ich hatte erwartet xrandroder etwas dafür). Noch mehr Tipps?
Tomas
Bewegen Sie sich vorübergehend lidbtnvon /etc/acpi/eventseinem anderen Ort, sagen wir ~/. Hilft das?
ish
Ändert nichts, soweit ich das beurteilen kann, hat dies genau den gleichen Effekt wie das Belassen der Datei dort. Ich habe versucht, einen Neustart durchzuführen, um sicherzustellen, dass die Änderung angewendet wird.
Tomas
@Tomas: siehe Bearbeiten am Ende der Antwort.
ish
1
Auf meinem Ubuntu 14.04 habe ich weder ein lid.shnoch ein lidbtnauf meinem System (gesucht mit locate). Kann ich eines davon erstellen, um einige Funktionen hinzuzufügen (ich möchte meinen Touchscreen beim Schließen des Laptopdeckels deaktivieren )?
rubo77
0

Dieses Verhalten ist eine Gnome-Funktion und wird von einer dconf-Einstellung gesteuert. Sie können es über dconf-editoroder direkt über die Befehlszeile ändern :

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

Die Beschreibung lautet wie folgt:

Zusammenfassung: Gibt an, ob bestimmte Monitore nach dem Start ausgeschaltet werden sollen

'Klon' zeigt auf allen Monitoren dasselbe an, 'Dock' schaltet den internen Monitor aus, 'Nichtstun' verwendet das Standardverhalten von Xorg (erweitern Sie den Desktop in neueren Versionen). Die Standardeinstellung "Follow-Lid" wählt zwischen "Do-Nothing" und "Dock", je nachdem, ob der Deckel geöffnet bzw. geschlossen ist.

Wenn Sie also nur den externen Monitor verwenden möchten, wenn dieser angeschlossen ist, verwenden Sie dockals <value>.

Wenn Sie möchten, dass beide Monitore immer funktionieren, egal ob der Deckel geschlossen ist oder nicht, verwenden Sie do-nothing. (Ich habe den Deckel oft vorübergehend geschlossen, damit er nicht in meinen dunklen Raum scheint. Ich wollte nicht, dass alle Fenster auf einen externen Monitor migriert werden.)

Und schließlich, wenn Sie den Laptop-Bildschirm verwenden möchten, aber nur, wenn er geöffnet ist, verwenden Sie follow-lid. (Anwendungsfall: Die Menge an freiem Speicherplatz auf Ihrem Schreibtisch variiert, und manchmal müssen Sie den Laptop hinter Ihren Monitor stellen, anstatt daneben.)

EvgEnZh
quelle
0

Kann ich es nicht einfach so konfigurieren, dass der externe Monitor, falls vorhanden, immer im Einzelbildschirmmodus verwendet wird?

Ich kann diesen Teil beantworten. Ich laufe Ubuntu 17.10 auf Wayland. In der gnome-control-center -> device -> displaykönnen Sie single displaynur mit $external_monitoraktiviert wählen , dann klicken Sie auf "Übernehmen". Das erzeugt eine $HOME/.confg/monitors.xmlDatei. Die Datei behebt das Anzeigearrangement, wenn dasselbe $external_monitorverbunden ist, und schaltet den internen Monitor um, sobald er getrennt wird. Was ist besser, Sie können das Gleiche monitors.xmleingeben /var/lib/gdm3/.config/, in diesem Fall gilt das Gleiche auch für GDM.

Funicorn
quelle