2017年8月25日金曜日

Xvfb + x11vnc - debian(systemd)

/etc/VNCServer/USER.cfg
DISPLAY=:99
VNCPORT=5900
VNCPASSWD=/home/USER/.vnc/passwd
BGCOLOR=#AAAAAA

/etc/systemd/system/Xvfb@USER.service
[Unit]
Description=Xvfb
Before=WManager@USER.service
[Service]
Type=simple
User=USER
EnvironmentFile=/etc/VNCServer/USER.cfg
ExecStart=/usr/bin/Xvfb ${DISPLAY} -screen 0 1280x1024x16 -nolisten tcp -auth /tmp
[Install]
WantedBy=multi-user.target

/etc/systemd/system/WManager@USER.service
[Unit]
Description=Window Manager
Requires=Xvfb@USER.service
After=Xvfb@USER.service
Before=x11vnc@USER.service
[Service]
Type=simple
User=USER
EnvironmentFile=/etc/VNCServer/USER.cfg
ExecStartPre=export DISPLAY=${DISPLAY}
ExecStart=/usr/bin/openbox --startup "xsetroot -display ${DISPLAY} -solid \${BGCOLOR}"
#ExecStart=/user/bin/openbox --startup "xsetroot -display ${DISPLAY} -solid \#AAAAAA"
[Install]
WantedBy=multi-user.target

/etc/systemd/system/x11vnc@USER.service
[Unit]
Description=x11vnc
Requires=WManager@USER.service Xvfb@USER.service
After=WManager@USER.service
[Service]
Type=simple
User=USER
EnvironmentFile=/etc/VNCServer /USER.cfg
ExecStart=/usr/bin/x11vnc -display ${DISPLAY} -repeat -forever -shared -rfbport ${VNCPORT} -rfbauth ${VNCPASSWD}
[Install]
WantedBy=multi-user.target

systemctl enable Xvfb@USER.service
systemctl enable WManager@USER.service
systemctl enable x11vnc@USER.service

※追加用
/etc/VNCServer/USER2.cfg を作成
cat XXX@USER.service | sed 's/USER/USER2/g' > XXX@USER2.service