Por que o LXQT Autostart não faz nada?

1

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.

    
por sktpin 11.06.2018 / 16:12

1 resposta

0

Ok, funciona. Eu não tenho uma resposta muito precisa para a pergunta exata de porque o autostart não funcionou além de notar a diferença de: arquivo .sh não funciona, o aplicativo funciona diretamente.

O que eu fiz agora:

Após excluir os arquivos .desktop antigos na pasta de autostart, criei o um:

$ nano ~/.config/autostart/MyAppName.desktop

Inserido isto:

[Desktop Entry]
Exec=mono /full/path/to/mono_c#/gui/app/myappname.exe
Path=/full/path/to/working/directory
Name=MyAppName
Type=Application
Version=1.0

Nota: o executável aqui para "Exec", encontrado através da variável path, é mono, e sua linha de comando arg é o caminho para o "executável" que é executado na estrutura mono.

Isso funciona como supostamente. Reinicie - > app é iniciado.

Editar: Note que, para mim, o aplicativo não tem o diretório de trabalho atribuído pelo Path, provavelmente um erro do meu lado em algum lugar, mas vou mencioná-lo, apenas no caso.

Agora eu gostaria que algumas coisas fossem feitas no arquivo .sh original que se recusa a trabalhar aqui. Então, eu não irei "aceitar" minha própria resposta por um tempo, no caso de alguém aparecer que possa dizer precisamente o que está acontecendo.

Editar - algumas referências:

link

link

    
por 12.06.2018 / 11:42