Вопрос или проблема
Мне нужно получить доступ к удаленной машине через соединение с высокой задержкой и низкой скоростью. Она использует x11vnc
, и я хочу, чтобы она транслировала видео в качестве, значительно ниже, чем то, что фактически отображается на экране. Первое, что приходит на ум, это использовать меньше цветов (например, 8 бит), но это может быть что угодно, только чтобы удаленная машина была отзывчивой, даже если она может, например, показывать большое изображение рабочего стола с насыщенными цветами (которое мне все равно не нужно видеть). Что-то подобное этому, только для x11vnc
.
Тем не менее, я хотел бы, чтобы весь текст был четким, потому что я работаю с терминалом.
Вот что я попробовал:
- использовать
-notruecolor
, найденный здесь http://www.karlrunge.com/x11vnc/x11vnc_opts.html - использовать
-speeds dsl
, найденный здесь https://ubuntuforums.org/showthread.php?t=1331555 - попробовать установить 8-битное видео с помощью
-rawfb
, найденного здесь https://linux.die.net/man/1/x11vnc - включить
-ncache 10
согласно https://feeding.cloud.geek.nz/posts/high-latency-vnc-tech-support/, но возникла эта проблема
Я использую встроенное приложение “Совместное использование экрана”, которое кажется почти единственным вариантом на Mac OS.
У меня закончились идеи. Пожалуйста, помогите.
Это можно сделать на стороне клиентского VNC, а не на стороне сервера.
Что касается альтернатив для Mac, попробуйте VNC Viewer или UltraVNC.
Оба варианта хороши, быстры и настраиваемы.
Ответ или решение
Чтобы заставить x11vnc транслировать изображение в более низком качестве, особенно при работе по медленным соединениям с высокой задержкой, можно использовать несколько методов настройки, которые помогут вам добиться необходимого результата. Хотя некоторые из предложенных вами решений уже оказались безуспешными, давайте подробнее рассмотрим подходы, которые могут помочь справиться с этой задачей.
1. Использование опции -noxdamage
Эта опция помогает избежать отправки несущественных изменений на экран. Она отключает механизм, отвечающий за определение изменений экрана, что может помочь уменьшить нагрузку на сеть.
x11vnc -display :0 -noxdamage
2. Снижение глубины цвета
Для достижения более низкого качества изображения можно использовать 8-битный цветовой режим. Чтобы это сделать, примените опцию -depth
:
x11vnc -display :0 -depth 8
Совмещение этой опции с -notruecolor
может еще больше улучшить производительность:
x11vnc -display :0 -depth 8 -notruecolor
3. Режимы скорости
Вы уже пробовали использование опции -speeds dsl
, что является хорошим направлением. Однако можно попробовать другие настройки, которые могут повлиять на качество и скорость потока данных. Например, опция -nolookup
может помочь, если у вас возникают задержки при разрешении имен.
x11vnc -display :0 -speeds dsl -nolookup
4. Уменьшение разрешения
Если качество изображения менее важно, можно также уменьшить разрешение экрана, что может уменьшить объем передаваемых данных. Это должно происходить на стороне сервера:
xrandr --output <имя_вашего_монитора> --scale 0.5:0.5
Замените <имя_вашего_монитора>
на актуальное имя вашего дисплея.
5. Кэширование и трансляция
Использование опции -ncache
позволяет кэшировать данные, что может помочь при высокой задержке. Используйте -ncache 10
, как вы пробовали, но помните, что это может вызвать проблемы с передачей обновлений, если изменение происходит слишком часто.
6. Программное обеспечние на стороне клиента
Вы также можете рассмотреть возможность использования другого VNC-клиента, который позволяет тонко настраивать параметры качества изображения. Например, RealVNC
и UltraVNC
предлагают более детальные настройки, которые могут вам подойти. Параметры, такие как скорость передачи данных и уровень сжатия, могут значительно повысить производительность на медленных соединениях.
7. Альтернативные протоколы
Если возможно, рассмотрите использование других протоколов доступа к удаленному рабочему столу, таких как RDP. Они могут обеспечить лучшую производительность по сравнению с VNC, особенно в условиях медленных соединений.
Заключение
Исходя из приведенных выше решений, сочетание нескольких параметров x11vnc и возможность использования более адаптивного VNC-клиента могут помочь вам добиться лучшего качества работы. Экспериментируйте с вышеупомянутыми настройками, и, безусловно, вы сможете улучшить отзывчивость системы даже при использовании медленных соединений.