OS:Cinnamon DEを備えたGNU/Linux Debian 9。
GAD3R のおかげで Debianサーバー上のVNCが実行中 を取得できたので、VNCを通常のサービスにする時が来ました。
起動してから、サーバーにSSHで接続する必要なく、常に実行したいです。
x11vnc -rfbauth ~/.vnc/passwd
また、別のCinnamonセッションを実行したくありません。プライマリ画面や何と呼んでいるものを直接確認し、そのセッションをライブで操作したいと思います。
まず、パスワードファイルを/etc/
の下にコピーすることをお勧めします。
Sudo cp ~/.vnc/passwd /etc/vnc.passwd
これにより、root
への所有権とrw
アクセス権も確認されます。
$ ll /etc/vnc.passwd
-rw------- 1 root root 8 Nov 3 04:00 /etc/vnc.passwd
次に、サービスファイルを自分で作成する必要があります。
Sudo nano /lib/systemd/system/vnc.service
私が思いついた最も簡単な解決策はそれを含むことです:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/vnc.passwd -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target
これは非常に単純なサービスファイルですが、停止または再起動をサポートすることさえできないことに注意してください。私自身もこれを理解する必要があります。
免責事項: man page は非常に長く、多分私はいくつかの深刻なことをしました。ここでセキュリティの間違い。自己責任でご使用ください。
Sudo systemctl enable vnc.service
Sudo systemctl daemon-reload
マシンを再起動するだけです。
補足として、クライアント側では、毎回パスワードを入力しないようにサーバーからパスワードファイルをコピーし、接続して、次のようなエイリアスを定義することができます。
alias vnc-server='(vncviewer 192.168.0.xxx:5900 -passwd /home/UserName/.vnc/server.passwd > /dev/null 2>&1 &)'
それはあなたのターミナルをあふれさせないように。
Vlastimilの独自のソリューションに似ていますが、その他の詳細がいくつかあります(from systemdを使用したCinnamonのVNCサーバー )
ファイルを作成する/etc/systemd/system/x11vnc.service
:
[Unit]
Description=VNC Server for X11
Requires=display-manager.service
After=syslog.target network-online.target ##optional for better performance
Wants=syslog.target network-online.target ##optional for better performance
[Service]
ExecStart=/usr/bin/x11vnc -display :0 -rfbauth /etc/x11vnc.pwd -shared -forever -o /var/log/x11vnc.log
ExecStop=/usr/bin/x11vnc -R stop
Restart=on-failure
RestartSec=2
[Install]
WantedBy=multi-user.target
VNCパスワードの生成と設定(MY_PASSWORDを置き換え)
x11vnc -storepasswd MY_PASSWORD /etc/x11vnc.pwd
最後に:
systemctl daemon-reload
systemctl enable x11vnc
systemctl start x11vnc