Запустите на Mac стандартный VNC-сервер и делитесь экраном, буфером обмена, файлами и даже методом ввода с QuickRemote — всё в вашей локальной сети, без облачного ретранслятора.
Начало работы
1. Задайте пароль
Откройте настройки (значок шестерёнки в нижней панели) и заполните поле Пароль VNC. Стандартные VNC-клиенты используют DES-проверку RFB, которая учитывает только первые 8 ASCII-совместимых байтов — выбирайте пароль не длиннее 8 символов.
2. Запустите сервер
- В главном окне нажмите Запустить. Индикатор статуса меняется на Запущен.
- Одновременно поднимаются четыре прослушивателя: VNC
5900, управление QREX5911, медиапоток QREX4010и файловый API8766. - Нажмите Копировать сведения , чтобы скопировать в буфер обмена строку с хостом, портами и текущим PIN-кодом.
3. Подключите клиент
Для стандартного VNC-клиента (общий доступ к экрану macOS, RealVNC, TightVNC, мобильные VNC-приложения):
- Откройте клиент и введите
vnc://<your-mac-ip>:5900в качестве адреса - Введите пароль VNC, заданный на шаге 1
- Сразу управляйте своим Mac — клавиатура, мышь, копирование и вставка по RFB
Для приложения QuickRemote:
- Откройте QuickRemote на телефоне или планшете и выберите Добавить Mac
- Введите 6-значный PIN-код сопряжения, показанный DeskVNCServer (или отсканируйте QR-код, если ваша сборка QuickRemote это поддерживает)
- QuickRemote сохраняет полученный Bearer token и открывает расширенные возможности — метод ввода, звук, синхронизацию буфера обмена и передачу файлов
Обзор интерфейса
Строка статуса
| Элемент | Описание |
|---|---|
| Подпись сервера | Обозначает эту панель. |
| Значок статуса | Запущен пока прослушиватели активны, Остановлен в остальных случаях. |
Кнопки действий
- Запустить — Поднимает все четыре прослушивателя.
- Остановить — Закрывает все прослушиватели и разрывает активные сеансы.
- Копировать сведения — Копирует в буфер обмена краткую сводку подключения (хост, порт VNC, порт управления, PIN), чтобы её было удобно передать клиенту.
Панель подключения
Показывает хост привязки, порты, текущий идентификатор сервера и активный PIN-код сопряжения. Текст обновляется автоматически при изменении настроек.
Панель API QuickRemote
Краткий справочник по протоколам, которые понимает сервер. Перечисляет поддерживаемые версии RFB, форматы конечных точек QREX и набор команд метода ввода, чтобы QuickRemote (или ваш собственный клиент) знал, что доступно.
Протоколы и порты
| Служба | Порт по умолчанию | Протокол | Кто использует |
|---|---|---|---|
| VNC / RFB | TCP 5900 | RFB 3.8 / 3.7 / 3.3 | Любой стандартный VNC-клиент |
| Управление QREX | TCP 5911 | HTTP JSON RPC + WebSocket | QuickRemote и другие клиенты QREX |
| Медиапоток QREX | UDP 4010 | Пакеты, совместимые с QuickRemote | Сообщения метода ввода, потоковая передача звука |
| Файловый API | TCP 8766 | HTTP, совместимый с QuickRemote | Просмотр и передача файлов |
Аутентификация
- VNC-клиенты — DES-пароль RFB (первые 8 ASCII-совместимых байтов заданного пароля).
- Клиенты QREX — Первичный обмен 6-значным PIN-кодом по
POST /qr/v1/pairвозвращает Bearer token. Каждый последующий HTTP-вызов QREX и кадр WebSocket должны содержатьAuthorization: Bearer <token>. - Если пароль VNC пуст, сервер объявляет стандартный режим RFB без аутентификации. Подходит только для доверенных сегментов локальной сети.
Краткий справочник по конечным точкам QREX
GET /qr/v1/capabilities # публично, возвращает поддерживаемые функции
POST /qr/v1/pair # публично, обмен PIN на Bearer token
GET /qr/v1/ws # WebSocket, требуется авторизация
POST /qr/v1/ime/get # требуется авторизация, запрос активного метода ввода
POST /qr/v1/ime/list # требуется авторизация, список доступных методов ввода
POST /qr/v1/ime/set # требуется авторизация, переключение метода ввода
POST /qr/v1/ime/toggle # требуется авторизация, включение/выключение метода ввода
POST /qr/v1/ime/commit # требуется авторизация, отправка строки текста
Настройки
| Параметр | По умолчанию | Описание |
|---|---|---|
| Хост привязки | 0.0.0.0 | Интерфейс для прослушивания. Укажите 127.0.0.1 для доступа только с этого компьютера. |
| Порт VNC | 5900 | TCP-порт стандартного прослушивателя RFB. |
| Порт управления QREX | 5911 | TCP-порт для трафика QREX по HTTP и WebSocket. |
| UDP-порт медиапотока QREX | 4010 | UDP-порт для пакетов метода ввода и звукового побочного канала. |
| Порт файлового API QuickRemote | 8766 | TCP-порт API просмотра и передачи файлов. |
| Пароль VNC | (пусто) | До 8 ASCII-совместимых байтов. Пустое значение означает отсутствие аутентификации в канале VNC. |
| Bearer token QREX | (генерируется) | Активный токен, выданный при сопряжении. Обновите его повторным сопряжением или правкой этого поля. |
| PIN-код сопряжения | (генерируется) | 6-значный PIN-код, показываемый QuickRemote при сопряжении. Меняется при повторной генерации. |
| Постоянный идентификатор сервера | (генерируется) | Долговременный идентификатор, по которому QuickRemote узнаёт этот Mac. |
| Запускать сервер автоматически | Выкл. | Поднимать прослушиватели при запуске приложения. |
| Разрешить удалённые клавиатуру и мышь | Вкл. | Отключите, чтобы сеансы были только для просмотра. |
| Включить мост метода ввода | Вкл. | Разрешить клиентам QREX запрашивать и переключать метод ввода macOS. |
| Включить звуковой API | Выкл. | Разрешить потоковую передачу звука Opus по UDP-каналу QREX. По умолчанию выключено для экономии ресурсов процессора. |
| Включить синхронизацию буфера обмена | Вкл. | Зеркалировать содержимое буфера обмена между Mac и удалённым клиентом. |
| Включить передачу файлов | Вкл. | Разрешить QuickRemote просматривать и читать файлы. Только чтение, если не включены также изменения. |
| Включить изменение файлов | Выкл. | Разрешить загрузку, переименование и удаление. По умолчанию выключено — включайте только для доверенных клиентов. |
| Макс. ширина кадра | 1440 | Ограничение ширины захвата экрана. Меньшие значения снижают нагрузку на канал. |
| Макс. высота кадра | 900 | Ограничение высоты захвата экрана. |
| Частота кадров | 12 | Целевое число кадров в секунду, отправляемых клиентам. |
Примеры клиентов
Общий доступ к экрану macOS
- Finder → Переход → Подключение к серверу
- Введите
vnc://<your-mac-ip>:5900 - Введите пароль VNC
cURL — узнать возможности
curl http://<your-mac-ip>:5911/qr/v1/capabilities
cURL — сопряжение и вызов моста метода ввода
# 1. Обменяйте PIN на Bearer token
TOKEN=$(curl -s http://<your-mac-ip>:5911/qr/v1/pair \
-H "Content-Type: application/json" \
-d '{"pin":"123456"}' | jq -r .token)
# 2. Отправьте текст через мост метода ввода
curl http://<your-mac-ip>:5911/qr/v1/ime/commit \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"text":"hello from remote"}'
Советы
- Снижайте частоту кадров и максимальные размеры кадра, если используете медленное Wi-Fi-соединение или пропускаете трафик через VPN.
- Достаточно сопрячь каждое устройство один раз. После первичного обмена PIN-кодом Bearer token сохраняется даже после перезагрузок, поэтому QuickRemote переподключается незаметно.
- Используйте Копировать сведения , чтобы быстро отправить данные подключения в чате или по электронной почте — там есть всё, что нужно клиенту.
- Держите Включить изменение файлов выключенным, пока загрузка файлов действительно не понадобится. Режима «только чтение» достаточно для просмотра скриншотов, заметок и загрузок.
- Отключайте звуковой API, когда он не нужен. Простаивающие кодеки всё равно немного нагружают процессор при кодировании.
Устранение неполадок
Сервер не запускается
- Возможно, порт 5900 уже занят другим VNC-сервером (например, общим доступом к экрану macOS). Остановите его в «Системных настройках» → «Основные» → «Общий доступ» либо измените порт в настройках DeskVNCServer.
- Порты 5911 / 4010 / 8766 должны быть свободны. Проверьте командой
lsof -i :5911и подобными.
VNC-клиенты не проходят аутентификацию
- Убедитесь, что пароль занимает не более 8 ASCII-совместимых байтов. Многобайтовые символы и более длинные строки молча обрезаются DES-аутентификацией RFB.
- Если пароль не нужен намеренно, оставьте поле пустым и подключайтесь клиентом, поддерживающим режим VNC без аутентификации.
QuickRemote не может выполнить сопряжение
- Убедитесь, что телефон или планшет подключён к той же сети Wi-Fi, что и Mac.
- Откройте панель подключения и посмотрите PIN-код заново. PIN можно сгенерировать заново в настройках.
- Проверьте настройки брандмауэра macOS — входящие подключения по портам QREX должны быть разрешены.
Удалённое управление подтормаживает
- Уменьшите частоту кадров и максимальные размеры кадра в настройках.
- Отключите неиспользуемые функции (звук, буфер обмена, метод ввода), чтобы разгрузить процессор.
Файлы не передаются
- Убедитесь, что Включить передачу файлов включено. Просмотр в режиме только чтения работает и без Включить изменение файлов.
- Если загрузка не удаётся, включите также Включить изменение файлов. Иначе файловый API отвечает только на запросы чтения.
Конфиденциальность
- Все сеансы идут напрямую между клиентом и вашим Mac. Никакого облачного ретранслятора, телеметрии и аналитики.
- Пароль VNC, Bearer token QREX, PIN-код сопряжения и постоянный идентификатор сервера хранятся только в локальных настройках приложения.
- Изменение файлов по умолчанию выключено. Удалённые клиенты могут только читать, пока вы явно не предоставите доступ на запись.
- Отключить любое расширение (звук, буфер обмена, передачу файлов, метод ввода, удалённый ввод) можно в любой момент — возможность отзывается сразу же.
- Если хотите оставить сервер доступным только на вашем Mac, укажите в качестве хоста привязки
127.0.0.1.