私が知っている限り、すべてが正しく設定されました。サービスファイルは次のとおりです。
[Unit]
Description=Start x11vnc at startup
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -display :0 -forever -loop -noxdamage -repeat -rfbauth /etc/x11nvc.pass -rfbport 5900 -shared
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
パスワードはを/etc/x11vnc.pass
使用して保存されますsudo x11vnc -storepasswd /etc/x11vnc.pass
。 daemon:をリロードし、sudo systemctl daemon-reload
service:を有効にしsudo systemctl enable x11vnc
てserviceを起動しましたsudo systemctl start x11vnc
。
再起動後、サービスは正常に実行されますが、VNCビューアを使用してアクセスしようとすると、正しいパスワードを入力した後にエラーが発生しますpassword check failed
。
問題は:コンピュータ自体に行き、x11vncユーティリティを開くときにボタンをチェックすると、Allow Connections
すべてがうまく動作することです。問題は、これが無人キオスクパネルであり、再起動するたびにこれを行うことができないということです。なぜなら、国の反対側にあるからです。
システムはDebian 10.13 Busterで、まだ実行中のファイアウォールはありません。
誰かが私が逃したことを指摘できますか?
答え1
〜の後たくさんテスト後、この問題を解決するには2つの主な問題があることがわかりました。
x11vnc または他のデバイスから以前の VNC 構成のすべてのトレースを削除します。具体的には、そのパスからVNC関連ファイルをすべて削除してください
~/.config/...
。提案されたパスを再実行して
x11vnc -storepasswd
使用してください。何らかの理由で、x11vncは、ファイルがサービスファイルに指定されていても、提案されたパスにある場合、passwd
より一貫して機能します。
一部の人々は、新しくインストールするとこの問題を解決できると言います。ただし、既存の設定と構成が実行されているシステムにすでに適用されているため、削除はオプションではありません。 10台のマシンに展開したので、クリーンアップスクリプトを使用して後で問題を解決するのは簡単でした。これは他の人に役立つので、私のように心配する時間を無駄にしないことを願っています。