x11vncシステムサービスの作成

x11vncシステムサービスの作成

オペレーティングシステム:GNU / Linux Debian 9およびCinnamon DE。

我々が得ることができたのでDebian サーバーで実行される VNCありがとうございます。GAD3Rこれで、VNC を正規サービスに戻すことになります。

実行中は、サーバーにSSHを接続せずに開始から実行したいと思います。

x11vnc -rfbauth ~/.vnc/passwd

そして別々のシナモンセッションを実行するのではなく、ホーム画面にある内容や何と呼ぶのかを直接見て、そのセッションをリアルタイムで運営したいと思います。

答え1

Vlastimilの独自のソリューションに似ていますが、いくつかの追加の詳細があります。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

答え2

/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

このファイルは最も簡単なサービスファイルですが、停止や再起動もサポートしていません。この点は私が直接見つけなければなりません。

婦人声明:マニュアルページかなり長い時間がかかりました。ここでは、セキュリティミスなどの深刻なミスを犯した可能性があります。自分の責任で使用してください。

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 &)'

これにより、端末が浸水しなくなります。

関連情報