Scripts de inicialização do Linux

0

Histórico: Estou executando uma versão do Arch Linux no meu laptop. O sistema está lá há três anos. Eu re-instalei um par de vezes, e eu carreguei os arquivos de ponto antigos no meu diretório home durante as re-instalações. Isso torna quase impossível dizer / lembrar de todas as configurações que fiz. Eu uso o openbox como WM e não tenho nenhum ambiente de desktop além disso.

Agora quero algo simples:

Eu quero que o computador execute tint2 na inicialização. Para fazer isso eu fiz uma pesquisa e aprendi ~/.xinitrc é executado sempre que eu executo o startx, e ~/.config/openbox/autostart é executado na execução do openbox.

Então, eu fiz primeiro meu .xinitrc em apenas duas linhas:

exec openbox
tint2 &

Em seguida, executamos pkill x e startx novamente, o openbox foi executado como sempre, mas não o tom2.

Então, por que vamos tentar autostart ? Eu escrevi um one-liner autostart

tint2 &

Reinicie o X, nada aconteceu.

Eu também chmod +x d o script autostart e tentei alterar a linha para

(sleep 2s && tint2) &

mas o openbox continuava se recusando a me mostrar a barra de tarefas tint2 na inicialização.

Se eu executar o script de início automático em uma janela de terminal, ele funcionará.

Meu palpite é que alguns outros arquivos / scripts de configuração são executados. Se for esse o caso, existe alguma maneira de saber quais arquivos eles são? Ou simplesmente, por que o script xinitrc ou autostart não funciona?

    
por Y. Pei 15.10.2014 / 17:00

2 respostas

0

Eu resolvi o problema substituindo o

exec openbox

com

openbox-session

em .xinitrc . Acontece que o autostart só é executado com openbox-session .

    
por 16.10.2014 / 15:45
1

A maneira tradicional de fazer um .xinitrc bruto é estruturá-lo como

process1 &
process2 &
process3 &
...
lastprocess

O último processo, sem o E comercial, é o "processo mágico", e o fechamento se fecha X. Tradicionalmente, em twm, o processo mágico era um xterm. Quando o processo sem um e comercial termina, X fecha. Se você colocar em segundo plano o último processo ( process4 & ), X será fechado. Eu acho que o seu exemplo deve ser assim:

tint2 &
exec openbox-session

Pelo menos em alguns casos, acho que omitir o "e" comercial não parece importar. Eu faço isso por acaso, de vez em quando, sem nenhum efeito negativo.

Certifique-se também de fazer chmod u+x .xinitrc

    
por 16.10.2014 / 16:21