X11VNC, как начать автоматически [dублировать]

Как создать общесистемный файл автозапуска? Это будет на облачном сервере, на котором установлена ​​настольная версия Maverick.

Я вошел в систему как пользователь root и создал файл автозапуска с помощью System/Preferences/StartupApplications, но он оказался в /root/.config/autostart и не выполнил (как далеко как я могу сказать) при перезагрузке. Файл автозапуска должен вызывать скрипт bash, который вызывает сервер VNC.

Я скопировал файл автозапуска .desktop с /root/.config/autostart до /etc/xdg/autostart и перезагрузился.

Edit Как упоминалось в комментарии, целью является запуск моего сценария bash, который запускает сервер VNC при загрузке; а не при входе в систему.

21
задан 17 April 2012 в 19:18

15 ответов

Сначала установите сервер TightVNC sudo apt-get install tightvncserver. Настройте сервер VNC для пользователя, с которым вы хотите войти. Когда вы запускаете «vncserver» в первый раз, он попросит вас установить пароль. только разрешить туннелирование или VPN-соединения SSH. Чтобы запустить программы или сеанс при запуске сеанса VNC, измените ~/.vnc/xstartup. Вот пример. #!/bin/sh xrdb $HOME/.Xresources xsetroot -solid black /opt/azureus/azureus & k3b & icewm-session & Скопируйте следующее в /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. Наконец, подключитесь к вашему серверу с клиентом VNC на порту 590X, где X - значение «DISPLAY» в сценарии vncserver. На OS X мне нравится использовать Chicken of VNC. В Windows и Linux клиент TightVNC работает хорошо.

Источник

17
ответ дан 17 July 2018 в 18:16
Сначала установите сервер TightVNC sudo apt-get install tightvncserver. Настройте сервер VNC для пользователя, с которым вы хотите войти. Когда вы запускаете «vncserver» в первый раз, он попросит вас установить пароль. только разрешить туннелирование или VPN-соединения SSH. Чтобы запустить программы или сеанс при запуске сеанса VNC, измените ~/.vnc/xstartup. Вот пример. #!/bin/sh xrdb $HOME/.Xresources xsetroot -solid black /opt/azureus/azureus & k3b & icewm-session & Скопируйте следующее в /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. Наконец, подключитесь к вашему серверу с клиентом VNC на порту 590X, где X - значение «DISPLAY» в сценарии vncserver. На OS X мне нравится использовать Chicken of VNC. В Windows и Linux клиент TightVNC работает хорошо.

Источник

17
ответ дан 23 July 2018 в 19:04

это, кажется, старое сообщение, но тема может быть интересной для некоторых пользователей. Чтобы запустить vnc при загрузке, вам необходимо

установить программное обеспечение сервера vnc (здесь мы будем использовать x11vnc) настроить сценарий запуска (используемый для запуска службы vnc)

Шаг 1 - установите сервер x11vnc

из командной строки, введите

sudo apt-get install x11vnc

. Чтобы добавить безопасность, вы должны установить pwd

sudo x11vnc -storepasswd

Шаг 2. Настройте свой сценарий запуска

, если ваша версия ubuntu ниже 15.04,

вы создаете конфигурационный файл в /etc/init.d/x11vnc.conf и заполняете его правильными командами, которые будут выполняться

start on login-session-start script /usr/bin/x11vnc -xkb -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage -rfbauth /etc/x11vnc.pass -forever -bg -rfbport 5900 -o /var/log/x11vnc.log end script , если ваша версия ubuntu ниже 15.04,

эти системы используют systemd, и вам нужно будет создать свой файл служебной единицы в разделе /lib/systemd/system/x11vnc.service и заполнить его правильными командами для выполнения

[Unit] Description=Start x11vnc at startup. After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/USERNAME/.vnc/passwd -rfbport 5900 -shared [Install] WantedBy=multi-user.target

Обновить службу

sudo systemctl daemon-reload sudo systemctl enable x11vnc.service

Подробную информацию можно найти на странице справки Ubuntu Community wiki (см. здесь), или вы можете попробуйте использовать этот быстрый способ использовать recice

Для версии Ubuntu ниже 15.04, проверьте это сообщение для U buntu версии 15.04 или новее, проверьте это сообщение

Надеюсь, это полезно

2
ответ дан 17 July 2018 в 18:16

Если вы используете TigerVNC, тогда он устанавливает /etc/init.d/vncserver, который запускает все vncservers, настроенные в /etc/sysconfig/vncservers, например. следующий запустил бы 2 экземпляра на дисплее 1 & amp; 2 при запуске.

# <display>:<user> VNCSERVERS="1:root" VNCSERVERARGS[1]="-geometry 1920x1080" VNCSERVERS="2:guest" VNCSERVERARGS[2]="-geometry 800x600 -SecurityTypes None"
2
ответ дан 17 July 2018 в 18:16

Во время загрузки вы можете запустить cron для вас. Просто используйте строку «@reboot» вместо чисел, которые вы обычно используете, чтобы указать, когда вещь должна работать.

Например, вот как я запускаю Dropbox на машине, на которой он не работает автоматический запуск:

# m h dom mon dow command @reboot /usr/bin/dropbox start
0
ответ дан 17 July 2018 в 18:16

'sudo update-rc.d vncserver defaults' сообщил, что его не было; «Обязательный-Стоп:» (даже пустой). Поэтому я добавил его, как показано ниже. И больше никаких предупреждений.

#!/bin/sh -e ### BEGIN INIT INFO # Provides: vncserver # Required-Start: networking # Required-Stop: # Default-Start: 3 4 5 # Default-Stop: 0 6 ### END INIT INFO
0
ответ дан 17 July 2018 в 18:16

Добавьте строку ниже в файл crontab. Это означает, что команда после выполнения ключевого слова @reboot выполняется во время очень перезагрузки.

@reboot /usr/bin/vncserver :1

Чтобы открыть файл crontab, необходимо использовать команду crontab -e

0
ответ дан 17 July 2018 в 18:16

Одна возможность: /etc/rc.local

Содержимое говорит:

# This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing

Биты выполнения уже установлены на 755 в моей системе. (chmod 755 /etc/rc.local)

Вы можете поместить любую команду там, которая будет выполняться с правами root.

Это нормально для вашей цели, пока вы это делаете не меняйте уровни запуска, я думаю. (Если вы не знаете, какие уровни выполнения, неважно).

3
ответ дан 17 July 2018 в 18:16

это, кажется, старое сообщение, но тема может быть интересной для некоторых пользователей. Чтобы запустить vnc при загрузке, вам необходимо

установить программное обеспечение сервера vnc (здесь мы будем использовать x11vnc) настроить сценарий запуска (используемый для запуска службы vnc)

Шаг 1 - установите сервер x11vnc

из командной строки, введите

sudo apt-get install x11vnc

. Чтобы добавить безопасность, вы должны установить pwd

sudo x11vnc -storepasswd

Шаг 2. Настройте свой сценарий запуска

, если ваша версия ubuntu ниже 15.04,

вы создаете конфигурационный файл в /etc/init.d/x11vnc.conf и заполняете его правильными командами, которые будут выполняться

start on login-session-start script /usr/bin/x11vnc -xkb -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage -rfbauth /etc/x11vnc.pass -forever -bg -rfbport 5900 -o /var/log/x11vnc.log end script , если ваша версия ubuntu ниже 15.04,

эти системы используют systemd, и вам нужно будет создать свой файл служебной единицы в разделе /lib/systemd/system/x11vnc.service и заполнить его правильными командами для выполнения

[Unit] Description=Start x11vnc at startup. After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/USERNAME/.vnc/passwd -rfbport 5900 -shared [Install] WantedBy=multi-user.target

Обновить службу

sudo systemctl daemon-reload sudo systemctl enable x11vnc.service

Подробную информацию можно найти на странице справки Ubuntu Community wiki (см. здесь), или вы можете попробуйте использовать этот быстрый способ использовать recice

Для версии Ubuntu ниже 15.04, проверьте это сообщение для U buntu версии 15.04 или новее, проверьте это сообщение

Надеюсь, это полезно

2
ответ дан 23 July 2018 в 19:04

Если вы используете TigerVNC, тогда он устанавливает /etc/init.d/vncserver, который запускает все vncservers, настроенные в /etc/sysconfig/vncservers, например. следующий запустил бы 2 экземпляра на дисплее 1 & amp; 2 при запуске.

# <display>:<user> VNCSERVERS="1:root" VNCSERVERARGS[1]="-geometry 1920x1080" VNCSERVERS="2:guest" VNCSERVERARGS[2]="-geometry 800x600 -SecurityTypes None"
2
ответ дан 23 July 2018 в 19:04

Во время загрузки вы можете запустить cron для вас. Просто используйте строку «@reboot» вместо чисел, которые вы обычно используете, чтобы указать, когда вещь должна работать.

Например, вот как я запускаю Dropbox на машине, на которой он не работает автоматический запуск:

# m h dom mon dow command @reboot /usr/bin/dropbox start
0
ответ дан 23 July 2018 в 19:04

'sudo update-rc.d vncserver defaults' сообщил, что его не было; «Обязательный-Стоп:» (даже пустой). Поэтому я добавил его, как показано ниже. И больше никаких предупреждений.

#!/bin/sh -e ### BEGIN INIT INFO # Provides: vncserver # Required-Start: networking # Required-Stop: # Default-Start: 3 4 5 # Default-Stop: 0 6 ### END INIT INFO
0
ответ дан 23 July 2018 в 19:04

Добавьте строку ниже в файл crontab. Это означает, что команда после выполнения ключевого слова @reboot выполняется во время очень перезагрузки.

@reboot /usr/bin/vncserver :1

Чтобы открыть файл crontab, необходимо использовать команду crontab -e

0
ответ дан 23 July 2018 в 19:04

Одна возможность: /etc/rc.local

Содержимое говорит:

# This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing

Биты выполнения уже установлены на 755 в моей системе. (chmod 755 /etc/rc.local)

Вы можете поместить любую команду там, которая будет выполняться с правами root.

Это нормально для вашей цели, пока вы это делаете не меняйте уровни запуска, я думаю. (Если вы не знаете, какие уровни выполнения, неважно).

3
ответ дан 23 July 2018 в 19:04

это похоже на старую должность, но тема может быть интересной для некоторых пользователей. Чтобы запустить vnc при загрузке, вам нужно будет

  1. установить программное обеспечение сервера vnc (здесь мы будем использовать x11vnc)
  2. настроить сценарий запуска (используемый для запустите службу vnc)

Шаг 1 - установите сервер x11vnc

из командной строки, введите

 sudo apt-get install x11vnc

. Чтобы добавить безопасность, вы должен установить pwd

sudo x11vnc -storepasswd

Шаг 2 - Настройте свой сценарий запуска

  • , если ваша версия ubuntu ниже 15.04,

вы создаете конфигурационный файл под /etc/init.d/x11vnc.conf и заполняете его правильными командами, которые должны быть выполнены

start on login-session-start  
script  
/usr/bin/x11vnc -xkb -auth
/var/run/lightdm/root/:0
-noxrecord -noxfixes -noxdamage 
-rfbauth /etc/x11vnc.pass 
-forever -bg -rfbport 5900 -o /var/log/x11vnc.log  
end script
  • , если ваша версия ubuntu составляет 15,04 или более поздней версии,

, эти системы используют systemd, и вам нужно будет создать свой файл служебных единиц в разделе /lib/systemd/system/x11vnc.service и заполнить его правильными командами, которые будут выполнены

[Unit] Description=Start x11vnc at startup. After=multi-user.target

[Service] Type=simple ExecStart=/usr/bin/x11vnc -auth guess -forever
-loop -noxdamage -repeat -rfbauth /home/USERNAME/.vnc/passwd -rfbport 5900 -shared

[Install] WantedBy=multi-user.target

Перезагрузить службу

sudo systemctl daemon-reload

sudo systemctl enable x11vnc.service

Подробную информацию можно найти на странице справки «Справка Ubuntu Community» (см. здесь ), или вы можете попытаться использовать эту функцию для быстрого использования получателя

Надеюсь, что это полезно

2
ответ дан 14 August 2018 в 12:37

Другие вопросы по тегам:

Похожие вопросы: