Como posso executar um script que inicia antes da minha tela de login?

15

Eu estava calibrando minha tela sensível ao toque e vi que a melhor ferramenta em volta era xinput_calibrator. Então eu usei isso. Tem duas opções (uma das quais não funcionou), então estou aqui para a segunda. Ele diz que eu deveria executar este comando "em um script que começa com sua sessão X":

xinput set-int-prop "3M 3M USB Touchscreen - EX II" "Evdev Axis Calibration" 32 14410 2146 14574 2115

Então, eu tentei ~/.xinitrc , ~/.xsession e ~/.xsessionrc , todos os quais não existiam. Então eu os criei e o conteúdo exato era esse comando. Os dois primeiros arquivos fizeram meus logins falharem (depois que eu fizer login, volto para a tela de login).

Com o último arquivo, a calibração foi funcional, mas somente após o login ...

Eu preciso desse comando para executar antes de aparecer a caixa de diálogo de login. Pensei em adicionar este comando ao final de /etc/X11/xinit/xinitrc sem resultado (nada mudou). Além disso, tentei adicioná-lo ao final de /etc/X11/Xsession.d/40x11-common_xsessionrc (depois de inspecionar alguns dos arquivos), mas o resultado foi exatamente o mesmo que adicioná-lo a ~/.xsessionrc .

Como posso fazer este comando rodar antes que a tela de login mostre (isso é antes do gerenciador de janelas iniciar ou antes do início da sessão X)?

(Eu estou executando o Kubuntu com o gerenciador de janelas padrão, se isso importa)

UPDATE Como estou usando o Kubuntu, meu gerenciador de exibição é o kdm. Como a resposta aceita sugere, eu editei o arquivo /etc/kde4/kdm/Xsetup , e como mencionado aqui Eu adicionei o comando antes do comando que está lá por padrão. E funciona como um encanto:)

    
por jadkik94 08.07.2012 / 22:53

4 respostas

11

Todos os arquivos que você tentou alterar são lidos após o login. Além disso, ~/.xinitrc e ~/.xsession são o conjunto completo de comandos executados em uma sessão; ~/.xinitrc é lido se você executar xinit ou startx em um prompt de modo de texto e ~/.xsession for lido se você executar uma sessão personalizada (o nome pode variar) em um prompt de login gráfico.

Você precisa configurar o seu gerenciador de exibição , o programa que mostra o prompt de login. Para o kdm, o gerenciador de exibição do KDE, adicione seu comando a /etc/kde4/kdm/Xsetup (ou /etc/kde3/kdm/Xsetup para versões mais antigas) (esse é o caminho no Debian, eu não verifiquei se o Kubuntu usa o mesmo caminho).

Para o gdm (o gerenciador de exibição do Gnome), inclua seu comando em /etc/gdm/Init/Default . Para o xdm (o tradicional gerenciador de exibição X), inclua seu comando em /etc/X11/xdm/Xsetup .

    
por 09.07.2012 / 02:00
2

Sugiro que você crie seu próprio arquivo de configuração, um exemplo simples:

/usr/lib/X11/xorg.conf.d/20-calibration.conf

Filecontent:

Section "InputClass"
         Identifier "Calibration"
         MatchProduct "3M 3M USB Touchscreen - EX II"
         Option "Calibration" "14410 2146 14574 2115"
EndSection

Isso deve fazer o truque.

    
por 25.03.2013 / 16:36
-1

Você pode tentar /etc/rc.local?

.

    
por 08.07.2012 / 22:58
-1

Quando você tiver o OpenSUSE, você pode copiar seu script para /etc/init.d e executar o nome do script insserv. insserv permite um script: link .

    
por 08.07.2012 / 23:35