Como você inicia um programa após o início do X?

18

Há um pequeno aplicativo chamado F.Lux que define a temperatura da tela com base na hora do dia. A versão Linux é um pouco espartana, com apenas uma interface de console, mas funciona perfeitamente bem.

Onde posso invocá-lo para que ele inicie após o início do X?

cyborg
fonte
11
Eu amo f.lux! Provavelmente salvou meus olhos nos últimos anos, não aguento mais a computação sem ela.
Phoshi
Software interessante, eu estou baixando agora para experimentar ..
Dentrasi
Isso é incrível, isso vai me impedir de reclamar sobre o brilho da tela à noite.
Corey
Na verdade, aplicativo incrível.
Apache
este é um bom recurso sobre o tema lb.raspberrypi.org/forums/viewtopic.php?t=132637
Hernán Eche

Respostas:

7

.xinitrc é o único a ser usado se você iniciar o gerenciador de janelas a partir daí. Se você usa o KDE ou GNOME, precisará adicionar o programa aos serviços que são iniciados automaticamente no login.

stevenrjanssens
fonte
6

Antes de tudo, leia 'man X':

 STARTING UP

   There are two main ways of getting the X server and an initial  set  of
   client  applications  started.   The  particular method used depends on
   what operating system you are running and whether or not you use  other
   window systems in addition to X.

você aprenderá que, dependendo de como você abrir o xserver, 2 scripts são usados ​​para iniciar as coisas depois que o xserver surgiu:

  • .xinitrc (para quando você iniciou a sessão via startx(que é inicializada xinit))
  • .xsession (para quando você efetuou login no sistema através de um gerenciador de exibição (xdm))

(eu pessoalmente ln -s .xinitrc .xsession, então não importa, como eu trago o xserver).

dependendo do que você usa para entrar no seu sistema (e eu acho que é gdm ou kdm atualmente), as coisas ficam um pouco diferentes. normalmente o gdm e o kdm (e também outros gerenciadores de exibição) oferecem ao usuário a seleção da "sessão do usuário" ou algo semelhante identificado. se você escolher essa "sessão do usuário", a maioria desses gerenciadores de exibição será iniciada ~/.xsession. você seria responsável por exibir seus aplicativos E o ambiente de desktop / gerenciador de janelas.

a outra solução possível é descobrir como os diferentes ambientes de desktop / gerenciadores de janelas suportam o conceito de "inicialização automática". eu pessoalmente evito esses mecanismos e mantenho o bom e velho .xinitrc / .xsessionjeito.

um exemplo .xinitrc seria semelhante a:

xmodmap ~/.Xmodmap
xsetxkbmap de
autocutsel &
xflux -l 52
exec /usr/bin/fluxbox
akira
fonte
3

Tente colocar um script nomeado .xinitrcem seu diretório pessoal. O KDE e o Gnome também podem executar scripts / aplicativos no login, se você estiver usando um deles. Acredito .Xstartupou .xstartuptambém posso fazer o que você quiser, se .xinitrcnão o fizer. Meu linux está ficando um pouco enferrujado, parece. >.>

Darth Android
fonte
Hmm, não tenho certeza de que funcionou, existe um log para isso em algum lugar?
cyborg
A menos que F.Lux registre em algum lugar. Você sempre pode adicionar echo "hello!" >> ~/.launchlogao seu .xinitrcaté ter certeza e excluir o log de teste posteriormente.
Darth Android
1

A especificação de inicialização automática do XDG funciona em qualquer ambiente de desktop compatível com XDG, incluindo Gnome, KDE, XFCE e outros.

Ignacio Vazquez-Abrams
fonte