Spędziłem trochę czasu, aby moje ustawienia były poprawne dla wielu monitorów, i to działa dobrze, gdy jestem zalogowany, ale nie jest na ekranie logowania lub dla innych użytkowników.
Jak ustawić ustawienia wyświetlania globalnie dla wszystkich użytkowników i ekranu logowania?
sudo cp ~/.config/monitors.xml /var/lib/lightdm/.config/
jak sugerowano wcześniej, + rozwiązanie poniżej, masz konfigurację dla wszystkich użytkowników (w tym nowych użytkowników) dokładnie tak , jak to opisujesz.Odpowiedzi:
W zależności od sposobu skonfigurowania systemu kopiowanie
monitors.xml
pliku od prawidłowo skonfigurowanego użytkownika do wszystkich użytkowników może być tak proste :Aby przetestować to dla jednego użytkownika:
następnie wyloguj się TestUser, jeśli jest już zalogowany , zaloguj się ponownie i sprawdź, czy wszystko jest w porządku .
Polecenie dla wszystkich użytkowników:
Polecenie ekranu logowania:
Polecenie dla wszystkich przyszłych użytkowników ¹:
Uwaga¹: Wszyscy użytkownicy, których będziesz tworzyć w przyszłości
źródło
/etc/xdg
wydaje się być tylko trik, który robi, że do nowych użytkowników, jak również.Aby ustawić konfigurację ekranu dla każdego zalogowanego użytkownika (nie zmieni to konfiguracji na ekranie logowania), możesz utworzyć
.desktop
plik w/etc/xdg/autostart
Jak to zrobić
znajdź nazwę ekranu, który chcesz obrócić, uruchamiając
xrandr
. Wyprowadzi szereg wierszy, spośród tych kilku linii wyglądających jak:Daje to informacje o nazwach podłączonych ekranów.
VGA-0
Utwórz program uruchamiający za pomocą (np.)
gedit
:Wklej poniższy tekst do pliku:
zamień w wierszu:
Ciąg:
VGA-0
według nazwy (obróconego) ekranu.Ważne notatki
W linii
Załączyłem
sleep 10
. Wynika to z tego, że czasamixrandr
polecenia psują się, jeśli uruchamiają się zbyt wcześnie, zanim komputer „ładuje się”. Być może musisz zwiększyć przerwę lub możesz spróbować ją pominąć. W tym poleceniu ekran obraca się po 10 sekundach od zalogowania dowolnego użytkownika.Komenda:
obraca ekran w lewo, nie ma potrzeby, aby powiedzieć, że jeśli chcesz innego rodzaju obrotu, można wybrać jedną
left
,right
,normal
,inverted
(patrz tutaj) .Wyjaśnienie
Możesz uruchamiać polecenia podczas uruchamiania (faktycznie się zalogować), umieszczając
.desktop
plik (program uruchamiający) w~/.config/autostart
. Spowoduje to uruchomienie programu uruchamiającego tylko dla jednego użytkownika. Jeśli zrobisz to samo, ale umieścisz program uruchamiający/etc/xdg/autostart
, polecenie będzie uruchamiane za każdym razem, gdy zaloguje się dowolny użytkownik, chyba że określony użytkownik wyłączy dla niego program uruchamiający w Dash> Aplikacje startoweDodatkowo możesz po prostu skopiować
~/.config/monitors.xml
plik lokalny , aby/var/lib/lightdm/monitors.xml
ustawienia działały również na ekranie logowania.Imo połączenie tego i powyższego rozwiązania (program uruchamiający w
/etc/xdg
) jest najłatwiejszym rozwiązaniem, aby osiągnąć dokładnie to, co chcesz zarówno dla ekranu logowania, jak i (dowolnego) użytkownika. Ponadto rozwiązanie programu uruchamiającego/etc/xdg
można (bardzo) łatwo odwrócić lub zmienić na wypadek, gdyby trzeba było dokonać innej konfiguracji bez edytowania wielu plików na poziomie (każdego) użytkownika, ponieważ zarówno ustawieniami użytkownika, jak i ekranem logowania zarządza się wszyscy użytkownicy jednocześnie w dwóch prostych plikach.źródło
Chciałem tylko dodać komentarz dla każdego, kto zmaga się z podobnym problemem. Utknąłem z rozdzielczością mojego starego monitora (1280x1024) przy każdym logowaniu, ale ekran logowania i login użytkownika gościa używają poprawnej domyślnej wartości 1680x1050.
W ciągu ostatnich czterech miesięcy przeczytałem wiele postów, szukając odpowiedzi, czytając na xorg.conf, monitors.xml, lightdm i xrandr i innych sugestiach - ale niektóre zmiany konfiguracji są skomplikowane i niosą za sobą ryzyko uszkodzenia wyświetlacza całkowicie, więc skończyłem z użyciem GUI do ręcznej zmiany ustawień monitora przy każdym logowaniu.
Dzisiaj zrobiłem grep dla starej rozdzielczości w moim folderze .config.
Pierwszym rezultatem był plik ~ / .config / autostart / xrandr.desktop zawierający ten plik,
więc właśnie przeniosłem plik z tego miejsca. I bingo, loguję się i otrzymuję domyślną rozdzielczość 1680x1050.
Zajęło mi to kilka godzin poszukiwań i nie mogłem znaleźć wystarczająco bliskiej odpowiedzi, więc zamieść tutaj, na wypadek, gdyby komuś się przydał.
źródło
Możesz dodać coś do
/etc/lightdm/lightdm.conf
. Tutaj tworzymy skrypt, który używaxrandr
polecenia do skonfigurowania wyświetlaczy. Możesz użyć graficznego narzędzia RandR, aby utworzyć dla siebie polecenie, na przykładarandr
. W moim przypadku skrypt wyglądałby następująco:Możesz umieścić ten skrypt w
/usr/share
dowolnym miejscu. Twój skrypt może wyglądać na znacznie mniej skomplikowany, ponieważ dotyczy złożonej konfiguracji z dwoma monitorami. Następnie dodaj coś takiego:i:
Upewnij się, że plik jest wykonywalny, więc:
session-setup-script
Będzie ustawić wyświetlanie na po zalogowaniu się poprzez LightDM idisplay-setup-script
będzie zmieniać wyświetlane na ekranie logowania.źródło
W moim systemie (Ubuntu 16.04) do ekranu logowania po prostu
cp
jako root (za pomocąsudo
) nie działał. Może być również konieczne upewnienie się, że właścicielem / grupą monitorów.xml jestlightdm:lightdm
.źródło