Одно решение не состоит в том, чтобы выполнить марионетку как демона, но вызвать его от крона. Это что-то, что предпочитают многие люди, потому что для них, демон использует большую память.
Я предложил следующее решение:
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
обратитесь согласно своим настройкам.
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
Следующее всегда получает меня с работой vnc сессия быстро:
apt-get install vnc4server x11-xserver-utils xserver-xorg-video-dummy xterm wm2
Я добавил x11-xserver-utils и xserver-xorg-video-dummy в случае, если X11 еще не установлен в Вашей системе, и Вы не хотите иметь полную установку X11. Однако эта точка, скорее всего, не важна в Вашем случае, просто добавил его в случае, если кто-то еще находит это полезным.
Я добавил 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 - См. http://www.iana.org/go/rfc5737 на том, почему использовать этот диапазон IP в документации
wm2
это выглядит интересным.Спасибо.
– Tombart
04.06.2013, 14:57
DUMMY(0): Not using default mode "1680x1050" (insufficient memory for mode)
. Когда монитор подключен, карта Nvidia не имеет проблемы с разрешением. – Tombart 04.06.2013, 14:54