Вопрос или проблема
Как отобразить мой экран на удаленном XServer?
У нас в офисе есть большой экран, подключенный к старому ПК, единственная цель которого – отображение информации, генерируемой такими программами, как Munin, Nagios и т.д. На нем установлена Debian с Xfce, чтобы он мог работать на этой машине. Тем не менее, это XServer!
Что я хотел бы сделать, так это подключить любую машину (Linux, macOS, а может быть, и Windows) удаленно к этому XServer и отобразить экран клиента (то есть не ssh -X
!!!). Так что любой сможет поделиться видом на своем экране с остальными в комнате.
Я думаю, что VNC, вероятно, подойдет. Вот пост, который кажется актуальным:
http://www.debianadmin.com/remote-desktop-sharing-in-ubuntu.html
Существуют инструменты, чтобы захватить ваш X Desktop как MPEG поток — вы затем могли бы передавать его на сервер с помощью VLC. Я уверен, что это не так безупречно, как вам хотелось бы… но это может удовлетворить ваши основные требования. И с некоторым скриптованием это можно сделать более безупречным.
Почему подключение через VNC к экрану инициатора не является вариантом?
Вы хотите избежать опции X-перенаправления через SSH, но, похоже, что удаленный доступ к “серверу зеркалирования”, инициируя ssh -X
на “исходном” устройстве, а затем подключившись по VNC к серверу зеркалирования, будет работать.
Ответ или решение
Для того чтобы зеркалить дисплей вашего старого ПК с Debian и Xfce на другие машины (Linux, macOS и Windows), наиболее подходящим вариантом будет использование VNC (Virtual Network Computing). VNC позволит вам совместно использовать экран, который отображается на большом экране в вашем офисе.
Вот шаги, которые помогут вам настроить Mirror Display с использованием VNC:
Шаг 1: Установка VNC-сервера на Debian
Первым шагом нужно установить VNC-сервер на старый ПК. Одним из популярных серверов является TightVNC
. Вы можете установить его, выполнив следующие команды в терминале:
sudo apt update
sudo apt install tightvncserver
Шаг 2: Настройка VNC-сервера
После установки VNC-сервера, вам необходимо запустить и настроить его. Для этого выполните следующую команду:
vncserver
При этом вас попросят установить пароль для VNC-сессии (не менее 6 символов). После успешного выполнения этой команды, сервер запустится и создаст виртуальный экран (например, :1).
Шаг 3: Конфигурация VNC для отображения основного экрана
К сожалению, по умолчанию VNC создает виртуальный экран, а не зеркалирует текущий экран. Чтобы настроить его отображение, вам нужно изменить конфигурацию. Отредактируйте файл ~/.vnc/xstartup
, чтобы он содержал следующее:
#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &
Затем убедитесь, что файл исполняем:
chmod +x ~/.vnc/xstartup
Шаг 4: Запуск VNC-сервера
Теперь запустите VNC-сервер с командой:
vncserver -geometry 1920x1080 -depth 24 :1
Где 1920x1080
– это разрешение экрана, которое вы хотите использовать.
Шаг 5: Подключение к VNC-серверу с клиентских устройств
Теперь вы можете подключаться с других устройств, используя VNC-клиент. Вам нужно будет указать IP-адрес вашего Debian-устройства и номер дисплея, например, 192.168.1.100:1
.
Для Linux вы можете использовать xtightvncviewer
, для Windows – такие приложения, как VNC Viewer или TightVNC Viewer, а для macOS – Chicken of the VNC
.
Дополнительно: Настройка безопасности
Поскольку VNC передает данные в незашифрованном виде, вам может быть полезно использовать SSH-туннелирование для обеспечения безопасности. Это можно сделать командой:
ssh -L 5901:localhost:5901 user@192.168.1.100
Затем подключитесь через ваш VNC-клиент к localhost:1
.
Заключение
Используя VNC-сервер на Debian, вы сможете легко зеркалить дисплей старого ПК на другие устройства в офисе. Это позволит всем в комнате видеть одну и ту же информацию в реальном времени, независимо от того, используют ли они Linux, macOS или Windows.