Как я могу запустить сервер VNC перед входом в систему?


19

Я хотел бы запустить x11vnc (или другой VNC-сервер) на своем рабочем столе, но я не могу найти способ запустить его до входа в систему любого пользователя. Назад, когда я использовал vanilla Ubuntu 10.10, Vino сделал это по умолчанию. Тем не менее, я не могу найти способ сделать это сейчас в Xubuntu.

Ответы:


15

Я обычно предлагаю альтернативный сервер VNC, x11vncserver или FreeNX.

FreeNX, как и скачать информацию

X11 VNC и документы

Это предполагает, что VNC настроен и работает:

Скопируйте блок кода ниже в /etc/init.d/vncserver. Самый простой способ сделать это - скопировать его в буфер обмена, запустить sudo -i && cat > /etc/init.d/vncserver && exitв терминале, вставить в него и ввести Ctrl- D`. Обязательно измените переменную USER на того пользователя, под которым вы хотите запустить сервер VNC.

#!/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/"

# The Username:Group that will run VNC
export USER="mythtv"
#${RUNAS}

# 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="1024x768"
#GEOMETRY="1280x1024"

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

OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

. /lib/lsb/init-functions

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

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

restart)
$0 stop
$0 start
;;
esac

exit 0

Сделайте скрипт исполняемым с sudo chmod +x /etc/init.d/vncserver.

Тогда беги sudo update-rc.d vncserver defaults. Это добавляет соответствующие символические ссылки в сценарий vncserver, чтобы он отправлял команды запуска и остановки в соответствующее время.

Примечание. Возможно, вам придется использовать sudo update-rc.d vncserver 99вместо этого, если задание выполняется слишком рано в процессе загрузки.

Чтобы запустить сервер без перезагрузки, запустите sudo /etc/init.d/vncserver start

Наконец, подключитесь к вашему серверу с помощью клиента VNC через порт 590X, где X - это значение «DISPLAY» в сценарии vncserver.

источник


команда запуска с задержкой последовательности должна быть sudo update-rc.d vncserver defaults 99, я думаю.
Кристоф

Все отлично работает, за исключением того, что у меня нет прав на сеть или мусорное ведро по какой-то причине. askubuntu.com/questions/722802/…
Донни В.

4

Мое решение:

  1. Перейдите на общий доступ к рабочему столу и разрешите ему делиться и поставьте хороший пароль. (нажмите, чтобы разрешить разрешения)
  2. Перейдите на экран и установите его для блокировки через 30 секунд.
  3. Перейти к пользователям и разрешить автоматический вход в систему.

Сервер vino запускается, и вы должны быть в состоянии подключиться к нему. Вы можете использовать ssh для создания туннеля для VNC, если вам нужно защитить его (я использовал PUTTY, и это сработало очень хорошо). Вы также можете включить брандмауэр и просто разрешить трафик с определенного адреса. Это решение сработало для меня в более чем 20 коробках Ubuntu.


0

Что происходит, когда вы пытаетесь: (?)

vino-preferences

.. и добавьте это в Autostarted Apps , чтобы запустить сервер vino:

/usr/lib/vino/vino-server

ОБНОВИТЬ:

Попробуй это:

Запустите VNC-сервер в Ubuntu при загрузке

http://www.abdevelopment.ca/blog/start-vnc-server-ubuntu-boot


Это только запускает приложение после входа в систему. Я хотел начать это, прежде чем я даже войти в систему.
PHLAK

добавил возможное решение ..
david6

2
Решение устарело.
vainolo

Кто-то сказал, что это устарело, но я сделал это сегодня, и это сработало просто отлично. Несколько предупреждений при запуске команды update-rc.d, но она сработала.
Джон Мартин
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.