Uruchom skrypt startowy z lightdm

17

Mam komputer typu Tablet, a sterownik grafiki nie obsługuje Xrandr, więc aby obrócić ekran, uruchamiam skrypt, który zmienia plik Xorg.conf, a następnie ponownie uruchamia lightdm. Mam również skrypt, który używa xsetwacom i xinput do zmiany rotacji urządzeń wejściowych, tak aby pasowały do ​​nowej orientacji.

Nauczyłem się, jak uruchomić skrypt podczas logowania, ale chciałbym, aby uruchomił się przed zalogowaniem, aby nie musiałem włączać automatycznego logowania za pomocą lightdm. Potrzebuję go jednak do uruchomienia, lub wejście (dotyk i długopis) zostanie obrócone względem ekranu, więc kiedy dotykam ekranu, wejście znajduje się w zupełnie innym obszarze, co naprawdę utrudnia korzystanie z klawiatury ekranowej.

Przejrzałem inne pytania na tej stronie. Próbowałem umieścić skrypt w /etc/Xsession.d, ale to nie działało. Próbowałem też umieścić go w /etc/rc.local, ale myślę, że to niewłaściwe miejsce, nic się nie dzieje. Próbowałem też googlingu w poszukiwaniu haków skryptowych lightm i różnych innych terminów google.

Jakieś sugestie?

Edycja 1: Po przeprowadzeniu pewnych badań wydaje mi się, że może nie chcę uruchamiać skryptu za pomocą lightdm, ale raczej za pomocą programu Litterdm Greeter (w tym przypadku myślę, że program witający jedność?). Czy są jakieś haki skryptowe dla programu witającego jedność?

Cheshirekow
źródło

Odpowiedzi:

10

Możesz spróbować dodać skrypty przed uruchomieniem lub po uruchomieniu

/etc/init/lightdm.conf

(zobacz http://upstart.ubuntu.com/getting-started.html, aby zapoznać się ze wstępem do narzędzia do analizy wstępnej analizującego ten plik)

Również /etc/lightdm.conf pozwala określić skrypty do załadowania. Szczegółowy opis wszystkich (wielu) opcji, które można zastosować w pliku konfiguracyjnym lightdm.conf pod adresem /usr/share/doc/lightdm/lightdm.conf.

użytkownik31844
źródło
Dzięki za sugestię, ale to też nie działa. Nie jestem w 100% pewien, jak działa lightdm, ale rozumiem, że proces lightdm nie kończy się po zalogowaniu, ale restartuje serwer x podczas logowania / wylogowywania. Dodanie skryptu przed uruchomieniem do lightdm powoduje uruchomienie mojego skryptu przed uruchomieniem lightdm, ale myślę, że ligthdm uruchamia x po tym, więc ustawienia zmieniane przez xinput / xsetwacom nie są zachowywane do czasu wyświetlenia ekranu logowania.
cheshirekow
2
Cóż, odpowiedź nie jest całkiem poprawna, ale pomogła mi znaleźć poprawną odpowiedź. Myślę, że konfiguracja lightdm ma pewne haki skryptowe. W szczególności użyłem display-setup-script = / home / cheshirekow / Codes / shell / xorg / setwacom.sh, który działał. Znalazłem odpowiedź tutaj: askubuntu.com/questions/63681/...
cheshirekow
9

Chciałbym dodać, że „display-setup-script = / path / to / some / script” przechodzi do sekcji [SeatDefaults] w /etc/lightdm/lightdm.conf.

Używam skryptu, aby ustawić poprawną rozdzielczość i orientację ekranu dla powitania. To wygląda jak:

xrandr --output DVI-0  --mode 1920x1200 --rotate left --primary
xrandr --output HDMI-0 --mode 1920x1080
znamię
źródło
1
Dziękuję, również na Debianie jest w niewłaściwej [Lightdm]sekcji.
Alex
dobra odpowiedź, jego pytanie zaczyna się tak: „Mam komputer typu Tablet, a sterownik karty graficznej nie obsługuje Xrandr ...”, więc wyjaśnisz, w jaki sposób używasz XRANDR do ustawienia ekranu.
Tele
1

Spróbuj wstawić skrypt do ~/.xprofilepliku, jak poniżej

#! /bin/sh
# ~/.xprofile: execute commands at the beginning of the X user
#              session - before the window manager is started.
#
# The xprofile files are natively sourced by the following
# display managers:
#
#     GDM     - /etc/gdm/Xsession
#     LightDM - /etc/lightdm/Xsession
#     LXDM    - /etc/lxdm/Xsession
#     SDDM    - /usr/share/sddm/scripts/Xsession
#
# More in https://wiki.archlinux.org/index.php/Autostarting

/usr/bin/nm-applet &
mja
źródło