Como criar Serviços no Linux

Fala pessoal tudo ótimo.

Galera seguindo um tutorial, fiz criação desse serviço no qual ele executa na inicialização uma serie de scripts, pois bem como não entendo muito desse processo queria saber onde estou errando, já li várias vezes esse tutorial e não consigo resolver e nem encontrar o erro.

Duas coisas:

  • Esse script inicia outro processo no fundo (com &)? Se sim, deve ser definido como type=forking.
  • Ele tenta iniciar alguma interface gráfica? Se sim, é melhor definir esse serviço como aplicativo de inicialização do seu ambiente gráfico – os serviços do sistema, por padrão, iniciam sem nenhuma conexão ou informação sobre o servidor gráfico.
3 curtidas

Na verdade ele apenas executa um arquivo sh que está localizado em opt/initScripts.

Nesse meu caso o type deve ser forking?

Depende do comportamento do script. Pode ser:

  • simple (o script fica para sempre rodando)
  • forking (inicia outro processo no fundo e encerra)
  • oneshot (faz o que tem que fazer basicamente instantaneamente e encerra).

Você simplesmente dizer “É um script” não nos dá muita noção do que ele faz (e por consequência de qual tipo ele deve ser), e a mensagem “Cannot open display” é típica de programas gráficos (o tipo de coisa que nem deve ser um serviço do sistema).

Exemplos de cada um:

# simple - roda para sempre
while :; do alguma_coisa; done
# forking - inicia outro programa no fundo e sai
outro_programa &
# oneshot - faz as coisas e encerra
alguma_coisa # e cabou
1 curtida

Lembrando que vc tem que usar o padrão Linux Standard Base (LSB ) no cabeçalho do seu script que será chamado pelo sistemd no seu casos no ini.sh

Algo semelhante a isso:

Vou pegar o script.
Kkkkkk quando liguei a máquina olha só a tela preta.

Desculpa não subir a imagem de forma certa, estou pelo celular

https://ibb.co/b3XWnh1

Trabalho muito com Sistemas RedHat, e por alguma particularidade precisei criar um script de manutenção e inicialização de uma aplicação.

Precisei criar no /etc/init.d/ e também configurar o chkconfig para configurar o seu runlevel de subida no restart do SO.

Você pode me passar um breve tutorial de como fazer isso?

Olha! Não tenho nada pronto, mas posso montar alguma coisa rápida e te mandar…
Vou ver se monto um tópico do tipo. :wink:

Agraço pelo força

Esse e o script, como meu teclado e internacional ele aplica algumas mudanças.

O setxkbmap muda o layout de teclado do servidor gráfico (e os serviços do sistema não têm conexão com ele).

Para funcinar, o comando deve ser especificado num script com nome /home/usuario/.xprofile ou como um dos aplicativos de inicialização do ambiente gráfico.

Perdoe-me pela ignorância, mas vamos ver se estou fazendo certo:
1 - Esse arquivo não existe na minha Home nesse caso devo cria-lo.
2 - Vou copiar os dados do meu script para dentro desse arquivo .xprofile

E dessa forma ?

já tento colar esse código ai dentro do arquivo /home/$USER/.bashrc
?
Não apaga tudo que esta no .bashrc se não vai dar pau, faça ate um backup antes de adicionar esse código no final do bashrc.

Exato. Lembrando que o arquivo vai ficar oculto quando você criá-lo.

Muito obrigado a Todos, problema resolvido.