Como você inicia um programa depois que o X é iniciado?

18

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

Onde posso invocá-lo para que inicie após o X ter iniciado?

    
por cyborg 08.06.2010 / 21:58

4 respostas

7

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

    
por 08.06.2010 / 22:24
5

em primeiro lugar, 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ê vai aprender que, dependendo de como você mostra o xserver, 2 scripts são usados para iniciar coisas após o xserver aparecer:

  • .xinitrc (para quando você iniciou a sessão via startx (que dispara xinit ))
  • .xsession (para quando você efetuou login no sistema por meio 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 é o gdm ou o kdm atualmente), as coisas ficam um pouco diferentes. Normalmente, o gdm e o kdm (e outros gerenciadores de exibição também) oferecem ao usuário para selecionar a "sessão do usuário" ou algo semelhante rotulado. Se você escolher essa "sessão do usuário", então, na maioria das vezes, esses gerenciadores de exibição iniciarão o ~/.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 área de trabalho / gerenciadores de janela suportam o conceito de "início automático". Eu pessoalmente evito esses mecanismos e mantenho o bom e velho .xinitrc / .xsession way.

um exemplo .xinitrc ficaria assim:

xmodmap ~/.Xmodmap
xsetxkbmap de
autocutsel &
xflux -l 52
exec /usr/bin/fluxbox
    
por 09.06.2010 / 07:58
3

Tente colocar um script chamado .xinitrc no seu diretório pessoal. O KDE e o Gnome também têm a capacidade de executar scripts / aplicativos no login se você estiver usando um desses. Eu acredito que .Xstartup ou .xstartup também pode fazer o que você quer se .xinitrc não fizer. Meu linux está ficando um pouco enferrujado, parece. >. >

    
por 08.06.2010 / 22:21
1

A Especificação de início automático do XDG funciona para qualquer ambiente de área de trabalho compatível com XDG, incluindo o Gnome , KDE, XFCE e outros.

    
por 09.06.2010 / 08:03