Обратная пересылка X11
Прошлой ночью я играл со своим телефоном (на котором установлен стек Linux/X), и мне удалось зайти на рабочий стол с помощью ssh, запустить приложение и показать его на моем телефоне. Это было потрясающе.
Сегодня я бы хотел сделать что-то противоположное. Я хочу просмотреть приложение, запущенное на моем телефоне, на моем ПК. Я мог бы установить SSH-сервер на свой телефон, но, честно говоря, мне это не нравится по соображениям безопасности. Я хочу, чтобы это было инициировано с моего телефона.
Есть ли способ подключения с моего телефона и туннелирования X-соединения ПК обратно к телефону, а затем запустить приложение на телефоне, которое отображается на ПК?
3 ответа
Если я правильно понял, вам просто нужно использовать переменную DISPLAY на вашем телефоне, чтобы перенаправить отображение приложений на рабочий стол.
На вашем рабочем столе:
xhost +phone_ip
На вашем телефоне:
export DISPLAY=desktop_ip:0
запустить приложение
"Обратное туннелирование SSH" или "Переадресация удаленного порта" - ваш друг.
выдать это по телефону
ssh -f -N -X -R 5555:localhost:22 desktop_user@desktop
затем на рабочем столе это
ssh -X -p 5555 phone_user@localhost
Возрождение этой старой темы только для того, чтобы предоставить современные решения старых проблем:
Я не уверен, как работают внутренности scrcpy , но это, безусловно, стоит проверить - это проект с открытым исходным кодом, обеспечивающий КАК отображение, так и контроль над вашим Android-устройством.
Помимо основного «покажи мне экран телефона», он поддерживает множество других вещей, таких как жесты, горячие клавиши, запись, беспроводное (!) управление Android через adb и многие другие функции. Кроме того, еще один проект (ссылка на странице github -
sndcpy
) позволяет пересылать аудио. Это чисто программа для хост-компьютера, и для нее требуется только включенная отладка на целевом устройстве. IIRC все работает через ADB (так что только для Android???).
При работе через USB на моем Ubuntu 20.04 Lenovo <-> Android 10 Huaweii P20Pro на полном разрешении и максимальном FPS видимых задержек нет, а по беспроводному соединению есть незначительные падения до 15 FPS и минимальная задержка ввода. Мне удалось сыграть в игру на моем телефоне через мышь и клавиатуру моего ноутбука.
Основные преимущества:
- мультиплатформенность - работает на linux, windows и mac
- только хост-ОС - требуется минимальная настройка на андроиде (с возможностью отладки по USB)
- работает из коробки
- какое качество!
- Открытый исходный код
Справедливости ради, это не совсем удовлетворяет условию «инициировать с телефона», но я все равно опубликую этот ответ, только потому, что
scrcpy
настолько силен в том, что он делает, и заслуживает большего признания.