/ bin / sleep não está funcionando na linha de comando do serviço systemd

0

Eu tenho uma caixa Linux tipo quiosque (Debian stretch com Gnome) que executa apenas uma aplicação específica. Esta aplicação foi lançada por um arquivo .desktop em .config / autostart no diretório home do usuário. Eu decidi usar o systemd em vez do início automático para iniciar o aplicativo. No arquivo .desktop, a linha de comando era:

sh -c "sleep 5 && sudo /usr/bin/MyApp &"

Essa linha de comando funcionou bem, então no arquivo .service eu adicionei a mesma linha de comando, exceto que usei todo o caminho dos comandos:

/bin/sh -c "/bin/sleep 5 && /usr/bin/sudo /usr/bin/MyApp &"

Com essa linha de comando, o programa não é iniciado. Se eu verificar com systemctl --user status MyApp.service , o aplicativo será relatado como carregado e ativo. Se eu remover /bin/sleep 5 && , funcionará novamente.

Eu tentei o seguinte, sem sucesso:

  • usei /bin/bash em vez de /bin/sh .
  • Eu criei um script bash com os comandos e iniciei esse script a partir do arquivo .service.
  • Eu coloquei /bin/echo em vez de sleep (para ver se o problema era devido à concatenação de dois comandos com && ) e, nesse caso, o programa funciona bem.
por Giorgio R 19.10.2018 / 15:13

0 respostas