web-dev-qa-db-ja.com

xinetdから開始されたXvnc4は、空の灰色のX画面のみを表示します

誰でもポート5900に接続して、gdmログインマネージャーに挨拶できるように、Ubuntu10.10ボックスをセットアップしようとしています。これを行うために、/ etc/servicesにvncエントリを追加し、次のxinetd構成ファイルを使用してXvnc4を起動しています。

service vnc
{
  protocol = tcp
  socket_type = stream
  wait = no
  user = nobody
  server = /usr/bin/Xvnc
  server_args = -geometry 1000x700 -depth 24 -broadcast -inetd -once -securitytypes None
}

この種の作業...すべてポート5900に対して複数のセッションを開始でき、X画面が表示されます。問題は、アプリケーションが起動されていない、空の灰色のX画面しか表示されないことです。

コマンドラインからvncserverを実行すると、passwdファイルとxstartupファイルの〜/ .vnc /ディレクトリが検索されることはわかっています。私がやりたいのは、xstartファイルに「gnome-session」を入れることだと思います。ただし、どのxstartupファイルですか?実行中のユーザーは「誰も」ではなく、明らかに〜/ .vnc /ディレクトリを持っていません。 /root/.vnc/xstartupファイルと〜scott/.vnc/xstartupファイルを試しましたが、読み取られたようには見えません。

Xvnc4を「strace」するようにxinetdvncサービスを変更しました。私はすべての「開いている」行を調べましたが、xstart用にどのファイルを読み取ろうとしているかについての手がかりが得られませんでした。

誰か助けてもらえますか?ユーザーにgdmログイン画面が表示されるターミナルサーバーが必要です。

1
Scott Thomason

VNCセッションを開始したいユーザーとして実行する必要があります。また、$HOMEディレクトリを見つけることができるように、おそらく.vncを設定する必要があります。これに沿って何かを試してください:

service vnc
{
  protocol = tcp
  socket_type = stream
  wait = no
  user = someuser
  server = /usr/bin/env
  server_args = HOME=/home/someuser /usr/bin/Xvnc -geometry 1000x700 -depth 24 -broadcast -inetd -once -securitytypes None
}

また、おそらく他の環境設定も必要です。おそらくxstartupsource ~/.bash_profileであり、$USERを明示的に設定する必要がある場合もあります。

1
geekosaur