Прошлой ночью я играл со своим телефоном (на котором установлен стек Linux / X), и мне удалось зайти на рабочий стол по ssh, запустить приложение и показать его на моем телефоне. Это было потрясающе.
Сегодня я бы хотел сделать что-то противоположное. Я хочу просмотреть приложение, запущенное на моем телефоне, на моем ПК. Я мог бы установить SSH-сервер на свой телефон, но, честно говоря, мне это не кажется чисто из соображений безопасности. Я хочу, чтобы это было инициировано с моего телефона.
Есть ли способ подключиться с моего телефона и туннелировать соединение X компьютера обратно к телефону, а затем запустить приложение на телефоне, которое отображается на ПК?
Если я правильно понял, вам просто нужно использовать переменную 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, но это определенно стоит проверить out - это проект с открытым исходным кодом, обеспечивающий КАК отображение, так и управление вашим Android-устройством.
Помимо основного «покажи мне экран телефона», он поддерживает множество других вещей, таких как жесты, горячие клавиши, запись, беспроводное (!) управление Android через adb и многие другие функции.Кроме того, другой проект (ссылка на странице github — sndcpy
) позволяет пересылать аудио. Это чисто программа для хост-компьютера, и для нее требуется только включенная отладка на целевом устройстве. IIRC все работает через ADB (так что только для Android???).
При работе через USB на моем Ubuntu 20.04 Lenovo <-> Android 10 Huaweii P20Pro при полном разрешении и максимальном FPS видимых задержек нет, а при беспроводном подключении наблюдаются незначительные падения до 15 FPS и минимальная задержка ввода. Мне удалось сыграть в игру на моем телефоне через мышь и клавиатуру моего ноутбука.
Основные преимущества:
scrcpy
работает только на linux, windows и macЧестно говоря, это не совсем удовлетворяет условию «инициировать с телефона», но я все равно опубликую этот ответ, только потому, что scrcpy
настолько мощен в что он делает и заслуживает большего признания.