Tom*_*art 6 ubuntu vnc debian x11 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 ...
Run Code Online (Sandbox Code Playgroud)
我已经尝试安装xserver-xorg-video-dummy以避免没有连接屏幕的问题,但到目前为止没有成功。
我想出了以下解决方案:
sudo apt-get install x11vnc xserver-xorg-video-dummy检查/etc/default/grub它是否包含nomodeset标志:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
根据您的设置创建(或修改)/etc/X11/xorg.conf、修改USER和LISTEN寻址。
Run Code Online (Sandbox Code Playgroud)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
Run Code Online (Sandbox Code Playgroud)