Smuxi-serverの自動起動

Smuxi-serverの自動起動

Smuxi(名前はおかしくないですか?)は、サーバーとクライアントの設定が分離されたIRCクライアントです。サーバーは「クラウド」の一部で常にオンになっているコンピューターにあり、クライアントはローカルコンピューターからサーバーに接続されています。これは、クライアントコンピュータの接続が良好でないか安定していない場合に特に便利です。クライアントが切断されたら、進行中のチャットを失うことなくサーバーに再接続できます。

だからこれは私の質問につながります。これSmuxiサーバードキュメントちょっとまれです。

システム起動時にsmuxi-serverがバックグラウンドで自動的に起動されるようにするには、次のセクションを読んでください。各システムはサービスを自動的に開始する独自の方法を提供するため、これはオペレーティングシステムによって大きく異なります。

その後、「Debian」、「Ubuntu」、「Other Linux」という単語で始まる非常に目立つスペースがあります。

その後、セクションに

Linuxサーバーの起動時に常にsmuxi-serverを自動的に起動するには、/etc/rc.localファイルに追加します。

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

このアドバイスを受け入れるべきかどうかはわかりません。私はDebianを使用していますが、このスクリプトには次のようなものがあります。

このスクリプトは、各マルチユーザーランレベルの終わりに実行されます。

これが何を意味するのかよく分からない。これは何度も実行されるという意味ですか?これは悪いことではありませんか?

とにかく、起動時にサーバーを自動的に起動する方法と、サーバーを手動で実行し、バックグラウンドで自動的に実行する方法を見つけるための提案(またはスクリプト)を探しています。画面内で実行できますが、少し…昔ながらの感じがします。

私はDebian wheezyを使っているので、そのシステムのデフォルト設定として機能する方法が欲しいです。

答え1

これが何を意味するのかよく分からない。これは何度も実行されるという意味ですか?これは悪いことではありませんか?

2いいえ、スクリプトは各ランレベルの終了時に一度だけ実行されます5。内部にDebian ランレベルシステムはmultiuser runlevel実行レベル2から実行レベル5まで定義される。デフォルトの Debian インストールは、2 つの間に違いはありません。

Debian では、デフォルトのランレベルは、以下を2読み、編集することで、デフォルトのランレベルを確認/変更できます/etc/inittab

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

とにかく、起動時にサーバーを自動的に起動する方法を見つけるための提案(またはスクリプト)を探しています。

文書によると。rc.localトリックを使用すると、起動時に自動的に起動するのに十分だと思います。より複雑なコントロールが必要な場合は、次のことを行う必要がありますsmuxi-server

例を読むことができますここ/etc/init.d/または、参照用ディレクトリからスクリプトをインポートします。

#!/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

このスクリプトは使用しません最下位ビット仕様、しかし利用可能です。man start-stop-daemonより多くの理解を得るために読むことができます。

ノート

答え2

私はこのシステムを使う。提供する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

テストするには:

$ sudo systemctl start smuxi-server

システムの起動時に起動するには、次のようにします。

$ sudo systemctl enable smuxi-server

関連情報