lightdm nie uruchamia skryptu display-setup-script

10

Aby walczyć z problemami z rozdzielczością dwóch monitorów, postąpiłem zgodnie z radami zawartymi w innych pytaniach dotyczących skryptu konfiguracji sesji i wyświetlania. Mam następujące /etc/lightdm/lightdm.conf:

[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
allow-guest=false
display-setup-script=/usr/bin/dualmon.sh
session-setup-script=/usr/bin/dualmon.sh

Mam również następujące (wykonywalne), /usr/bin/dualmon.shktóre utworzyłem:

#!/bin/bash

xrandr --output LVDS1 --auto --left-of HDMI1 --output HDMI1 --auto
# notify-send Dualscreen activated

touch /home/shade/Desktop/touched

Jednak rozdzielczość jest niepoprawna zarówno na ekranie logowania, jak i po zalogowaniu. Nie ma też pliku / home / shadow / Desktop / touch. Kiedy uruchamiam dualmon.shskrypt ręcznie (po zalogowaniu) rozdzielczość jest ustawiona poprawnie.

To sprawia, że ​​myślę, że skrypty wcale nie są uruchamiane. Co jest tego przyczyną i jak mogę to naprawić?

Cień
źródło
1
Widzę dokładnie ten sam problem. Próba instalacji i3 na Ubuntu 12.04.3, prawie nowa instalacja. Jeśli znalazłeś rozwiązanie, odpowiedz na własne pytanie. :)
dfarrell07,
Znalazłem coś w rodzaju rozwiązania, w którym skrypt działałby tylko, gdyby nie była ustawiona dyrektywa konfiguracyjna display-setup-script, lub coś w tym rodzaju. Jednak od tego czasu przeprowadziłem migrację do 13.04, gdzie wydaje mi się, że nie mam tego problemu. Lub mam go, ale nie mogę znaleźć nic związanego z tym w mojej bieżącej instalacji. Przepraszam.
Odcień
OK, dzięki za informację. Dopóki nie wymyślę czegoś innego, po prostu uruchamiam skrypt xrandr po zalogowaniu, aby naprawić mój ekran.
dfarrell07
czy możesz spróbować wyłączyć dwa skrypty i umieścić je tylko w skrypcie instalatora programu Greeter? sprawdź też, czy skrypt bash jest naprawdę wykonywalny :)
Starry
@ Starry, problem nie pojawia się już w instalacji waniliowej 13.10, więc pytanie jest w większości nieistotne. Dziękuję za sugestię.
Odcień

Odpowiedzi:

1

Korzystając z Ubuntu, najlepszym sposobem na uzyskanie odpowiedniej rozdzielczości konta użytkownika dla konfiguracji z dwoma monitorami jest:

  • Usuń monitors.xml z ~ / .config /
  • Otwórz ekran w Ustawieniach systemu
  • Ustaw odpowiednie ustawienia ekranu (w razie potrzeby użyj wcześniej XRandR lub ARandR)
  • Następnie duży - Hit Apply

Po wykonaniu powyższej czynności zauważysz, że plik monitors.xml jest przepisywany, a po zalogowaniu się konfiguracja podwójnego monitora będzie działać.

Po drugie, aby ekran logowania działał poprawnie, należy postępować zgodnie z tą odpowiedzią . Problem polega na tym, aby upewnić się, że twoje uprawnienia są prawidłowe - oprócz ustawiania odpowiednich uprawnień dla dowiązania symbolicznego, musisz również upewnić się, że Inni mają dostęp do pliku monitors.xml, a także do folderu ~ / .config.

Piękno tej konfiguracji polega na tym, że w przeciwieństwie do próby brutalnego użycia niektórych poleceń xrandr, za każdym razem, gdy zmienisz ustawienia rozdzielczości / monitora w Ubuntu, ekran logowania będzie się zgadzał.

Aby oba powyższe działały, należy upewnić się, że podczas uruchamiania usunięto wszelkie odniesienia do poleceń xrandr.

Andrew Hargrave
źródło
Nie mogę tego uruchomić. Kopiowanie monitors.xml niczego nie zmienia. Czy masz dla mnie jakąś wskazówkę, jak to debugować? Uprawnienia są ustawione (użytkownik może czytać, wszystkie pliki i foldery należące do użytkownika lightdm), nie wiem nic o odniesieniach do xrandr, pliki dziennika lightdm nie dają żadnych wskazówek, ... Dziękuję!
lędźwiowy
Użytkownik lightdm potrzebuje również dostępu do pliku (i dowiązania symbolicznego, jeśli jedziesz tą drogą). To był ten, który mnie oszukał przez chwilę
Andrew Hargrave,