反向 X11 转发

反向 X11 转发

昨晚我在玩我的手机(运行 Linux/X 堆栈),我设法通过 ssh 进入我的桌面并运行一个应用程序,然后让它显示在手机上。这太棒了。

今天我想做点相反的事情。我想在电脑上查看手机上运行的应用程序。我可以在我的手机上安装 SSH 服务器,但坦白说,出于安全原因,我并不喜欢这样做。我希望从我的手机启动它。

有没有办法从我的手机连接并将 PC 的 X 连接隧道传输回手机,然后在手机上运行在 PC 上显示的应用程序?

答案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

重新讨论这个旧话题只是为了为旧问题提供现代解决方案:

我不知道乱码工作,但它肯定是值得一试的 - 它是一个开源项目,可以为您的 Android 设备提供显示和控制。

除了基本的“显示手机屏幕”功能外,它还支持许多其他功能,如手势、热键、录音、通过 adb 无线控制 Android 等。此外,另一个项目(链接在 github 页面上 - sndcpy)允许音频转发。这纯粹是一个主机 PC 程序,只需要在目标设备上启用调试。如果我没记错的话,一切都可以通过 ADB 运行(所以只适用于 Android???)。

在我的 Ubuntu 20.04 Lenovo <-> Android 10 Huaweii P20Pro 上以全分辨率和最大 FPS 通过 USB 运行时没有明显的延迟,而在无线模式下,FPS 略有下降至 15 FPS,输入延迟最小。我成功地通过笔记本电脑的鼠标和键盘在手机上玩游戏。

主要优点:

  • 多平台-scrcpy适用于 Linux、Windows 和 Mac
  • 仅限主机操作系统 - 需要在 Android 上进行最少的设置(允许 USB 调试)
  • 开箱即用
  • 多好的品质啊!
  • 开源

公平地说,这并不完全满足“从手机发起”的条件,但我还是会发布这个答案,只是因为它的scrcpy功能非常强大,值得得到更多的认可。

相关内容