手機系統: postmarketOS (Alpine Linux),桌面環境為Phosh
電腦系統: Ubuntu 20.04
從電腦登入手機Linux的遠端桌面,如圖,等同電腦遙控手機。遠端桌面環境的compositor必須為wlroots,所以不支援GNONE/KDE/Weston。
簡介#
如果Linux顯示協定是使用Wayland,傳統的x11 VNC Server可能就行不通,此時要改用WayVNC這個新技術 ( 詳細資訊)。
首先要SSH到遠端裝置,建立加密通道轉發封包,再開啟本機的VNC Viewer連線。
以下約定:本機=電腦,遠端=手機。
1. 先調整遠端的SSH設定#
- postmarketOS預設應該已經安裝好SSH服務,先將其啟動:
sudo rc-service sshd start
sudo rc-update add sshd
- 首先在遠端編輯sshd設定(
/etc/ssh/sshd_config
),確認有無這二項,沒有就加入,或是取消註解:
AllowTcpForwarding yes
X11Forwarding yes
- 之後儲存檔案,重啟SSH服務。
sudo rc-service sshd restart
- 輸入
ifconfig
查看手機的IP (我使用區域網路,因此開頭是192.168.)
xiaomi-beryllium:~$ ifconfig
wlan0 Link encap:Ethernet
inet addr:192.168.0.243 Bcast:192.168.0.255 Mask:255.255.255.0
- 安裝WayVNC套件
sudo apk add wayvnc
- 啟動WayVNC,IP為手機的IP(
localhost
代表只有手機本機可以連線,0.0.0.0
的話則是開放外部連線),5901是我自己選的埠號。此時畫面上應該會出現滑鼠。
wayvnc localhost 5901
- WayVNC啟動後不會有任何輸出,要關閉請用CTRL+C。
2. 在本機建立SSH通道#
建立SSH通道的用意在於加密VNC傳輸。如果追求速度的話不加密也罷。
- 開啟終端機,輸入以下指令 (5901跟遠端的埠號一致,user為遠端的帳號,@後面加的是遠端IP)
ssh -L 5901:localhost:5901 [email protected]
- 輸入遠端密碼後成功登入
Welcome to postmarketOS! o/This distribution is based on Alpine
Linux.First time using postmarketOS? Make sure to read the cheatsheet in the wiki: https://postmarketos.org/cheatsheetYou may change this message by editing /etc/motd.
xiaomi-beryllium:~$
- 在本機開啟RealVNC VNC Viewer,輸入連線IP:
localhost:5901
如果設定過AllowTcpForwarding仍無法連線,試著刪除本機的
~/.ssh
目錄再重試。成功連線至遠端桌面。