Вопрос или проблема
Я ищу команду для включения или выключения совместного доступа в настройках Ubuntu, чтобы иметь возможность делиться изображением, аудио или получать полный контроль над удаленным рабочим столом.
В Ubuntu bionic, например, стандартный рабочий стол, значок в правом верхнем углу, настройки Ubuntu, общий доступ. Там есть переключатель для активации или деактивации общего доступа.
Мне нужно знать команду для управления этим переключателем.
Я исследовал “gsettings”, который имеет множество опций, но не смог найти команду для переключения этой кнопки.
Я нашел это: https://serverok.in/enable-remote-desktop-in-ubuntu-from-the-command-line
Это работает для меня:
export DISPLAY=0.0
gsettings set org.gnome.Vino notify-on-connect false
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.Vino view-only false
/usr/lib/vino/vino-server &
Это не так просто в новых выпусках Ubuntu 🙁
Чтобы включить общий доступ к рабочему столу, нужно:
-
Установить пакет
vino
. ПунктОбщий доступ к рабочему столу
должен появиться в меню приложений. -
Необходимо задать некоторые параметры конфигурации для vino-server, но, вероятно, единственный способ сделать это – через
dconf-editor
илиgsettings
(GUI для установки этих параметров был удален давно). В dconf-editor перейдите в/org/gnome/desktop/remote-access
и задайте свои параметры.
Например, если вы хотите аутентифицироваться с паролем, вы должны:
a) установитьauthentication-methods
на['vnc']
b) установитьprompt-enabled
наfalse
c) установитьrequire-encryption
наfalse
d) установитьvnc-password
на base64 закодированное значение пароля, который вы хотите использовать для подключения -
Запустите vino-server, нажав на пункт общего доступа к рабочему столу в меню.
На другой системе используйте любой VNC клиент (например, Remmina, который установлен по умолчанию) для подключения.
Ответ или решение
Настройка и управление удаленным доступом к рабочему столу в Ubuntu — это важный аспект, который может понадобиться для удаленного администрирования или совместной работы. Вопрос сводится к тому, как включить или отключить эту функцию с помощью команд в командной строке, особенно в современных версиях Ubuntu, где интерфейс и утилиты могут отличаться от более старых версий, таких как Ubuntu Bionic.
Теория
Ubuntu предоставляет различные инструменты для управления удаленным доступом, основными из которых являются vino
и gsettings
. Vino
— это встроенный VNC-сервер GNOME, который позволяет пользователям подключаться к своей рабочей среде удаленно. Gsettings
— это инструмент командной строки для работы с параметрами GNOME, аналогичный реестру в Windows.
Когда вы открываете "Settings" в верхней части интерфейса Ubuntu и переходите в раздел "Sharing", у вас есть возможность включать и выключать удаленный доступ. Хотя интерфейс позволяет сделать это в несколько кликов мышью, команды дают больше гибкости и позволяют автоматизировать процесс.
Пример
Для того чтобы управлять доступом к рабочему столу через командную строку на более старых версиях Ubuntu, таких как Bionic, можно использовать следующую последовательность команд:
export DISPLAY=:0.0
gsettings set org.gnome.Vino notify-on-connect false
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.Vino view-only false
/usr/lib/vino/vino-server &
Эти команды настраивают параметры vino
, отключают уведомления и запросы при подключении, и позволяют не использовать шифрование. После этого сервер vino
запускается на фоне.
Применение
В более новых версиях Ubuntu управление параметрами удаленного доступа стало сложнее из-за изменения конфигурации интерфейса и интеграции параметров во внутреннюю часть системных настроек. Вы можете столкнуться с ситуацией, когда единственным способом настройки остаётся использование gsettings
или dconf-editor
.
Установка и настройка
-
Установите пакет
vino
, если он ещё не установлен:sudo apt install vino
-
Настройте параметры через
dconf-editor
или с помощью командgsettings
. Например, если вам нужно задать аутентификацию по паролю, выполните следующие шаги:gsettings set org.gnome.desktop.remote-access authentication-methods "['vnc']" gsettings set org.gnome.desktop.remote-access prompt-enabled false gsettings set org.gnome.desktop.remote-access require-encryption false gsettings set org.gnome.desktop.remote-access vnc-password "ваш_base64_пароль"
Для кодирования вашего пароля в base64, воспользуйтесь:
echo -n 'ваш_пароль' | base64
-
Для запуска
vino-server
:Если система уже настроена, просто выполните:
/usr/lib/vino/vino-server &
Это запустит сервер VNC, который позволит подключаться к вашему рабочему столу через любой VNC клиент, такой как Remmina, который часто идёт в комплекте с Ubuntu.
Примечание
Обратите внимание, что удалённый доступ открывает ваш компьютер для внешних подключений, поэтому убедитесь, что у вас настроена надёжная аутентификация и возможно, фаервол, для предотвращения несанкционированного доступа. Если шифрование недоступно, убедитесь, что ваша сеть защищена.
Заключение
Управление удалённым доступом Ubuntu через командную строку даёт большую гибкость и позволяет администратору задать сложную конфигурацию, которую сложно было бы реализовать только через графический интерфейс. Современные инструменты, такие как gsettings
и Vino
, позволяют проводить такую настройку эффективно и быстро, удовлетворяя современные требования к кибербезопасности и удалённой работе.
Этот подход онициально помогает в автоматизации задач и может быть интегрирован в скрипты управления, улучшая производительность и безопасность администрирования систем Ubuntu.