Executando o script python como um serviço e iniciando a inicialização do sistema

2

Eu escrevi um script python para adicionar um Indicador App na barra de menu do Ubuntu.

Eu quero executá-lo como um serviço que inicia na inicialização do sistema.

Tentei ver outras respostas, mas nenhuma delas funcionou para mim, pois elas estavam desatualizadas, usavam recursos obsoletos ou simplesmente não funcionavam para mim.

Estou usando o Ubuntu 16.04.

Por favor me guie. Obrigado

    
por np_complete 17.04.2017 / 11:57

1 resposta

3

Existe diferença se você precisar executar como serviço ou simplesmente executá-lo , porque sua pergunta implica que simplesmente executá-lo seria suficiente.

Para iniciar automaticamente um programa / script

Use o programa Startup Applications no seu Ubuntu.

Coloque o script (executável) em algum lugar e crie uma nova entrada que basicamente aponte apenas para o script.
Certifique-se de que o script tenha um bom conteúdo: #!/usr/bin/env python ou similar.
Certifique-se também de que a entrada esteja ativada.

O que isto faz é basicamente criar um novo arquivo .desktop em ~/.config/autostart . Você pode cortar o arquivo do desktop para o conteúdo do seu coração, mas não remova o X-MATE-Autostart-enabled=true (esta linha pode ser um pouco diferente dependendo do seu DE)

Para criar um serviço adequado

O Ubuntu 16 usa systemd e você precisa criar um serviço para isso. Criar um serviço systemd é um pouco mais difícil, mas há muitos bons guias como:

No entanto, ele é usado principalmente para daemons de segundo plano, não para indicadores ou outras coisas da GUI, então você deve ficar com o Startup Applications.

    
por Roberts Gotlaufs 17.04.2017 / 12:24