快轉到主要內容

WayPipe:Wayland下的Linux遠端桌面,類似SSH X11 forwarding

· 民國111年壬寅年
·
切換繁體/簡體
分類   Linux系統 Linux好用軟體
標籤   Wayland Remote Desktop PipeWire OpenSSH
目錄

請參見:Linux開源免費的遠端桌面列表

本文要介紹的WayPipe,能夠將遠端Linux電腦的Wayland視窗,拉到本地桌面執行,方便你查看圖形界面程式的執行結果。

這是一種類似SSH X11 Forwarding的技術,準確來說是讓Wayland實現網路透明性(network transparency)的功能。下圖是作者部落格給的工作原理圖。

因為WayPipe是透過網路傳輸圖形界面的,雖然有部份GPU加速,但是跟其他遠端桌面比起來效能很差勁,效能不比RDP、VNC要好,更別說RustDesk和Sunshine了!

1. WayPipe的運作條件
#

遠端和本地端的電腦都必須使用Wayland桌面。因此理想情況下,兩邊最好都是Linux系統,譬如Ubuntu。

如果本地端的電腦是Windows,就得找一個能夠支援Wayland的軟體,目前最簡單的方案是WSLg,WSL在安裝Ubuntu之後,會提供一個基於Weston開發的Wayland合成器,用於顯示圖形界面。

WayPipe僅能啟動Wayland協定的應用程式,如果應用程式還在使用X11,也就是XWayland,需要使用相應的環境變數強制以Wayland執行(例如QT5以上程式使用QT_QPA_PLATFORM=wayland),否則的話就得改用SSH X11 Forwarding執行了。

2. 安裝WayPipe
#

  1. 首先在遠端和本地電腦安裝OpenSSH:
sudo apt install openssh-server openssh-client
  1. 接著在遠端和本地電腦安裝WayPipe:
sudo apt install waypipe
  1. 再於本地電腦安裝Wayland的參考實作Weston:
sudo apt install waypipe

3. 用WayPipe執行單一應用程式
#

在本地電腦輸入以下指令,以SSH連線到遠端電腦,後面加上二進位檔路徑,例如啟動firefox

waypipe ssh -C user@192.168.1.104 firefox

這樣Firefox視窗就會跳出來了。實測能勉強看網頁,但圖形效率很差。

4. 用WayPipe執行完整桌面環境
#

WayPipe可以用來啟動KDE Wayland工作階段:

waypipe ssh -C user@192.168.1.104 startplasma-wayland

如此一來就能在這個視窗裡面啟動其他不支援Wayland協定的舊版應用程式,但是該桌面視窗無法縮放。

5. 播放遠端電腦的音效
#

遠端電腦的PipeWire音效得透過SSH forwarding到本地電腦,否則會在遠端電腦的喇叭放出來。

在本地電腦輸入以下指令:

pactl load-module module-tunnel-sink server=tcp:<本地電腦IP>:4656

sudo ufw allow 4656/tcp

sudo ufw reload

在遠端電腦輸入:

pactl load-module module-native-protocol-tcp port=4656 listen=<本地電腦IP>

接著在遠端電腦的音訊輸入裝置切換成本地電腦的TCP裝置就可以聽到音效。

參考資料
#

相關文章

postmarketOS搭配WayVNC使用,遠端連線到Linux手機的桌面
分類   Linux系統 Linux好用軟體
標籤   VNC PostmarketOS Wayland
在Linux玩原神Android版 ~ Waydroid安裝Android 11測試版映像檔
分類   Linux系統 Linux好用軟體
標籤   Waydroid Genshin Impact
Linux GIMP使用「內容感知」,自動填充圖片選取區
分類   Linux系統 Linux好用軟體
標籤   GIMP

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。