obrócony monitor. ekran logowania wymaga rotacji

20

Obróciłem ekran i po zalogowaniu działa dobrze. Ale na ekranie powitania (logowania) nie ma komunikatu, że rzeczy są obrócone o 90 stopni. Jak mogę zmienić obrót ekranu logowania?

wprowadź opis zdjęcia tutaj

AKTUALIZACJA: ekran blokady jest w prawidłowej pozycji. Widzę to tylko po uruchomieniu lub wylogowaniu.

j0h
źródło
Żadna z wcześniejszych odpowiedzi tutaj nie wydaje się być ważna dla 16.04 ... (Próbowano przełączać między Noveau lub Nvidia 361). Widzę, że „arandr” ustawił to poprawnie, ale jest to dopiero sekunda później reset do „standardu”.
Hannu,
1
@Hannu Proszę zobaczyć mój komentarz poniżej askubuntu.com/questions/408302/… .
jbrock

Odpowiedzi:

19

Dodaj ten wiersz do /etc/lightdm/lightdm.confpliku (w sekcji [SeatDefaults]):

greeter-setup-script=/etc/lightdm/greeter_setup.sh

Następnie utwórz plik /etc/lightdm/greeter_setup.sho następującej treści:

#!/bin/bash
xrandr -o left
exit 0

Następnie uczyń go wykonywalnym za pomocą sudo chmod +x /etc/lightdm/greeter_setup.sh. Następnie uruchom ponownie.

sokolnik
źródło
4
Zmieniono na xrandr -o prawo. działało idealnie.
j0h
Dodanie wyżej wspomnianego skryptu (bez wyraźnego exit 0), aby /etc/lightdm/pre-greeter.dzałatwić sprawę.
Oleg Sklyar
19

Inną opcją, która powinna działać, jest skopiowanie ~/.config/monitors.xmldo /var/lib/lightdm/.config.

To z pewnością działa w przypadku informacji o położeniu i rozdzielczości mojego monitora, więc zakładam, że zadziała również w przypadku rotacji.

Edycja : Aby uzyskać maksymalną elastyczność, można utworzyć symboliczne połączenie między powyższymi:

sudo su
cd /var/lib/lightdm/.config
ln -s /home/<your_user>/.config/monitors.xml .
chown -h lightdm:lightdm monitors.xml
exit

W ten sposób, jeśli konfiguracja monitora zmieni się w przyszłości, zostanie automatycznie odzwierciedlona na ekranie logowania. Zwróć uwagę na niezbędną -hflagę chownpolecenia, jak wyjaśniono w chown, nie zmienia dowiązania symbolicznego .

Steve Dee
źródło
Przyjrzę się temu. To jest metoda, którą próbowałem wymyślić.
j0h
1
Utworzenie linku nie działało dla mnie, zrobiłem czynności związane z pozwoleniami, jak opisano, ale nadal informowało mnie, że uprawnienia były nieprawidłowe. Kopiowanie pliku działało poprawnie.
LovesTha,
2
Jedna ważna uwaga: dowiązanie symboliczne tutaj nie będzie działać, jeśli twój katalog domowy jest zaszyfrowany, ponieważ plik ten będzie niedostępny dopiero po zalogowaniu.
alienth
11

14.04 i więcej

Odpowiedź Falconera bardzo mi pomogła, ale lightdm zmienił się na Ubuntu Trusty 14.04. W /etc/lightdm/lightdm.confmoim systemie nie ma już pliku. lightdm przeszedł teraz „drogę Debiana” i podzielił swoją konfigurację na katalog conf.d. Teraz musisz utworzyć następujący plik:

/etc/lightdm/lightdm.conf.d/80-display-setup.conf

[SeatDefaults]
display-setup-script=xrandr -o right

Jak sugeruje odpowiedź Electric Head , polecenie xrandr może przejść bezpośrednio do tego pliku, bez potrzeby tworzenia osobnego skryptu.

Jeśli potrzebujesz polecenia xrandr, które dotyczy wielu monitorów, możesz go użyć arandrdo wygenerowania go. Moje xrandrpolecenie faktycznie kończy się na:

xrandr --output DVI-1 --mode 1920x1080 --pos 1080x0 --rotate left --output DVI-0 --mode 1920x1080 --pos 0x0 --rotate right

Aby to uzyskać, użyłem następujących poleceń:

  • sudo apt-get install arandr
  • arandr
  • Użyj GUI do skonfigurowania monitorów tak, jak chcesz:

    arandr
  • Użyj „Układ” -> „Zapisz jako”, aby zapisać go w pliku zawierającym polecenie konfiguracji monitora.

Dzięki temu moje monitory są odpowiednio obracane również podczas logowania, więc nie ma potrzeby wykonywania dodatkowej konfiguracji w Gnome, XFCE lub KDE. Jedynym innym miejscem, które muszę skonfigurować obrót monitora, są wirtualne terminale bufora ramki, jak wyjaśniono w Jak obrócić ekran, gdy nie korzystam z serwera X Server?

Stephen Ostermiller
źródło
FWIW, Moja czysta 32-bitowa instalacja 14.04 nie ma /etc/lightdm/lightdm.conf.d/katalogu i utworzenie go, a następnie wykonanie pozostałych instrukcji tutaj nie działało. Jednak instrukcje zawarte w odpowiedzi Electric Heada zadziałały. Nie jestem pewien, dlaczego jedno działało, a nie drugie, ale chciałem zostawić ten komentarz ze względu na potomstwo, na wypadek, gdyby ktoś napotkał taką samą sytuację jak ja.
reirab
7

sokolnik prawie go przybił, ale chciałbym zwrócić uwagę na uproszczenie.

Możesz umieścić xrandrpolecenie bezpośrednio /etc/lightdm/lightdm.confjako zaczep systemowy . Nie trzeba tworzyć polecenia powłoki, aby wywołać osobny skrypt zawierający polecenie powłoki (choć oczywiście można to zrobić, jeśli jest ku temu powód). Ponadto nie ma wzmianki o tym /etc/lightdm/lightdm.conf.d/w man lightdmi nie miałem tego ani lightdm.confw moim systemie. Chociaż jestem pewien, że prawdopodobnie działa tak, jak sugeruje Stephen , znowu nie musisz tego robić.

Jeśli więc jeszcze nie istnieje, coś podobnego do /etc/lightdm/lightdm.conf( sudooczywiście) powinno działać dobrze:

[SeatDefaults]
display-setup-script=xrandr --output DVI-1 --auto --rotate left

Zobacz man xrandropcje konfiguracji.

BTW: Prawdopodobnie mogłem uciec od komentarzy / edycji tutaj, ale nie mam przedstawiciela i chciałem dodać źródła tych informacji.

Wersja

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

Bibliografia

Głowica elektryczna
źródło
W 16.04 musiałem najpierw utworzyć plik o nazwie lightdm.conf. Potem zadziałało. Dzięki za to.
jbrock
Użyłem również [Seat:*]zamiast [SeatDefaults]. wiki.ubuntu.com/LightDM
jbrock
Mam to teraz działa, z powyższymi i dodając; Miałem monitors.xmlSOFT-LINKED do moich normalnych monitorów użytkownika. Xml - to był winowajca; ponieważ zamiast tego skopiowałem plik, zaczął działać. Moim zdaniem to ustawienie powinno być dostępne w „Ustawieniach systemu> Wyświetlacz”
Hannu
3

16.04

Jedyny dylemat, który pracuje dla mnie jest, aby skopiować ~/.config/monitors.xmldo /var/lib/lightdm/.config/, podobny do sposobu, w odpowiedzi Steve Dee , ale z kopii pliku, a nie tylko linku do niego. Utworzenie dowiązania symbolicznego nie działa.

Ani odpowiedź sokolnika, ani Stephena Ostermillera nie działała dla mnie. Właśnie widziałem poprawnie obrócony ekran przez 2 sekundy po uruchomieniu, a następnie obrócił się z powrotem do orientacji poziomej.

Andrej Repiský
źródło
Zredagowałem odpowiedź. Celem było ułatwienie użytkownikom 16.04 znalezienia rozwiązania.
Andrej Repiský
1
To jedyny, który również działał dla mnie! Odpowiedź Ostermillera dała mi błąd uprawnień, nawet gdy plik w moim domu został odczytany wszystkim.
Alex
0

Próbowałeś xrandr -o value? Jako valueużycia albo leftalboright

Możesz także utworzyć niestandardowy skrót, postępując zgodnie z instrukcją

NadirHajiyev
źródło
0

To samo pytanie i moje wyniki w 18.10 :

odpowiedź sokolnika jest dobra. Pozwól mi dodać 2 szczegóły, które musiałem wymyślić w 18.10:

  • Zamiast [SeatDefaults]obecnych wersji oczekuj[Seat:*]
  • Co ważniejsze: musiałem trochę poeksperymentować z powyższym skryptem przy użyciu, loggera następnie xmessagedo wniosku, że zostanie wywołany, naprawi wszystko poprawnie, ale wtedy jego efekt niestety nie zostanie cofnięty przez unity-greeter.

Próbowałem innych pozdrowienia, a oni wszyscy honorują rozwiązanie i ładnie się obracają, z wyjątkiem domyślnego powitania jedności. Skończyło się na zręcznym powitaniu.

marcingo
źródło
0

Miałem ten sam problem z nieprawidłowym ekranem powitania w Ubuntu 18.04 na monitorze pionowym. Próbowałem niektóre z wymienionych xrandrpoleceń, jak wskazano w innych odpowiedziach, ale te nie działały dla mnie. Następnie podążyłem za odpowiedzią, która zaleciła skopiowanie ~/.config/monitors.xmlpliku do /var/lib/gdm3/.configkatalogu. Po ponownym uruchomieniu ekran powitalny nadal miał niepoprawną orientację. Moim następnym krokiem było przejrzenie zawartości /var/lib/gdm3/.config/monitors.xmlpliku. Zauważyłem, że zawiera historię różnych monitorów i konfiguracji, z których korzystałem przez lata. Zedytowałem ten plik, aby zawierał tylko ustawienia bieżącej konfiguracji.

Struktura monitors.xmlpliku jest taka, że ​​zawiera jeden zestaw tagów <monitors>i </monitors>, na początku i na końcu pliku. Pomiędzy tymi tagami znajduje się jeden lub więcej zestawów tagów <configuration>i </configuration>. Każda z tych sekcji zawiera jeden lub więcej zestawów <logicalmonitor>i </logicalmonitor>znaczników. Każda z tych sekcji określa jeden monitor z parametrami takimi jak marka i typ, orientacja (jeśli nie pozioma), szerokość, wysokość, x, y i częstotliwość odświeżania. Określa również, czy monitor jest monitorem podstawowym. W moim pliku była obecna konfiguracja wymieniona w dolnej części pliku. Usunąłem wszystkie <configuration> </configuration>sekcje, które nie opisywały mojej obecnej konfiguracji. Wynik wygląda następująco:

<monitors version="2">
  <configuration>
    <logicalmonitor>
      .. primary monitor specification (vertical)
      <primary>yes</primary>
      <transform>
        <rotation>left</rotation>
        <flipped>no</flipped>
      </transform>
    </logicalmonitor>
    <logicalmonitor>
      .. secondary monitor specification (horizontal)
    </logicalmonitor>
  </configuration>
</monitors>

Teraz ponownie uruchomiłem komputer. Tym razem okno przesiewacza miało prawidłową orientację. Chyba historia zapisana w oryginalnym monitors.xmlpliku powodowała problemy.

Joe
źródło