Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Запуск vnc4server при логине пользователя  (Прочитано 1134 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн BAKT

  • Автор темы
  • Участник
  • *
  • Сообщений: 112
    • Просмотр профиля
Для удалённой помощи пользователям на своей работе я использую vnc4server, который запускается на :0 дисплее.
На старых системах (14.04) запуск производился автоматом при входе пользователя в систему, так что при необходимости я сразу мог подключиться к нужной машине.

Сейчас потихоньку начинаю переходить на 16.04 и столкнулся с проблемой - для запуска сервиса у пользователей требует авторизацию от рута! Как так?! Почему раньше всё работало?

crew@xu-x64-1604:~$/etc/init.d/vnc0 start
[....] Starting vnc0 (via systemctl): vnc0.service==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Чтобы запустить «vnc0.service», необходимо пройти аутентификацию.
Authenticating as: root
Password:

crew@xu-x64-1604:~$ systemctl stop vnc0
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Чтобы остановить «vnc0.service», необходимо пройти аутентификацию.
Authenticating as: root
Password:

Вот текст самого скрипта:

$ cat /etc/init.d/vnc0
#!/bin/sh
### BEGIN INIT INFO
# Provides: vncserver
# Required-Start: networking
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: x0vnc4launcher
# Description:
### END INIT INFO

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"

USER=$(ps aux | grep xfce4-session | grep -v grep | awk '{print $1}')
ADDR=$(ip route | grep src | awk '{print $9}')

# The display that VNC will use
DISPLAY="0"

OPTIONS="-display :${DISPLAY}"

. /lib/lsb/init-functions

case "$1" in

start)
    sleep 5
    log_action_begin_msg "Starting vncserver for user '${USER}' on ${ADDR}:${DISPLAY}"
    su ${USER} -c "x0vnc4server ${OPTIONS} -PasswordFile ~/.vnc/passwd &" > /dev/null 2>&1
    ;;

stop)
    log_action_begin_msg "Stoping vncserver for user '${USER}' on ${ADDR}:${DISPLAY}"
    killall x0vnc4server
    ;;

restart)
    $0 stop
    $0 start
    ;;
*)
    echo "Usage: /etc/init.d/vnc0 {start|stop|restart}"
    exit 1
esac

exit 0

Сам сервис из под пользователя (в 16.04) не желает запускаться ни вручную, ни из автозагрузки. В 14.04 всё замечательно работало!

Можно как-то это победить?

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.