Iniciando automaticamente o smuxi-server

3

Smuxi (não é um nome estranho?) é um cliente de IRC, que possui um servidor desacoplado e configuração do cliente. O servidor fica em alguma máquina sempre ativa na "nuvem" e o cliente se conecta a ele de uma máquina local. Isso é particularmente útil se a máquina do cliente não tiver conectividade boa ou confiável. Se o cliente perder a conexão, ele poderá se reconectar ao servidor e não perderá nenhum dos bate-papos em andamento.

Então, isso me leva à minha pergunta. a documentação do servidor Smuxi é um pouco escassa, diz

If you want the smuxi-server to automatically start in the background when your system boots, continue reading the following sections. This is highly dependent of your operating system as each system provides its own way to auto start services.

Existem alguns espaços em branco altamente instrutivos que começam com palavras como "Debian", "Ubuntu" e "Outro Linux".

A seção então tem

To always start the smuxi-server automatically when the Linux server boots, add this to your /etc/rc.local file:

sudo -u your_linux_user bash -c 'nohup smuxi-server > $HOME/smuxi-server.log &'

Não sei se devo seguir este conselho. Eu uso o Debian e este script tem as palavras

This script is executed at the end of each multiuser runlevel.

Não tenho certeza do que isso significa. Isso significa que ele executa várias vezes? Isso não é ruim?

De qualquer forma, estou procurando conselhos (ou possivelmente scripts) para uma maneira de iniciar o servidor automaticamente na inicialização e também uma maneira de executá-lo manualmente e ter o plano de fundo automaticamente. Eu poderia correr dentro da tela, mas isso parece um pouco ... hacky.

Como estou usando o Debian wheezy, gostaria de um método que funcionasse com a configuração padrão desses sistemas.

    
por Faheem Mitha 25.08.2014 / 21:06

2 respostas

4

I'm not sure what that means. Does that mean it executes multiple times? Isn't that a bad thing?

Não, esse script é executado apenas uma vez, ao final de cada nível de execução, de 2 a 5 . No sistema Debian RunLevel , multiuser runlevel é definido do nível de execução 2 ao nível de execução 5. Uma instalação Debian padrão não faz nenhuma diferença entre eles.

No Debian, o nível de execução padrão é 2 . Você pode verificar / alterar o nível de execução padrão lendo / editando /etc/inittab :

$ grep initdefault /etc/inittab 
id:2:initdefault:

Anyway, I'm looking for advice (or possibly scripts) for a way to start the server automatically on boot

Com a instrução da documentação. Eu acho que usar rc.local trick é suficiente para iniciar automaticamente na inicialização. Se você quiser controles mais complicados, você deve escrever seu próprio script de inicialização para smuxi-server .

Você pode ler um exemplo aqui ou obter um script do diretório /etc/init.d/ para referência:

#!/bin/bash

USER=michael
GROUP=michael
PIDFILE=/var/run/smuxi.pid

case "${1:-''}" in
  'start')
        start-stop-daemon -S -c $USER -g $GROUP --make-pidfile --pidfile $PIDFILE --background --startas /usr/bin/smuxi-server -v
        ;;
  'stop')
        start-stop-daemon -K --pidfile $PIDFILE -v
        ;;
  *)
        echo "Usage: $SELF start|stop"
        exit 1
        ;;
esac

Este script não usa Especificação de LSB , mas é utilizável. Você pode ler man start-stop-daemon para entender melhor.

Nota

por 25.08.2014 / 21:16
1

Eu uso este arquivo systemd .service para iniciar o smuxi-server:

/etc/systemd/system/smuxi-server.service

[Unit]
Description=smuxi irc
After=network.target

[Service]
User=yourusername

Environment=HOME=/home/yourusername
ExecStart=/usr/bin/smuxi-server

Restart=always

[Install]
WantedBy=multi-user.target

Para testar:

$ sudo systemctl start smuxi-server

Para permitir que ele inicie a inicialização do sistema:

$ sudo systemctl enable smuxi-server
    
por 22.07.2018 / 17:15