オペレーティングシステム: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 &)'
これにより、端末が浸水しなくなります。