Выполнить небольшую задачу в удалённом редакторе

Подключитесь к существующему рабочему столу VNC, введите строку в пустой документ и проверьте её на новом снимке. Руководство описывает rdp-cli 0.1.0 по результатам приёмки за сентябрь 2026 года, а не нового испытания. В сценарии Mac от 20 сентября использовались Ubuntu 24.04, TigerVNC 1.13.1 и xterm. Позднее приёмка Linux также включала TigerVNC с аутентификацией. Текст ниже — учебный пример, а не воспроизведение тех сеансов.

Подготовить сервер и клиент

Установите подходящую сборку и следуйте краткому руководству. На удалённом компьютере уже должен работать доступный сервер VNC; вам нужно разрешение на просмотр и управление его рабочим столом. Откройте пустой документ в удалённом текстовом редакторе. rdp-cli не устанавливает сервер и не предоставляет модель ИИ.

По умолчанию VNC использует порт 5900 и проверку пароля. Поддерживаемые режимы безопасности не шифруют передачу рабочего стола: используйте доверенную сеть или VPN. Классическая аутентификация VNC учитывает только первые восемь байт пароля в UTF-8. Не добавляйте параметры, предназначенные для RDP: --user, --domain, расположение экранов или настройки сертификатов.

Подключиться с правильным протоколом

Замените адрес из документации и порт. В macOS или Linux выполните этот блок в Bash; в macOS можно сначала запустить bash. В Linux замените rdp-cli установленной командой либо путём к исполняемому файлу вашей архитектуры.

IFS= read -r -s -p 'Password: ' vnc_password
printf '\n'
printf '%s' "$vnc_password" | rdp-cli connect --protocol vnc --host 192.0.2.20 --port 5900 --password-stdin
unset vnc_password

В Windows откройте PowerShell в каталоге EXE:

$secret = Read-Host 'Password' -AsSecureString
$savedEncoding = $OutputEncoding
try {
  $OutputEncoding = [System.Text.UTF8Encoding]::new($false)
  [System.Net.NetworkCredential]::new('', $secret).Password |
    .\rdp-cli.exe connect --protocol vnc --host 192.0.2.20 --port 5900 --password-stdin
} finally {
  $OutputEncoding = $savedEncoding
  $secret.Dispose()
}

Прочитайте JSON и сохраните data.session как SESSION. Проверьте ok и возможный error.code; ошибка подключения не повод незаметно менять способ аутентификации. --vnc-security none предназначен только для сервера, намеренно настроенного без аутентификации: параметр нужно указать явно и без источника пароля. Сохранённый --credential-ref заменяет --password-stdin, а не добавляет второй источник пароля.

Посмотреть, выполнить действие и проверить снова

В следующих командах для Windows замените rdp-cli на .\rdp-cli.exe; в Linux сохраняйте правильный путь к программе.

rdp-cli status --session SESSION
rdp-cli screenshot --session SESSION --out vnc-before.png

Откройте vnc-before.png, убедитесь, что видны нужный рабочий стол и редактор, и сохраните data.observation этого снимка как OBSERVATION. Проверьте протокол, состояние подключения и управления. Для X и Y используйте реальные координаты удалённого документа:

rdp-cli click --session SESSION --desktop --x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out vnc-focused.png

Проверьте фокус на vnc-focused.png и используйте data.observation этого ответа как NEW_OBSERVATION:

rdp-cli type --session SESSION --text "VNC command check" --observation NEW_OBSERVATION
rdp-cli screenshot --session SESSION --out vnc-after.png

Откройте vnc-after.png и убедитесь, что «VNC command check» точно появился в нужном документе. Отправка ввода ещё не доказывает, что приложение его приняло. Не используйте координаты из руководства или устаревшее наблюдение после изменения размера, переподключения или смены управления.

Наблюдать за сеансом или восстановить работу

Локальное окно необязательно. Чтобы человек мог наблюдать за тем же сеансом:

rdp-cli watch --session SESSION --viewer window

Окно открывается только для просмотра. Пауза, перехват и возврат управления выполняются явно; агент должен остановиться, пока ввод приостановлен или сеансом управляет человек. Переподключение и изменение размера на сервере делают наблюдения недействительными и оставляют управление на паузе. Перед разрешённым возобновлением изучите новый снимок.

При ошибке подключения проверьте адрес, порт, аутентификацию сервера и сеть; изучите ошибку вместо повторных попыток пароля. Если текст отличается, проверьте фокус, раскладку клавиатуры и метод ввода. События Unicode в VNC не гарантируют поддержку всех символов каждым сочетанием сервера и приложения. Если результат ввода неясен, изучите экран и запросите состояние исходной операции, прежде чем повторять её.

Учитывать ограничения VNC

VNC поддерживает общий процесс снимков, ввода и просмотра, но не файлы через обменный диск, звук, микрофон или запрошенные клиентом конфигурации экранов. Эти операции возвращают CAPABILITY_UNAVAILABLE. Для текста UTF-8 в буфере обмена требуется согласованная возможность clipboard_utf8; иначе поддерживается Latin-1. Окно просмотра не добавляет отсутствующих возможностей протокола.

Точные параметры приведены в справочнике команд, выбор между RDP и VNC — в сравнении протоколов, а установка для вашей платформы — в кратком руководстве.