não pode iniciar x11vnc sem monitor anexado

5

Gostaria de configurar x11vnc (ou qualquer outro servidor vnc) para iniciar no tempo de inicialização. O gerenciador de exibição é kdm , a distribuição é Ubuntu 12.04.2 LTS.

Quando tento iniciar x11vnc, estou recebendo estes erros:

$ 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 ...

Eu tentei instalar xserver-xorg-video-dummy para evitar problemas sem tela anexada, mas até agora sem sucesso.

    
por Tombart 03.06.2013 / 21:58

2 respostas

4

Eu encontrei a seguinte solução:

  1. sudo apt-get install x11vnc xserver-xorg-video-dummy
  2. verifique /etc/default/grub que inclui nomodeset flag:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

  3. Crie (ou modifique) /etc/X11/xorg.conf , modifique USER e LISTEN endereço de acordo com suas configurações.

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

Você pode gerar sua própria resolução .

4 - crie script de serviço em /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
    
por 04.06.2013 / 13:50
1

O seguinte sempre me traz uma sessão vnc de trabalho rapidamente:

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

Eu adicionei x11-xserver-utils e xserver-xorg-video-dummy no caso do X11 ainda não estar instalado no seu sistema e você quer evitar uma instalação completa do X11. No entanto, este ponto é provavelmente irrelevante no seu caso, apenas foi adicionado no caso de alguém achar útil.

Eu adicionei xterm e wm2 no caso de você querer uma configuração simples e não uma sessão de gnome completa ou similar. Se for esse o caso, sob sua conta de usuário, execute vnc4server para criar automaticamente ~ / .vnc / xstartup. Em seguida, mate-o e edite ~ / .vnc / xstartup e adicione as duas linhas seguintes ao final.

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

E execute o vnc4server novamente.

Caso contrário, basta executar o vnc4server em sua própria conta. Quando iniciado pela primeira vez, o vncserver solicitará que você crie uma senha, use essa senha para conectar-se a partir de um sistema remoto.

No sistema remoto, instale algo como xtightvncviewer e use-o para conectar-se ao seu servidor vnc:

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

1 - Veja link sobre por que usar este intervalo de ip na documentação

    
por 04.06.2013 / 01:35