Supervisordでvncserverを動かす


debian8の場合

インストール
sudo apt-get install -y supervisor
/etc/supervisord/conf.d/custom.conf
[supervisord]
nodaemon=true

[inet_http_server]
port=127.0.0.1:9001

[program:vnc]
command=sh /home/user1/bin/vncstart.sh
autostart=true
autorestart=true     ; プロセスダウン時に自動再起動 
user="user1"         ; 起動ユーザ
redirect_stderr=true ; エラー出力を標準出力にリダイレクト 
stdout_logfile="/var/tmp/s-vnc.log" ; 標準出力ログ
environment=HOME="/home/user1", USER="user1"
  • vncserverはバックグラウンドで起動するためsupervisordからはrunning状態にならない。
    • そのためtailする
/home/user1/bin/vncstart.sh
/usr/bin/vncserver -geometry 1280x1024 :2 \
  && tail -F $HOME/.vnc/*.log
起動
/etc/init.d/supervisor restart

supervisorctl

rootで実施
supervisorctl relead
supervisorctl update

supervisorctl status vnc
supervisorctl stop vnc
supervisorctl start vnc