Exécutez un script de démarrage avec lightdm

17

J'ai une tablette PC et le pilote graphique ne prend pas en charge xrandr, donc pour faire pivoter l'écran, je lance un script qui modifie le fichier Xorg.conf puis redémarre lightdm. J'ai également un script qui utilise xsetwacom et xinput pour modifier la rotation des périphériques d'entrée afin qu'ils correspondent à la nouvelle orientation.

J'ai appris à exécuter le script lorsque je me connecte, mais j'aimerais qu'il s'exécute avant de me connecter, pour ne pas avoir à activer la connexion automatique avec lightdm. J'en ai cependant besoin pour fonctionner, ou l'entrée (tactile et stylet) est tournée par rapport à l'écran, de sorte que lorsque je touche l'écran, l'entrée se trouve dans une zone complètement différente, ce qui rend très difficile l'utilisation du clavier à l'écran.

J'ai regardé d'autres questions sur ce site. J'ai essayé de mettre mon script dans /etc/Xsession.d mais cela ne semble pas fonctionner. J'ai également essayé de le mettre dans /etc/rc.local mais je pense que ce n'est pas le bon endroit, rien ne semble se produire. J'ai également essayé de googler pour les hooks de script lightm et divers autres termes google.

Aucune suggestion?

Edit 1: Après avoir fait quelques recherches, il me semble que ce n'est peut-être pas que je veux exécuter un script avec lightdm, mais plutôt avec le lighdm greeter (dans ce cas, je pense que l'unité-greeter?). Existe-t-il des crochets de script pour l'unité d'accueil?

cheshirekow
la source

Réponses:

10

Vous voudrez peut-être essayer d'ajouter des scripts de pré-démarrage ou de post-démarrage à

/etc/init/lightdm.conf

(voir http://upstart.ubuntu.com/getting-started.html pour une introduction à upstart qui analyse ce fichier)

/Etc/lightdm.conf permet également de spécifier les scripts à charger. Vous avez une description détaillée de toutes les (nombreuses) options qui peuvent être utilisées dans le fichier de configuration lightdm.conf à /usr/share/doc/lightdm/lightdm.conf.

user31844
la source
Merci pour la suggestion, mais cela ne semble pas fonctionner non plus. Je ne suis pas sûr à 100% du fonctionnement de lightdm, mais je crois comprendre que le processus lightdm ne se termine pas lorsque vous vous connectez, mais qu'il redémarre le serveur x lors de la connexion / déconnexion. L'ajout d'un script de pré-démarrage à lightdm permet à mon script de s'exécuter avant le démarrage de lightdm, mais je pense que ligthdm démarre x après cela, donc les paramètres que je modifie via xinput / xsetwacom ne sont pas conservés au moment où l'écran de connexion s'affiche.
cheshirekow
2
Eh bien, la réponse n'est pas tout à fait correcte, mais cela m'a aidé à trouver la bonne réponse. Je suppose que la configuration de lightdm a des crochets de script. En particulier, j'ai utilisé display-setup-script = / home / cheshirekow / Codes / shell / xorg / setwacom.sh qui fonctionnait. J'ai trouvé la réponse ici: askubuntu.com/questions/63681/…
cheshirekow
9

Je voudrais ajouter que "display-setup-script = / path / to / some / script" va dans la section [SeatDefaults] de /etc/lightdm/lightdm.conf.

J'utilise le script pour configurer la résolution et l'orientation d'écran correctes pour le greeter. Cela ressemble à ceci:

xrandr --output DVI-0  --mode 1920x1200 --rotate left --primary
xrandr --output HDMI-0 --mode 1920x1080
stig
la source
1
Merci, également sur Debian, c'est dans la mauvaise [Lightdm]section.
Alex
bonne réponse, sa question commence comme: "J'ai une tablette PC et le pilote graphique ne prend pas en charge xrandr ...", vous expliquez donc comment utiliser xrandr pour régler votre écran.
Tele
1

Essayez d'insérer votre script dans un ~/.xprofilefichier, comme ci-dessous

#! /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
la source