Execute um script de inicialização com lightdm

17

Eu tenho um tablet PC e o driver gráfico não suporta xrandr; portanto, para girar a tela, eu executo um script que altera o arquivo Xorg.conf e reinicia o lightdm. Eu também tenho um script que usa xsetwacom e xinput para alterar a rotação dos dispositivos de entrada para que correspondam à nova orientação.

Aprendi como executar o script ao fazer login, mas gostaria que ele fosse executado antes de fazer o login, para não precisar ativar o login automático com o lightdm. Porém, eu preciso que ele execute, ou a entrada (toque e caneta) é girada em relação à tela, de modo que quando eu toco na tela, a entrada fica em uma área completamente diferente, dificultando muito o uso do teclado na tela.

Eu olhei para outras perguntas neste site. Eu tentei colocar meu script em /etc/Xsession.d, mas isso não pareceu funcionar. Eu também tentei colocá-lo em /etc/rc.local, mas acho que esse é o lugar errado, nada parece acontecer. Eu também tentei pesquisar no Google por ganchos de script lightm e vários outros termos do Google.

Alguma sugestão?

Edit 1: Depois de fazer algumas pesquisas, parece-me que talvez eu não queira executar um script com lightdm, mas com o lighdm greeter (neste caso, acho que o unity-greeter?). Há algum gancho de script para quem recebe a unidade?

cheshirekow
fonte

Respostas:

10

Convém adicionar scripts de pré-início ou pós-início ao

/etc/init/lightdm.conf

(consulte http://upstart.ubuntu.com/getting-started.html para obter uma introdução ao upstart que analisa esse arquivo)

Também o /etc/lightdm.conf permite especificar scripts a serem carregados. Você tem uma descrição detalhada de todas (muitas) as opções que podem ser usadas no arquivo de configuração lightdm.conf em /usr/share/doc/lightdm/lightdm.conf.

user31844
fonte
Obrigado pela sugestão, mas isso também não parece funcionar. Não tenho 100% de certeza sobre como o lightdm funciona, mas entendo que o processo do lightdm não termina quando você faz login, mas reinicia o servidor x ao fazer login / logout. Adicionando um script de pré-inicialização ao lightdm get, meu script é executado antes do lightdm iniciar, mas acho que o ligthdm inicia x depois disso, portanto, as configurações alteradas via xinput / xsetwacom não são preservadas no momento em que a tela de login é exibida.
Cheshirekow #
2
Bem, a resposta não está correta, mas me ajudou a encontrar a resposta correta. Eu acho que a configuração do lightdm tem alguns ganchos de script. Em particular, usei display-setup-script = / home / cheshirekow / Codes / shell / xorg / setwacom.sh que funcionou. Encontrei a resposta aqui: askubuntu.com/questions/63681/…
cheshirekow
9

Gostaria de acrescentar que "display-setup-script = / path / to / some / script" vai para a seção [SeatDefaults] do /etc/lightdm/lightdm.conf.

Eu uso o script para configurar a resolução correta e a orientação da tela para o greeter. Isso se parece com:

xrandr --output DVI-0  --mode 1920x1200 --rotate left --primary
xrandr --output HDMI-0 --mode 1920x1080
stig
fonte
1
Obrigado, também no Debian está na [Lightdm]seção errada .
Alex
boa resposta, sua pergunta começa assim: "Eu tenho um tablet PC e o driver gráfico não suporta xrandr ...", então você explica como usa o xrandr para definir sua tela.
Tele
1

Tente inserir seu script no ~/.xprofilearquivo, como abaixo

#! /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
fonte