Обратная пересылка X11

Обратная пересылка X11

Вчера вечером я игрался со своим телефоном (на котором установлен стек Linux/X) и мне удалось подключиться по ssh к своему рабочему столу, запустить приложение и заставить его отобразиться на моем телефоне. Это было потрясающе.

Сегодня я хотел бы сделать что-то вроде противоположного. Я хочу просмотреть приложение, запущенное на моем телефоне, на моем ПК. Ямогустановить SSH-сервер на моем телефоне, но, честно говоря, мне это не нравится чисто из соображений безопасности. Я хочу, чтобы это было инициировано с моего телефона.

Есть ли способ подключиться с телефона и пробросить X-соединение ПК обратно на телефон, а затем запустить на телефоне приложение, которое будет отображаться на ПК?

решение1

«обратное SSH-туннелирование» или «удалённая переадресация портов» — ваш друг.

выдать это по телефону

ssh -f -N -X -R 5555:localhost:22 desktop_user@desktop

затем, на рабочем столе это

ssh -X -p 5555 phone_user@localhost

решение2

Если я правильно понял, вам просто нужно использовать переменную DISPLAY на вашем телефоне, чтобы перенаправить отображение приложений на рабочий стол.

На рабочем столе:

xhost +phone_ip

На вашем телефоне:

export DISPLAY=desktop_ip:0

запустить приложение

решение3

Возрождаю эту старую тему, чтобы предложить современные решения старых проблем:

Я не уверен, как внутренностиscrcpyработа, но это определенно то, что стоит проверить — это проект с открытым исходным кодом, обеспечивающий КАК отображение, ТАК И управление вашим Android-устройством.

Помимо базового "покажи мне экран телефона", он поддерживает множество других вещей, таких как жесты, горячие клавиши, запись, беспроводное (!) управление Android через adb и многие другие функции. Кроме того, другой проект (ссылка на страницу github - sndcpy) позволяет пересылать аудио. Это чисто хостовая программа для ПК, и на целевом устройстве требуется только отладка. IIRC, все работает через ADB (так что только Android???).

При запуске через USB на моем Ubuntu 20.04 Lenovo <-> Android 10 Huaweii P20Pro на полном разрешении и максимальном FPS видимых задержек нет, а при беспроводном подключении наблюдаются незначительные падения до 15 FPS и минимальная задержка ввода. Мне удалось успешно поиграть в игру на телефоне с помощью мыши и клавиатуры ноутбука.

Основные преимущества:

  • мультиплатформенность - scrcpyработает на Linux, Windows и Mac
  • только для хостовой ОС — требуется минимальная настройка на Android (с возможностью отладки по USB)
  • работает из коробки
  • какое качество!
  • Открытый исходный код

Честно говоря, это не совсем соответствует условию «инициировать с телефона», но я все равно опубликую этот ответ, только потому, что он scrcpyнастолько эффективен в том, что он делает, и заслуживает большего признания.

Связанный контент