web-dev-qa-db-ja.com

Xサーバーがすでに実行されている場合のx11vncのリモート起動

私はすでにログインしたubuntu linuxマシンを持っていて、Xサーバーが実行されています(gdmのようなログインマネージャーにパスしています)。 sshを介してこのマシンにアクセスできます。私の目標は、このマシンでx11vncを起動し、すでに実行中のXサーバーに接続することです。

マシンにsshしてx11vncを起動すると、次のように表示されます。

X11 was unable to open the X DISPLAY ":0", it cannot continue.

リモートマシンにx11vncを物理的にアクセスできず、Xserverがすでに起動している場合、どうすれば起動できますか?これを実行したいのは、リモートマシンで作業したいウィンドウがいくつか開いているためです。

編集:私はx11vnc -findも試しました。今回はそのエラーメッセージが表示されず、クライアントが接続されていることを検出できました。

Got connection from client x.x.x.x
...
wait_for_client: find display cmd failed
wait_for_client: bad reply '
'

したがって、-findコマンドは避けられないことを遅らせるだけのようです。

おかげで、

4
Madiyaan Damha

私のgentoo kdeデスクトップで、これはkdeがすでに実行されている場合に最適です。

x11vnc -xauth/var/run/xauth/A:0-bHJFac -display:0 -passwd "password" -forever -shared

3

私はgnomeを使用していたので、単にgnomeが使用していたx権限ファイルをx11vncに与えるだけでした。これは以下によって行われました:

x11vnc -xauth /var/lib/gdb/:0.Xauth -display :0
3
Madiyaan Damha

私のために

Description:    Debian GNU/Linux 6.0.5 (squeeze)
Release:        6.0.5
Codename:       squeeze

apt-cache policy gdm3
gdm3:
  Installiert: 2.30.5-6squeeze4

これは、ssh経由でリモートでログインした場合でもうまく機能しました。

su -c "x11vnc -auth /var/run/gdm3/auth-for-username*/database -display :0 -forever -passwd foo"

編集:たとえば、 SSH経由でvncを快適に使用するためのssvnc。上記のようにx11vncを起動しますが、 "-localhost"オプションを指定します。

su -c "x11vnc -auth /var/run/gdm3/auth-for-username*/database -display :0 -forever -passwd foo -localhost"

次に、ssvncスクリプトの[Use SSH]をクリックすると、sshを介して接続されるため、x11vncがグローバルにリッスンする必要はありません。

0
enthus1ast

私は非常に遠回りの方法でそれを解決したので、私はそれをどのように行ったかを詳しく説明します。これは非常に最適ではなく、関与しています。他の人たちは、エレガントで短い解決策をすでに提供しています。

私が直面した問題は、x11vncがグラフィカルディスプレイを見つけられなかったと言ってSSHからやり直すことを拒否したことです。だから私の解決策は...

最初に、SSHを介してrootとして、ディスプレイ上のマシンでTigerVNCサーバーを起動しました:1

# vncserver :1

(ルートとして愚かだった)

次に、クライアントコンピューターからTigerVNCを使用してこのディスプレイに接続しました

Connect to: a.b.c.d:1

現在、私はroot(非常に愚かな)としてGUIにいます。ターミナルを開き、元のユーザーとしてx11vncを起動しました

# Sudo -u milind x11vnc -many -display :0

今私はできました

Connect to: a.b.c.d:0

できた!非常に遠回りですが。

0
Milind R