
これがStackOverflowに属するのかここに属するのかはわかりませんが、これらのプログラムはUbuntuの1つのバージョンで動作するので、ここで試してみましょう。
私たちは1日に1回サーバー上で仮想Xディスプレイを起動し、Xディスプレイを必要とする複数のプログラムを実行する小さなPythonアプリケーションを持っています。このプログラムはUbuntu 10.04で正常に実行され、12.04サーバーでも引き続き正常に実行されます。
今、私たちはすべての前提条件が満たされたにもかかわらず、14.04でサーバーをリリースすることを検討しています(最新バージョンPy仮想ディスプレイ vncサーバーを閉じます)。
14.04では、このプログラムは失敗します。デバッグの最大の問題は、12.04サーバーで見られるようにX画面を見ることができないことです。パスワードを尋ねる。私はこれがtightvncserver
ソフトウェアのいくつかのセキュリティ変更であると予想しましたが、12.04と14.04の両方でUbuntu固有のバージョンは異なりますが(6.2対6.4)、バージョン1.3.9です。
クライアントコンピュータで同じVNCクライアントを使用して両方のサーバーに接続します。
パスワードプロンプトを削除し、どの(その他の)エラーがあるかを確認し続けるにはどうすればよいですか?サーバーが起動してからパスワードが設定されていないと確信しています。パスワードが何であるかを推測することはできません。
答え1
Xvnc -version
(14.04)が以下を提供していることを確認する必要があります。
Xvnc version TightVNC-1.3.9
pyvirtualdisplayで作成されたvncサーバーインスタンスに接続すると、パスワードの入力を求められないことがあります。
/usr/bin/Xvnc
これは、pyvirtualdisplayがファイルが存在することを確認し、xnvc
バックエンドが指定されている場合は実行可能ファイルを呼び出してightvncserverがインストールされていることを確認するためです。ただし、ファイルは管理対象/etc/alternatives/
の代替へのリンクですvnc4server
(VNCを介してデスクトップを共有したい場合は、このサーバーをインストールするためにパスワードIIRCが必要です)。
次のコマンドを実行して代替を変更できますXvnc
。
sudo update-alternatives --config Xvnc
そして、このtightvncserver
オプションを選択してください。これは、(現在)選択した他のサーバーの選択肢に依存するプログラムにセキュリティ副作用があるかどうかはわかりません。
したがって、可能であれば、引くソースを変更し、pyvirtualdisplay
次の行を追加する必要があります(呼び出し前にDisplay()
)。
import pyvirtualdisplay.xvnc
pyvirtualdisplay.xvnc.PROGRAM = "Xtightvnc"
これにより、pyvirtualdisplayライブラリは正しいサーバーバイナリを使用して選択したXvnc
選択肢をバイパスします。