Disabilitare la riconfigurazione del monitor quando si chiude il coperchio


8

Ho spesso bisogno di spostare il mio laptop da un posto di lavoro all'altro. Quando lo faccio, ci sono due eventi a cui Ubuntu risponde cambiando la configurazione del monitor:

  • Rimozione / collegamento del cavo VGA
  • Chiusura / apertura del coperchio del laptop

Rimuovendo il cavo VGA mi dà ciò di cui ho bisogno (schermo singolo, massima risoluzione nativa sullo schermo esterno se collegato; in caso contrario risoluzione massima sul portatile), la risposta del coperchio chiuso / aperto del portatile non è altrettanto buona.

Ogni volta che chiudo o apro il coperchio, Ubuntu riconfigura il monitor impostato. Quando chiudo il coperchio ora ... lo schermo diventa nero per alcuni secondi e passa alla clonazione, con lo schermo del mio laptop disabilitato. La riapertura si traduce in ... brevemente una schermata nera, quindi il monitor esterno viene utilizzato come estensione desktop.

Aggiornamento: le cose sono cambiate un po 'di recente, il comportamento è più prevedibile ora. Chiudendo il coperchio si passa al display singolo, aprendo al doppio schermo (non clone). La mia domanda è ancora precisa: vedi sotto.

Ubuntu pensa troppo. La mia prima e prima domanda: c'è un modo per lasciare che Ubuntu ignori gli eventi di chiusura del coperchio?

Idealmente (o quando non c'è modo di risolvere la domanda sopra) vorrei cambiare il modo in cui gestisce la riconfigurazione dello schermo. Perché Ubuntu alterna la configurazione dello schermo tra display esterno, clone e display singolo? Non posso semplicemente configurarlo per utilizzare sempre il monitor esterno, quando presente, in modalità schermo singolo?

Si noti che domande simili sono state poste in precedenza (in particolare questa ), ma forse sono state chiuse erroneamente.

Qualsiasi idea è molto gradita, non mi dispiace giocare un po 'per vedere se qualcosa funziona.


Per coloro che sono ancora interessati, vengono visualizzate domande da altre persone con problemi simili: askubuntu.com/questions/161649/…
Tomas

Ho notato che questa domanda continua a ricevere un paio di visualizzazioni a settimana. Sono passato ad Arch Linux qualche tempo fa e ho notato che gli eventi di chiusura del coperchio sono completamente ignorati per impostazione predefinita, non si vede nemmeno uno sfarfallio dello schermo. È possibile che un kernel Linux più recente risolva i problemi descritti in questa domanda (entrambi gli ambienti desktop che utilizzo ignorano completamente il coperchio se glielo dico). In tal caso, è molto probabile che le versioni più recenti di Ubuntu includano / includeranno questa correzione.
Tomas,

Risposte:


7

C'è un modo per lasciare che Ubuntu ignori gli eventi di chiusura del coperchio?

Gli eventi del coperchio sono attivati ​​dal lidbtnfile in /etc/acpi/events/, che contiene due righe attive:

event = button [/] lid
action = / etc / acpi / lid.sh - commentalo all'inizio con un #

È possibile ignorare gli eventi di apertura / chiusura del coperchio commentando la seconda riga con a #e quindi riavviando.

Vorrei cambiare il modo in cui gestisce la riconfigurazione dello schermo.

Puoi guardare e provare a modificare il file /etc/acpi/lid.she le funzioni / i comandi a cui fa riferimento.

MA (BIG CAVEAT): se il BIOS del tuo laptop utilizza il coperchio chiuso / aperto per attivare / disattivare le porte di uscita video interne / esterne, questo va oltre i poteri del gestore di eventi ACPI del sistema operativo.


Sembra interessante ma commentare la seconda riga non risolve il mio problema. Un tuffo nel lid.shfile di suggerisce che gestisce lo spegnimento dello schermo (comandi come xscreensaver-command -unthrottle, xscreensaver-command -deactivate, /usr/share/acpi-support/screenblanke xset dpms force on). Non viene menzionato nulla sul passaggio o sul rilevamento degli schermi (mi aspettavo xrandro qualcosa del genere). Qualche altro consiglio?
Tomas,

Passa temporaneamente lidbtnda /etc/acpi/eventsqualche altra parte, diciamo ~/. Questo aiuta?
Ish,

Non cambia nulla, per quanto ne so, ha esattamente lo stesso effetto di lasciare lì il file. Ho provato a riavviare per assicurarsi che la modifica sia applicata, ovviamente.
Tomas,

@Tomas: vedi modifica in fondo alla risposta.
Ish,

1
Sul mio Ubuntu 14.04 non ho né un lid.shné un lidbtnsul mio sistema (cercato con locate) Posso crearne uno per aggiungere alcune funzionalità (Voglio disabilitare il mio touchscreen alla chiusura del coperchio del laptop )?
rubo77,

0

Questo comportamento è una funzionalità di Gnome ed è controllato da un'impostazione dconf. Puoi cambiarlo tramite dconf-editoro direttamente usando la riga di comando:

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

La descrizione dice quanto segue:

Riepilogo: se disattivare specifici monitor dopo l'avvio

'clone' mostrerà la stessa cosa su tutti i monitor, 'dock' spegnerà il monitor interno, 'do-nothing' utilizzerà il comportamento predefinito di Xorg (estendi il desktop nelle versioni recenti). L'impostazione predefinita, 'follow-lid', sceglierà tra 'do-nothing' e 'dock' a seconda che il coperchio sia (rispettivamente) aperto o chiuso.

Quindi, se desideri utilizzare solo il monitor esterno quando è collegato, usa dockas <value>.

Se si desidera che entrambi i monitor funzionino sempre, indipendentemente dal fatto che il coperchio sia chiuso o meno, utilizzare do-nothing. (Ho spesso chiuso temporaneamente il coperchio solo per non far brillare nella mia stanza buia, non volevo che tutte le finestre migrassero su un monitor esterno.)

E infine, se vuoi usare lo schermo del laptop ma solo quando è aperto, usa follow-lid. (Caso d'uso: la quantità di spazio libero sulla scrivania varia e, a volte, è necessario posizionare il laptop dietro il monitor anziché accanto.)


0

Non posso semplicemente configurarlo per utilizzare sempre il monitor esterno, quando presente, in modalità schermo singolo?

Posso rispondere a questa parte. Corro Ubuntu 17.10 su Wayland. Nel gnome-control-center -> device -> display, puoi scegliere single displaysolo con l' $external_monitorabilitato, quindi fare clic su "applica". Questo genera un $HOME/.confg/monitors.xmlfile. Il file corregge la disposizione del display quando lo stesso $external_monitorè collegato e si attiva e disattiva il monitor interno una volta disconnesso. Cosa c'è di meglio, è possibile mettere la stessa monitors.xmlin /var/lib/gdm3/.config/, in questo caso la stessa cosa vale per GDM troppo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.