Eu tenho um BeagleBone Black aqui,
executando Debian 8.3, Linux 4.1.15-ti-rt-r43.
Desktop é LXQT.
Após a inicialização, quero executar um arquivo .sh - quando o ambiente de área de trabalho estiver pronto, como esse arquivo, após alterar o caminho e definir algumas variáveis, chama mono para iniciar um programa baseado na GUI.
Usando o "menu inicial":
Preferências - > Configurações LXQt - > Configurações de sessões
- > Autostart
Eu adicionei uma entrada, primeiro em "Global Autostart", mais tarde em "LXQt Autostart" (apenas uma das duas caixas verificadas de cada vez). Especifiquei, em "comando", o caminho para o meu script .sh, por meio do botão "Pesquisar ...", ou seja, sem erros de digitação possíveis.
Eu tentei com ambos, "Aguarde a bandeja do sistema" marcada e desmarcada.
Clique em "fechar" e reinicie a máquina pelo menu iniciar cada tentativa.
Após o início da área de trabalho, nada mais acontece.
O script roda bem a partir do prompt de comando ssh remote * - o aplicativo é iniciado.
Além disso, copiá-lo para a área de trabalho e clicar nele - funciona.
_ * o arquivo .sh contém a linha "export DISPLAY =: 0" como foi usada pela primeira vez para iniciar o ssh para iniciar um aplicativo GUI.
Eu comentei para ver se isso muda alguma coisa aqui, isso não acontece.
EDITAR :
Então agora criei manualmente um arquivo .desktop em ~ / .config / autostart - observando os arquivos .desktop LXQt feitos nessa pasta clicando na interface do usuário descrito acima. No meu arquivo, eu especifiquei os caminhos etc para iniciar meu script .sh e defina uma opção extra como true: "Terminal", que especifica que o programa de início automático deve ser executado em um terminal.
O que isso fez foi mostrar-me - sim, de fato, algo é iniciado após a inicialização / carregamento da área de trabalho env, porque o terminal é visível, ou seja, meu arquivo de autoinicialização não é ignorado.
Mas os comandos "echo" no meu script .sh não aparecem nesse terminal, nem meu aplicativo mono foi iniciado.
Se eu abrir outro shell remoto e copiar + colar o caminho que dei no arquivo autostart .desktop em "Exec", ele iniciará meu aplicativo como supostamente - então o caminho está correto.
Então, o que está acontecendo lá? A área de trabalho do LXQt obviamente encontra meu arquivo, tenta iniciar automaticamente, mas não faz nada.
Causas possíveis?
Eu pensei (não sabendo realmente como isso tudo funciona sob o capô), talvez mono / GUI ainda não está pronto, mesmo que o desktop carregado, por algum motivo engraçado, e eu coloquei um eco "dormindo ...", durma 30s , echo "chamando app mono ..." antes de chamar o aplicativo mono no meu arquivo .sh que deveria iniciar automaticamente.
Nada disso é visível no temor que agora se abre no início e não ajuda.