W dziwnych przypadkach, zwykle po niepoprawnym ponownym uruchomieniu komputera, rozdzielczość ekranu logowania nie jest domyślna 1440 x 900, ale myślę, że 1600 x 900. Teraz mam ten monitor, który naprawdę źle radzi sobie z rozdzielczością, z którą nie jest przeznaczony do obsługi i pokaże głupie okienko „złej rozdzielczości” przeskakujące po ekranie.
Czy istnieje sposób na załadowanie ekranu logowania w rozdzielczości 1440 x 900 bez względu na wszystko? Używam Ubuntu 11.10 z Unity i LightDM.
lightdm
display-resolution
Ruben Bakker
źródło
źródło
Odpowiedzi:
Możesz utworzyć skrypt dla tego (źródłowa rozdzielczość LightDM ).
terminal
w desce rozdzielczej jedności, aby zobaczyć opcję, lub naciśnij Ctrl+ Alt+TWpisz / skopiuj to polecenie, aby wyświetlić szczegóły wyświetlania:
Jeśli masz tylko jeden monitor, na wyjściu zobaczysz linię podobną do następującej (prawdopodobnie z pewnymi różnymi wartościami, jest to identyfikator na początku, którego szukamy):
Identyfikator ekranu to DVI-0 w tym przypadku
Otwórz swój ulubiony edytor tekstu, w tym przykładzie użyj gedit, naciśnij Alt+ F2i wpisz
gedit
Wpisz / skopiuj to w:
Zapisz to na pulpicie jako
lightdmxrandr.sh
Możesz przetestować skrypt, zanim wprowadzimy go w życie. Z powrotem w terminalu przejdź do miejsca, w którym go właśnie zapisaliśmy:
Teraz musimy uczynić go wykonywalnym:
Teraz uruchom:
(Jeśli ekran automatycznie poprawi się automatycznie po zalogowaniu, prawdopodobnie nie zobaczysz różnicy, więc możesz chcieć użyć innej rozdzielczości testowej, ale wiesz, że działa podczas testowania)
Teraz przenieśmy mały skrypt, który stworzyliśmy:
Jeśli nie użyjesz
sudo
, możesz otrzymać błąd uprawnień (korzystam z tego folderu z osobistych preferencji)Musimy teraz uruchomić to w lightdm, przejść do odpowiedniego folderu:
Otwórz plik conf lightdm:
Teraz dodaj instrukcję, aby uruchomić skrypt po ostatnim wierszu i zapisz:
Teraz uruchom ponownie i powinno to ustawić prawidłową rozdzielczość na ekranie logowania lightdm.
(instrukcje te mogą wyglądać na długie, ale wcale nie trwają długo)
źródło
chown root:root
?Znalazłem bardzo proste obejście, które działa idealnie dla mnie w wersji 13.04. ( aktualizacja : teraz 13.10) na laptopie z 24-calowym ekranem zewnętrznym, który nie jest na stałe podłączony.
Skopiuję stąd
Ponieważ miałem już poprawnie skonfigurowane monitory, musiałem po prostu zrobić krok 3.
Niektóre inne odpowiedzi podane tutaj działały dla mnie, ale tylko w konkretnym scenariuszu, przy jednoczesnym ryzyku nieużytecznego systemu w innych scenariuszach (BŁĄD TRYBU NISKIEJ GRAFIKI). Na przykład z zewnętrznym monitorem na stałe podłączonym (akceptowana odpowiedź przez @captain_G) lub zawsze z tym samym urządzeniem podłączonym do wyjścia używanego przez zewnętrzny monitor (skrypt przez @Axlrod). Wydaje się, że odpowiedź @ MarcoV jest najbardziej ogólnym rozwiązaniem, jednak nadal wymaga reguł skryptowych.
źródło
$ sudo ln ~/.config/monitors.xml /var/lib/lightdm/.config/monitors.xml
(Nie, dowiązania symboliczne NIE działają.)monitors.xml
? Używam XFCE, a ten plik ma 2 lata i jest całkowicie nieaktualny. Nie mogę znaleźć podobnego pliku.Możesz zamiast tworzyć skrypt, po prostu dodaj do pliku
/etc/lightdm/lightdm.conf
taką linię:Przed wstawieniem upewnij się, że polecenie działa, ponieważ przy niewłaściwym poleceniu lightdm się nie uruchomi.
źródło
xrand
komendy mówią:warning: output default not found; ignoring
W przypadku konfiguracji z wieloma monitorami, w której możesz odłączyć laptopa i używać go bez, oto proste rozwiązanie:
biegać:
Pobierz urządzenia, których używasz, to zwykle LVDS1, a dla mnie mam DP2 (displayport 2), może to być HDMI1 lub cokolwiek innego, po prostu znajdź te z rozdzielczościami wymienionymi obok nich.
Utwórz ten mały plik bash:
Zamień LVDS1 na złącze monitora laptopa.
Zamień DP2 na podłączenie zewnętrznego monitora.
Umieść skrypt bash w / usr / bin / local /
chmod + x skrypt
edytuj /etc/lightdm/lightdm.conf
Dodaj
Restart.
Zmiana rozdzielczości nastąpi tylko wtedy, gdy jesteś teraz na tym ekranie.
Jeśli masz wiele miejsc z różnymi monitorami / rozdzielczościami na tym samym złączu, będziesz musiał wprowadzić więcej inteligencji do skryptu bash.
źródło
Nieznacznie poprawiłem powyższy skrypt Axlrod .
Wszystko, co musisz zrobić, to określić, który monitor będzie używany jako podstawowy, a który to ekran laptopa (LVDS).
źródło
następnie w pliku:
Zapisz i wyjdź. Wartości uzyskano z polecenia
xrandr -q
.VGA1
to nazwa mojego łącznika i1152x864
nazwa rozdzielczości.Działa to dla Xubuntu 16.04. Ustawia preferowaną rozdzielczość i dla mnie pozwala ustawić rozdzielczość ekranu logowania, zamiast domyślnie ustawiać najwyższą obsługiwaną rozdzielczość.
Zmodyfikowano tutaj z odpowiedzi
źródło
Przydał mi się post na stronie przewodnika Ubuntu . Próbowałem tak wielu rzeczy w Ubuntu 11.10, a nawet próbowałem użyć po prostu GNOME Classic. Rozdzielczość zawsze wynosiła 1024 x 768, a kiedy ręcznie ustawiłem ją na 1440 x 900, była „wirtualna”, to znaczy musiałem przewijać myszką, aby eksplorować cały pulpit, który był poza rzeczywistymi wymiarami ekranu.
W terminalu uruchomiłem polecenie:
Załadowanie edytora tekstu może chwilę potrwać. Po załadowaniu edytowałem linię
i zmieniłem na:
Pamiętaj, aby uruchomić,
update-grub
aby zastosować zmiany.Następnie próbowałem ponownie zainstalować sterowniki VESA (na tym komputerze mam GeForce 260 GTX). Wiem, że lepszym sposobem jest użycie oficjalnych sterowników Nvidii, ale używanie ich zawsze było takie samo ... Pewnie, myślę, że teraz wydajność będzie gorsza.
Tak więc, sprawdzając panel ustawień serwera Nvidia X, zweryfikowałem, że moja rozdzielczość została dodana i przełączając się na nią, sprawiła, że ekran wyglądał właściwie. Właściwie używam Ubuntu 11.10, ale w GNOME Classic.
Jestem nowicjuszem Linuksa, więc mam nadzieję, że napisałem przyzwoite rzeczy.
źródło
Nie psuj skryptów ani plików konfiguracyjnych, które mają możliwość uczynienia ekranu logowania bezużytecznym!
Zamiast tego zaloguj się i ustaw preferowane ustawienia ekranu *, a następnie uruchom następujące polecenie:
Twoja rozdzielczość logowania będzie teraz zawsze odzwierciedlać ustawienia użytkownika, do którego jesteś aktualnie zalogowany.
* Nie zapomnij kliknąć „Zastosuj”
źródło
Skrypt Axelrod jest nieco wadliwy, ponieważ grep dla „połączonych” chwyta również wszystkie „odłączone” ekrany ... nie to, czego chcemy ...
Co więcej, używanie grep z awk i ogonem itp. Jest marnotrawstwem okrężnym i sugerowałbym, co następuje poniżej. Dodatkowo w get_resolution zmieniamy kod powrotu na 1, ponieważ kod powrotu zero zwykle wskazuje na brak błędów, dlatego używamy 1, jeśli pierwszy parametr jest nieobecny.
Podsumowując, poprzez utworzenie instancji głównej części skryptu funkcji, można ją uzyskać i wykonać w dowolnym momencie, jeśli zajdzie taka potrzeba, w bibliotece funkcji, a także uzyskać użycie zmiennych lokalnych, które nie muszą być rozbrojone.
źródło
Tak to działa w Xubuntu 16.04.
Musisz uzyskać wzdłuż ciągu dla żądanej rozdzielczości. Jest to wynik polecenia:
Teraz wybierz część z żądaną rozdzielczością. Będzie to wyglądać mniej więcej tak:
Z powyższych danych powinieneś pobrać ciąg
108.000 1152 1216 1344 1600 864 865 868 900 +HSync +VSync
.Aby znaleźć nazwę swojego wyjścia, znajdź również linię podobną:
Tutaj nazwa mojego wyjścia
VGA1
.Teraz utwórz skrypt:
Następnie w pliku napisz:
Zapisz i zamknij plik. Spraw, aby skrypt był wykonywalny:
Utwórz plik konfiguracyjny, aby wywołać właśnie utworzony skrypt.
w tym pliku wpisz:
Zapisz i zamknij plik. Uruchom ponownie i mam nadzieję, że wybrana rozdzielczość będzie przy logowaniu.
W praktyce jest to jedyny sposób, który działał dla mnie, mimo że ponowne tworzenie istniejących rezolucji nie jest logiczne.
Odpowiedź zmodyfikowana z tego pytania .
Uwaga
Alternatywnym sposobem uzyskania ciągu o wysokiej rozdzielczości jest program
cvt
. Aby uzyskać ciąg dla rozdzielczości 1152 x 864, częstotliwość odświeżania 75,00:To dało mi nieco inną rozdzielczość niż rozdzielczość pulpitu i dlatego nie umieściłem tej metody w głównej odpowiedzi.
źródło
Jeśli używasz programu GTDM LightDM, możesz uruchomić,
xrandr -q
aby znaleźć nazwy swoich monitorów, a następnie edytować/etc/lightdm/lightdm-gtk-greeter
i ustawić właściwośćactive-monitor
zgodnie z opisem w komentarzach w tym pliku. Ta właściwość może przyjmować wiele uporządkowanych wartości, w tym#cursor
dla monitora, który aktualnie pokazuje kursor myszy.źródło
lubię dołączać skrypt, który konfiguruje monitory do jednego z klawiszy multimedialnych na klawiaturze, których inaczej nie używam. obecnie mam przycisk oznaczony „Windows Media Center”, aby wymusić wyświetlanie moich wyświetlaczy w preferowanej konfiguracji. w ten sposób, jeśli latasz na oślep, a twoje monitory nie synchronizują się z żądaną rozdzielczością, po prostu zetrzyj skrót klawiszowy i wszystko zostanie naprawione.
źródło
Problemem mogą być „Preferowane tryby ekranu”
Zakładam, że twój monitor zgłasza wysoką rozdzielczość ekranu jako preferowaną. Teraz chcesz zastąpić tę domyślną preferencję . Zobacz moją odpowiedź na bardzo podobne pytanie, aby dowiedzieć się, jak to zrobić.
Miałem odwrotny problem: zawsze miałem niższą rozdzielczość ekranu (1280x1024) niż chciałem (1600x1200). Mam nadzieję, że znaleziona przeze mnie poprawka (i opisana w powiązanej odpowiedzi) będzie miała zastosowanie analogicznie do twojego problemu.
źródło
Miałem ten sam problem na moim MacBooku Pro w połowie 2014 roku (11,1) z systemem Xenial. Wypróbowałem wszystkie wyżej wymienione rozwiązania w różnych formach, ale niezmiennie powodowałoby przejście X w bezpieczny tryb niskiej grafiki (ale wyświetlany w tej samej rozdzielczości chciałem, aby ustawił się jako domyślny nie mniej.
Po wielu kłótniach na forach i wyszukiwaniu w Google okazuje się, że zapomniałem najprostszego i domyślnego potencjalnego rozwiązania: nomodeset. To naprawiło problem.
TL; DR: Nie zapomnij wypróbować nomodeset! Esp. na MacbookPro 11,1.
źródło
Stworzyłem ten skrypt, aby był bardziej dynamiczny (wiele obszarów roboczych / różne monitory).
Tylko irytacja: gdy logujesz się z lightdm, ekran wciąż miga, jakby chciał zmienić rozdzielczość: s
źródło