web-dev-qa-db-ja.com

モニターが接続されていないとx11vncを起動できません

セットアップしたいx11vnc(またはその他のvncサーバー)を起動時に開始します。ディスプレイマネージャーはkdmで、ディストリビューションはUbuntu 12.04.2 LTSです。

X11vncを起動しようとすると、次のエラーが発生します。

$ x11vnc -rfbauth /var/run/xauth/A:0-crWk72  -rfbport 5901
 passing arg to libvncserver: -rfbauth
 passing arg to libvncserver: /var/run/xauth/A:0-crWk72
 passing arg to libvncserver: -rfbport
 passing arg to libvncserver: 5901
 x11vnc version: 0.9.12 lastmod: 2010-09-09  pid: 2828
 XOpenDisplay("") failed.
 Trying again with XAUTHLOCALHOSTNAME=localhost ...

 *** XOpenDisplay failed. No -display or DISPLAY.
 *** Trying ":0" in 4 seconds.  Press Ctrl-C to abort.
 *** 1 2 3 4 
 XOpenDisplay(":0") failed.
 Trying again with XAUTHLOCALHOSTNAME=localhost ...
 XOpenDisplay(":0") failed.
 Trying again with unset XAUTHLOCALHOSTNAME ...

インストールしようとしましたxserver-xorg-video-dummy画面が接続されていない問題を回避するために、これまでのところ成功していません。

6
Tombart

私は次の解決策を思いつきました:

  1. Sudo apt-get install x11vnc xserver-xorg-video-dummy
  2. /etc/default/grubnomodesetフラグが含まれていることを確認します。

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

  3. 設定に応じて、/etc/X11/xorg.confを作成(または変更)し、USERおよびLISTENアドレスを変更します。

Section "Monitor"
Identifier "Monitor0"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
# 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
Modeline "1680x1050_60.00" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 -HSync +Vsync
EndSection

Section "Device"
  Identifier "Card0"
  Driver "dummy"
  VideoRam 256000
EndSection

Section "Screen"
DefaultDepth 24
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
    SubSection "Display"
    Depth 24
    Modes "1680x1050"    
    EndSubSection
EndSection

独自の解像度を生成 できます。

4-/etc/init.d/vncserverにサービススクリプトを作成します

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          vncserver
# Required-Start:    networking
# Default-Start:     3 4 5
# Default-Stop:      0 6
### END INIT INFO

PATH="$PATH:/usr/X11R6/bin/" CMD="/usr/bin/x11vnc"

# The Username:Group that will run VNC 
export USER="your_username"

# The display that VNC will use DISPLAY="1"

# Color depth (between 8 and 32) DEPTH="16"

# The Desktop geometry to use.
#GEOMETRY="<WIDTH>x<HEIGHT>"
#GEOMETRY="800x600" GEOMETRY="1680x1050"
#GEOMETRY="1280x1024"

# The name that the VNC Desktop will have. NAME="my-vnc-server"

PORT=5900 
LISTEN="192.168.1.10"


OPTIONS="-xkb -noxrecord -noxfixes -noxdamage -listen ${LISTEN} -name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -auth guess
-usepw ~/.vnc/passwd -rfbport ${PORT} -forever -bg -oa /var/log/x11vnc.log"

. /lib/lsb/init-functions

case "$1" in start) echo ${OPTIONS} log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}" su ${USER} -c "${CMD} ${OPTIONS}" ;;

stop) log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}" su ${USER} -c "${CMD} -kill :${DISPLAY}" ;;

restart) $0 stop $0 start ;; esac

exit 0
5
Tombart

次のようにすると、vncセッションがすぐに機能します。

apt-get install vnc4server x11-xserver-utils xserver-xorg-video-dummy xterm wm2

X11がまだシステムにインストールされておらず、完全なX11インストールを回避したい場合に備えて、x11-xserver-utilsとxserver-xorg-video-dummyを追加しました。ただし、この点はおそらくあなたの場合には無関係です。誰か他の人がそれを有用だと思った場合に備えて、それを追加しました。

完全なgnomeセッションなどではなく単純なセットアップが必要な場合に備えて、xtermとwm2を追加しました。その場合は、ユーザーアカウントでvnc4serverを実行して〜/ .vnc/xstartupを自動作成します。次に、それを強制終了して〜/ .vnc/xstartupを編集し、次の2行を下部に追加します。

x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
wm2 &

そして、vnc4serverを再度実行します。

それ以外の場合は、自分のアカウントでvnc4serverを実行するだけで十分です。 vncserverが最初にパスワードを作成するように要求する場合、そのパスワードを使用してリモートシステムから接続します。

リモートシステムにxtightvncviewerなどをインストールし、それを使用してvncサーバーに接続します。

apt-get install xtightvncviewer
xtightvncviewer 192.0.2.1:1   [1]

1-ドキュメントでこのIP範囲を使用する理由について http://www.iana.org/go/rfc5737 を参照してください

1
aseq