3

Я подключаюсь к своему удаленному серверу под управлением Xubuntu. Когда я вхожу прямо в окно, все в порядке - проблема появляется, когда я подключаюсь с помощью Chrome Remote Desktop. Если я пытаюсь сделать что-то важное (например, перезапустить, изменить сеть, установить программное обеспечение) через графический интерфейс, я получаю ошибку разрешений. Например, попытка включить мое соединение OpenVPN возвращает:

VPN-соединение не удалось Не авторизован для управления сетью

В терминале, кажется, я вошел как мой обычный пользователь. Но я не могу перезагрузиться (не могу вспомнить, если это обычно требует sudo - изменение сетей, конечно, не делает):

foo @ bar: ~ $ reboot
перезагрузка: должен быть root

Как только я сделаю sudo, я смогу сделать что-нибудь через командную строку - но это не принесет мне никакой пользы для всего, что в GUI я бы хотел сделать удаленно.

Я попытался добавить своего пользователя в netdev, но это не решило проблему:

foo @ bar:~ $ groups foo adm cdrom sudo dip plugdev netdev lpadmin sambashare chrome-remote-desktop

Моя теория состоит в том, что я на самом деле не вошел в систему как мой пользователь, или, по крайней мере, графический интерфейс пользователя запускается другим пользователем, который не имеет надлежащих разрешений.

  1. Как я могу узнать, какой "пользователь" запустил сеанс xfce, в котором я нахожусь?

  2. Как я могу дать этому пользователю соответствующие разрешения? Я знаю, что это плохая практика - добавлять пользователей без прав root в root, но я испытываю искушение;)

Искал пользователя chrome-remote-desktop, но его, похоже, не существует - хотя есть группа с таким именем:

foo @ bar:~ $ grep 'chrome-remote-desktop' /etc /group

хром удаленный рабочий стол: х: 1001: Foo

Есть идеи? Заранее спасибо!

1 ответ1

2

Это происходит из-за того, как работает Chrome Remote Desktop. Он создает новый сеанс, к которому вы можете получить удаленный доступ параллельно с другими сеансами. Обычно X-сервер / графический интерфейс пользователя выполняется в сеансе 7 (вы можете попытаться изменить сеансы с помощью Ctrl + Alt + F n, где n - номер сеанса), а Chrome Remote Desktop использует другой. Поэтому всякий раз, когда вас просят ввести пароль с помощью графического интерфейса, в главном сеансе графического интерфейса (сеанс 7) появляется окно, и нет никакого способа получить к нему доступ напрямую из удаленного рабочего стола Chrome.

К счастью, вы можете сделать небольшой взлом, чтобы обойти это. Как уже упоминалось, вы можете отредактировать /opt/google/chrome-remote-desktop/chrome-remote-desktop (сначала создайте резервную копию этого файла на случай, если что-то пойдет не так):

FIRST_X_DISPLAY_NUMBER = 0 # Replace 20 by 0

Затем закомментируйте цикл while:

def get_unused_display_number():
    """Return a candidate display number for which there is currently no
    X Server lock file"""
    display = FIRST_X_DISPLAY_NUMBER
    # while os.path.exists(X_LOCK_FILE_TEMPLATE % display):
    # display += 1
    return display

Другое решение - запускать приложения из терминала с помощью sudo , например, sudo google-chrome (не рекомендуется).

Надеемся, что команда разработчиков Chrome Remote Desktop выслушает нас всех и скоро изменит это поведение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .