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?


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

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.


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

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. >.>


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.