Często muszę przenosić laptopa z jednego miejsca pracy do drugiego. Gdy to robię, występują dwa zdarzenia, na które Ubuntu reaguje, zmieniając konfigurację monitora:
- Odłączanie / podłączanie kabla VGA
- Zamykanie / otwieranie pokrywy laptopa
Podczas odłączania kabla VGA daje mi to, czego potrzebuję (pojedynczy ekran, najwyższa natywna rozdzielczość na ekranie zewnętrznym, jeśli jest podłączony; w przeciwnym razie najwyższa rozdzielczość na laptopie), odpowiedź zamknięcia / otwarcia pokrywy laptopa nie jest tak dobra.
Za każdym razem, gdy zamykam lub otwieram pokrywę, Ubuntu ponownie konfiguruje konfigurację monitora. Kiedy zamykam teraz pokrywę ... ekran na kilka sekund robi się czarny i przechodzi w klonowanie, a ekran laptopa jest wyłączony. Ponowne otwarcie powoduje ... krótko czarny ekran, a następnie monitor zewnętrzny jest używany jako rozszerzenie pulpitu.
Aktualizacja: Rzeczy nieco się zmieniły, zachowanie jest teraz bardziej przewidywalne. Zamknięcie pokrywy przełącza się na pojedynczy ekran, otwierając na podwójny ekran (nie klonuje). Moje pytanie jest nadal dokładne: patrz poniżej.
Ubuntu myśli za dużo. Moje pierwsze i najważniejsze pytanie: Czy jest jakiś sposób, aby Ubuntu ignorował zdarzenia zamykające lid?
Idealnie (lub gdy nie ma możliwości rozwiązania powyższego pytania) chciałbym zmienić sposób , w jaki radzi sobie z rekonfiguracją ekranu. Dlaczego Ubuntu przełącza konfigurację ekranu między wyświetlaczem zewnętrznym, klonowaniem i wyświetlaniem pojedynczym? Czy nie mogę go tak skonfigurować, aby zawsze korzystał z zewnętrznego monitora, gdy jest obecny, w trybie pojedynczego ekranu?
Zauważ, że podobne pytania zadawano już wcześniej (przede wszystkim to ), ale zostały one prawdopodobnie zamknięte nieprawidłowo.
Wszelkie pomysły są bardzo mile widziane, nie mam nic przeciwko zabawie, aby sprawdzić, czy coś działa.
Odpowiedzi:
Zdarzenia LID są wyzwalane przez
lidbtn
plik w/etc/acpi/events/
, który zawiera dwie aktywne linie:Możesz zignorować zdarzenia otwierania / zamykania pokrywy, komentując drugą linię za pomocą a,
#
a następnie uruchamiając ponownie.Możesz spojrzeć i spróbować zmodyfikować plik
/etc/acpi/lid.sh
oraz funkcje / polecenia, do których się odwołuje.ALE (BIG CAVEAT): Jeśli BIOS laptopa używa pokrywy zamknij / otwórz, aby włączyć / wyłączyć wewnętrzne / zewnętrzne porty wyjścia wideo, to jest to poza możliwościami obsługi zdarzeń ACPI systemu operacyjnego.
źródło
lid.sh
pliku sugeruje obsługuje wyłączania ekranu (polecenia podobaxscreensaver-command -unthrottle
,xscreensaver-command -deactivate
,/usr/share/acpi-support/screenblank
ixset dpms force on
). Nic nie wspomniano o przełączaniu lub wykrywaniu ekranów (spodziewałem sięxrandr
czegoś takiego). Jeszcze jakieś wskazówki?lidbtn
z/etc/acpi/events
do innego miejsca, np~/
. To pomaga?lid.sh
ani anilidbtn
w moim systemie (wyszukiwane za pomocąlocate
) Czy mogę utworzyć jeden z nich, aby dodać funkcjonalność (chcę wyłączyć ekran dotykowy po zamknięciu pokrywy laptopa )?To zachowanie jest funkcją Gnome i jest kontrolowane przez ustawienie dconf. Możesz to zmienić za pomocą
dconf-editor
lub bezpośrednio za pomocą wiersza poleceń:Opis mówi:
Jeśli więc chcesz korzystać tylko z zewnętrznego monitora, gdy jest on podłączony, użyj
dock
jako<value>
.Jeśli chcesz, aby oba monitory zawsze działały, bez względu na to, czy pokrywa jest zamknięta, czy nie, użyj
do-nothing
. (Często zamknąłem tymczasowo pokrywkę, aby nie świeciła w moim ciemnym pokoju, nie chciałem, aby wszystkie okna migrowały na monitor zewnętrzny).I wreszcie, jeśli chcesz korzystać z ekranu laptopa, ale tylko wtedy, gdy jest otwarty, użyj
follow-lid
. (Przypadek użycia: ilość wolnego miejsca na biurku jest różna, a czasami trzeba umieścić laptopa za monitorem zamiast obok niego.)źródło
Mogę odpowiedzieć na tę część. Na Uboczu prowadzę Ubuntu 17.10. W opcji
gnome-control-center -> device -> display
możesz wybraćsingle display
tylko$external_monitor
włączone, a następnie kliknąć „Zastosuj”. To generuje$HOME/.confg/monitors.xml
plik. Plik naprawia arragmentację wyświetlania, gdy$external_monitor
jest ona podłączona, i przełącza się na monitorze wewnętrznym po odłączeniu. Co lepsze, można umieścić ten sammonitors.xml
in/var/lib/gdm3/.config/
, w tym przypadku to samo odnosi się do GDM też.źródło