Eu resolvi o problema substituindo o
exec openbox
com
openbox-session
em .xinitrc
. Acontece que o autostart
só é executado com openbox-session
.
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?
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