Google Remote Desktop – простой и удобный инструмент, но если при установке в Windows всё работает как часы из коробки, то при установке в Linux возникают проблемы.
Добиться в Linux-версии аналогичной функциональности с Windows-версией не представляется возможным. Но получить результат, приемлемый для комфортного использования, вполне реально.
Создание выделенного пользователя для установки и использования GRD
Данный сценарий использования не самый удобный, но позволяет решить следующие проблемы:
- Если пользователь не выполнил удаленный вход в систему, то при попытке входа с клавиатуры происходит возврат на экран входа после попытки авторизваться (“login loop”).
- Если пользователь выполнил удаленный вход в систему, то при попытке входа с клавиатуры система словно зависает, но на самом деле полностью работоспособна при удаленном подключении (если подключиться удаленно и выполнить выход из системы, то произойдет возврат на экран входа и появится возможность входа с клавиатуры).
username=remote sudo useradd $username \ --create-home \ --home-dir /home/$username \ --groups sudo \ --shell /bin/bash sudo passwd $username sudo usermod -a -G sudo $username
Установка GRD после входа в систему под выделенным пользователем
Создание каталога для конфигураций GRD решает проблему отсутствия кнопки “Включить” (“Turn On”), разрешающей удаленные подключения к компьютеру.
mkdir ~/.config/chrome-remote-desktop
Скачивание и установка пакета.
wget https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb -P /tmp sudo dpkg -i /tmp/chrome-remote-desktop_current_amd64.deb
Переход по ссылке https://remotedesktop.google.com/access и вход в Google Account.
Нажатие кнопки “Включить” (“Turn On”).
Редактирование параметров сеанса пользователя
Объявление параметров сеанса решает проблему постоянного предложения выбрать сессию при каждом подключении (“Select a session to launch your Chrome Remote Desktop environment…”).
sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > /etc/chrome-remote-desktop-session'
Редактирование параметров аутентификации пользователя
Создание файла аутентификации PolKit решает проблему постоянного запроса аутентификации для создания устройства управления цветом (“Authentication is required to create a color managed device”)..
pkaction --version
Если версия < 0.106
sudo rm /var/crash/* sudo tee /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla > /dev/null <<'EOF' [Allow Colord all Users] Identity=unix-user:* Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile ResultAny=no ResultInactive=no ResultActive=yes EOF
Если версия ≥ 0.106
sudo tee /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf > /dev/null <<'EOF' polkit.addRule(function(action, subject) { if ((action.id == "org.freedesktop.color-manager.create-device" || action.id == "org.freedesktop.color-manager.create-profile" || action.id == "org.freedesktop.color-manager.delete-device" || action.id == "org.freedesktop.color-manager.delete-profile" || action.id == "org.freedesktop.color-manager.modify-device" || action.id == "org.freedesktop.color-manager.modify-profile") && subject.isInGroup("{users}")) { return polkit.Result.YES; } }); EOF
Редактирование параметров GRD
Редактирование параметров приложения решает проблему отсутствия возможности изменения разрешения экрана.
sudo sed -i "s#$(sudo cat /opt/google/chrome-remote-desktop/chrome-remote-desktop | grep 'DEFAULT_SIZES =')#DEFAULT_SIZES = \"1280x720,1600x900,1920x1080,3840x2160\"#" /opt/google/chrome-remote-desktop/chrome-remote-desktop