Подробный гайд: Подготовка VNC-сервера в ALT Linux с возможностью передачи файлов
Подготовка VNC-сервера в ALT Linux с возможностью передачи файлов имеет свою важную специфику.
Важно понимать:
- Сам по себе базовый протокол VNC не умеет передавать файлы. Эта функция реализуется через специальные расширения, и для её работы вам потребуется использовать совместимый VNC-клиент на вашей локальной машине (например, TigerVNC Viewer или TightVNC Viewer).
Ниже представлен подробный гайд по настройке сервера TigerVNC в ALT Linux и инструкции по организации передачи файлов.
Шаг 1. Установка VNC-сервера в ALT Linux
Откройте терминал на сервере с ALT Linux и переключитесь на суперпользователя:
su -
Обновите списки пакетов и установите TigerVNC:
apt-get update
apt-get install tigervnc-server
Шаг 2. Настройка пароля и графической сессии
1. Задайте пароль для подключения к VNC (вас попросят ввести пароль и, опционально, пароль только для просмотра):
vncpasswd
2. Настройте запуск графического окружения.
По умолчанию VNC может запускать простой оконный менеджер twm. Чтобы получить полноценный рабочий стол, нужно настроить файл xstartup.
Создайте директорию и файл конфигурации для вашего пользователя (выйдите из root, если вы в нем, или укажите путь к домашней папке пользователя):
mkdir -p ~/.vnc
nano ~/.vnc/xstartup
Вставьте туда код в зависимости от того, какая среда рабочего стола установлена в вашем ALT Linux:
Для MATE (стандартная для ALT Workstation):
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec mate-session
Для XFCE (ALT Education / XFCE):
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
Для KDE Plasma:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startplasma-x11
Сохраните файл (Ctrl+O, Enter, Ctrl+X в nano) и сделайте его исполняемым:
chmod +x ~/.vnc/xstartup
Шаг 3. Запуск VNC-сервера
Запустите VNC-сервер. Мы будем использовать дисплей :1 (это означает, что сервер будет слушать порт 5901).
vncserver :1 -geometry 1920x1080 -depth 24 -localhost no
(Параметр -localhost no разрешает внешние подключения. Если вы планируете подключаться только через SSH-туннель, этот параметр можно убрать).
Чтобы проверить, что сервер работает, выполните:
vncserver -list
Шаг 4. Настройка брандмауэра (Firewall)
Чтобы клиент мог подключиться, нужно открыть порт 5901. В современных версиях ALT Linux используется firewalld.
Если используется firewalld:
firewall-cmd --permanent --add-port=5901/tcp
firewall-cmd --reload
Если используется iptables (в старых версиях или специфичных профилях):
iptables -A INPUT -p tcp --dport 5901 -j ACCEPT
Шаг 5. Подключение и передача файлов (Самое важное)
Как упоминалось выше, для передачи файлов вам нужен правильный клиент.
Если вы подключаетесь с Windows:
- Скачайте и установите TigerVNC Viewer (или TightVNC Viewer) с официального сайта.
- Запустите Viewer и подключитесь к вашему серверу:
IP_АДРЕС_СЕРВЕРА:5901(илиIP_АДРЕС:1). - Введите пароль, заданный на Шаге 2.
Как передать файлы в TigerVNC Viewer:
- После подключения к рабочему столу, нажмите клавишу F8 (или найдите свернутую панель меню вверху экрана, чтобы открыть меню VNC).
- В появившемся меню выберите пункт File Transfer (Передача файлов).
3. Откроется окно, разделенное на две части:
- Слева — файловая система вашего локального компьютера (Windows).
- Справа — файловая система удаленного сервера (ALT Linux).
4. Выделите нужные файлы/папки и используйте кнопки копирования (стрелки между панелями) или просто перетаскивание (Drag-and-Drop), чтобы передать данные в любом направлении.
Примечание для TightVNC Viewer:
В нём кнопка "File Transfer" находится прямо на верхней панели инструментов при подключении. Интерфейс передачи файлов там даже более нагляден.
Если вы подключаетесь с Linux (клиент):
Используйте TigerVNC Viewer (пакет tigervnc-viewer). Логика передачи файлов через меню F8 абсолютно идентична.
Шаг 6. Автозагрузка VNC (Опционально)
Чтобы VNC-сервер запускался автоматически при загрузке ALT Linux, создайте systemd-сервис.
1. Создайте файл сервиса:
su -
nano /etc/systemd/system/vncserver@.service
2. Вставьте следующий код (замените <USER> на имя вашего пользователя в ALT Linux):
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=<USER>
PAMName=login
PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080 -depth 24 -localhost no
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
3. Включите и запустите сервис (для дисплея 1):
systemctl daemon-reload
systemctl enable vncserver@1.service
systemctl start vncserver@1.service
Профессиональные советы от Дениса Сергеевича:
1. Скорость передачи:
VNC-протокол не оптимизирован для передачи больших объемов данных. Файлы "весят" долго, а при обрыве связи передачу придется начинать сначала.
2. Альтернатива для больших файлов:
Если вам нужно регулярно передавать гигабайты данных, я настоятельно рекомендую использовать SFTP (через клиент FileZilla или WinSCP, подключаясь по порту 22) или поднять Samba-сервер в ALT Linux, чтобы расшарить папку по сети. Это будет в разы быстрее и надежнее.
3. Альтернатива VNC:
Если передача файлов — критичная и частая задача, рассмотрите использование RustDesk или AnyDesk. Они не являются VNC, но работают в Linux (в том числе в ALT), не требуют настройки портов и имеют отличную встроенную функцию передачи файлов из коробки.
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.