
Вчера вечером я игрался со своим телефоном (на котором установлен стек 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
настолько эффективен в том, что он делает, и заслуживает большего признания.