Esegui uno script di avvio con lightdm


17

Ho un tablet PC e il driver grafico non supporta xrandr, quindi per ruotare lo schermo eseguo uno script che modifica il file Xorg.conf e quindi riavvia lightdm. Ho anche uno script che utilizza xsetwacom e xinput per modificare la rotazione dei dispositivi di input in modo che corrisponda al nuovo orientamento.

Ho imparato come eseguire lo script quando eseguo l'accesso, ma mi piacerebbe che fosse eseguito prima di accedere, in modo da non dover abilitare l'auto-login con lightdm. Tuttavia, ho bisogno che funzioni, oppure l'input (touch e penna) viene ruotato rispetto allo schermo, quindi quando tocco lo schermo l'input si trova in un'area completamente diversa, rendendo davvero difficile l'uso della tastiera su schermo.

Ho esaminato altre domande su questo sito. Ho provato a mettere il mio script in /etc/Xsession.d ma non sembra funzionare. Ho anche provato a metterlo in /etc/rc.local ma penso che sia il posto sbagliato, non sembra succedere nulla. Ho anche provato a cercare su Google ganci per gli script Lightm e vari altri termini di Google.

Eventuali suggerimenti?

Modifica 1: Dopo aver fatto qualche ricerca, mi sembra che non possa essere che io voglia eseguire una sceneggiatura con lightdm, ma piuttosto con il saluto di lighdm (in questo caso, penso il saluto di unità?). Ci sono dei ganci per gli script per l'unità-greeter?

Risposte:


10

Potresti provare ad aggiungere script pre-avvio o post-avvio a

/etc/init/lightdm.conf

(vedi http://upstart.ubuntu.com/getting-started.html per un'introduzione a upstart che analizza questo file)

Inoltre /etc/lightdm.conf consente di specificare gli script da caricare. Hai una descrizione dettagliata di tutte (molte) le opzioni che possono essere utilizzate nel file di configurazione lightdm.conf in /usr/share/doc/lightdm/lightdm.conf.


Grazie per il suggerimento, ma neanche questo sembra funzionare. Non sono sicuro al 100% di come funzioni lightdm, ma ho compreso che il processo lightdm non termina quando si effettua il login, ma che riavvia il server x quando si accede / disconnette. Aggiungendo uno script pre-avvio a lightdm get il mio script viene eseguito prima dell'avvio di lightdm, ma penso che ligthdm inizi x dopo questo, quindi le impostazioni che modifico tramite xinput / xsetwacom non vengono conservate quando viene visualizzata la schermata di accesso.
Cheshirekow,

2
Bene, la risposta non è del tutto corretta ma mi ha aiutato a trovare la risposta corretta. Immagino che la configurazione di lightdm abbia alcuni hook di script. In particolare ho usato display-setup-script = / home / cheshirekow / Codes / shell / xorg / setwacom.sh che ha funzionato. Ho trovato la risposta qui: askubuntu.com/questions/63681/…
cheshirekow

9

Vorrei aggiungere che "display-setup-script = / path / to / some / script" va nella sezione [SeatDefaults] di /etc/lightdm/lightdm.conf.

Uso lo script per impostare la risoluzione e l'orientamento dello schermo corretti per il messaggio di benvenuto. Questo sembra:

xrandr --output DVI-0  --mode 1920x1200 --rotate left --primary
xrandr --output HDMI-0 --mode 1920x1080

1
Grazie, anche su Debian è nella [Lightdm]sezione sbagliata .
Alex

buona risposta, la sua domanda inizia come: "Ho un tablet PC e il driver grafico non supporta xrandr ...", quindi spieghi come usi xrandr per impostare il tuo schermo.
Tele

1

Prova a inserire il tuo script nel ~/.xprofilefile, come di seguito

#! /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 &
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.