2025-09-23

把Linux桌面投射到其他電腦的螢幕

 最近剛好用到透過AirPlay去連一台三爽螢幕,不過是使用MacOS連上去的,也就是讓MacOS的機器不需實體就能連上外接的三爽螢幕。查了一下有人寫了給Linux用的Java based程式,所以來試試看能不能用。

 從這個github clone程式:
https://github.com/openairplay/open-airplay
以及下載預先compile好的aprplay.jar
https://github.com/openairplay/open-airplay/releases/tag/0.1.1

 安裝相關程式並執行compile:
apt-get install -y default-jdk
apt-get install -y maven
cd open-airplay-master/Java
ant

 產生jmdns.jar

接著執行:
java -cp "build/airplay.jar:lib/jmdns.jar" com.jameslow.AirPlay

它開始搜尋目前LAN裡的AirPlay,找不到的話當然沒有任何可連上的目標,如果有,就會顯示它的名稱、IP,點下去之後,可以選解析度。

然後,就沒有然後了!

 換用MacOS的機器去連的話,找到AirPlay所提供的螢幕之後點下去,會有一組4位數顯示在對方的螢幕(這要看AirPlay怎麼設定條件,一般是這樣),這時就打在你所操作MacOS這台機器,然後就連上了,等同一個外接螢幕。證明給Linux用的這個Java程式無法如預期的工作。

畢竟AirPlay用的是阿婆公司私有的protocol,並沒有open source,所有試圖連接AirPlay的辦法應該都是走reverse engineering得到的,沒有預期的結果也很正常,不必失望。 

 這時發現另一個螢幕投射程式
https://github.com/pavlobu/deskreen
可以下載它compile好的可執行程式,包括Linux, Mac, Windows都有,不過已經三年沒再更新。

 執行 deskreen 之後它會產生一串位置的 link(例如:http://192.168.1.100:3131/123456), 任何在你同一個 LAN 裡的電腦都可以用瀏覽器打開這個連接字串,然後你在本身電腦上面按下允許,你的螢幕就能投射到對方那一台電腦的螢幕上了(它單純就是投影過去,對方不能操作你的電腦),好像很簡單。

 馬上來試,立即成功使用。不過這跟阿婆的AirPlay無關。

也就是只要有瀏覽器的電腦(包括手機、平板、一般電腦)都能被執行deskreen的電腦投影過去,當成另一台外接螢幕。 

沒有留言: