
昨晚我在玩我的手機(運行 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
恢復這個舊線程只是為了為舊問題提供現代解決方案:
我不確定內部結構如何scrcpy工作,但它確實值得一試 - 這是一個開源項目,提供對 Android 設備的顯示和控制。
除了基本的「顯示手機螢幕」之外,它還支援許多其他功能,例如手勢、熱鍵、錄音、透過 adb 無線(!)控制 Android 以及許多其他功能。此外,另一個項目(在 github 頁面上連結 - sndcpy
)允許音訊轉發。這純粹是一個主機PC程序,只需要在目標設備上啟用調試即可。 IIRC 一切都可以透過 ADB 運行(所以只有 Android ???)。
在我的Ubuntu 20.04 Lenovo <-> Android 10 華為P20Pro 上通過USB 在全分辨率和最大FPS 上運行時,沒有明顯的延遲,而在無線模式下,則略有下降至15 FPS 和最小的輸入延遲。我成功地透過筆記型電腦的滑鼠和鍵盤在手機上玩遊戲。
主要優點:
- 多平台 -
scrcpy
適用於 Linux、Windows 和 Mac - 僅主機作業系統 - 需要在 android 上進行最少的設定(允許 USB 偵錯)
- 開箱即用
- 多好的品質啊!
- 開源
公平地說,這並不完全滿足「從電話啟動」的條件,但無論如何我都會發布這個答案,只是因為它的scrcpy
功能非常強大並且值得更多的認可。