顯示具有 Apple 標籤的文章。 顯示所有文章
顯示具有 Apple 標籤的文章。 顯示所有文章

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的電腦投影過去,當成另一台外接螢幕。 

2024-04-29

地震、螢幕與Mac Mini

這個月最大的事件就是地震,4/3日最大,4/23其次,台北搖得很大,特別是高樓,驚嚇感十足,會讓人覺得是不是樓房要垮了?我的三鳥牌大螢幕從一公尺高的桌上搖到摔趴在地板上,但神奇的是,完全沒壞,連外表也沒明顯受損,可能是角度正好平趴到地板,擠壓的空氣成了緩衝保護,所以沒撞壞。

還好目前為止,大部份台灣人的生命、財產都還平安。

另外,一件有趣的事,就是拿到一台2012年下半生產的阿婆的Mac mini(Macmini6,2),接上HDMI螢幕跟一般PC用的鍵盤之後,按住Alt不放,再按電源開機,聽到鋼琴聲之後稍等,就可以選擇從我自製的USB Live Linux開機。

各項硬體包括Bluetooth(只有4.0)、Ethernet(Gb)、Audio、Video,除了Wifi都不必再手動做什麼安裝設定,便能夠使用了。Wifi的話就只是加裝b43的firmware到/lib/firmware/b43/目錄下,然後重新載入kernel(6.2.0-37-generic)本身的b43.ko就能用,不過效能似乎比外插的USB Wifi差一些,拆開底蓋拔除內建的小圓型天線,再接一條SMA母頭延長線,鎖上一支3dBi天線,就有相較於原廠天線更好的訊號,可以觀察cat /proc/net/wireless來比較。

 

但畢竟是古老的Intel第三代i7(i7-3615QM),效能上不能太要求,但也還能正常工作。RAM是兩支4G DDR3 1600,正好手上有一支標示8G PC3-12800的RAM,查了一下是可以用的,所以換上這一支8G,總共是12GB RAM。

整台包得很密,似乎散熱效率不好,所以為換天線把底蓋拆下來之後,就不再蓋回去,而是黏上四個腳,讓它站在桌面而不是緊貼著趴在桌面,這樣空氣可以流通,CPU的溫度馬上低了4度C。

使用起來雖然不能說又是一尾活龍,但一台12年前的電腦,跑Linux聽串流廣播、看串流影片、Youtube,做一般使用,像是從Bluetooth接收從手機把照片傳進來……等等都是OK的。

最後,還有一個device問題未解,就是紅外線接收器。用lsusb可以看到
Bus 001 Device 005: ID 05ac:8242 Apple, Inc. Built-in IR Receiver
但是在/sys/class/rc/目錄下是空的,比對其它內建IR receiver的ARM小電腦,在/sys/class/rc/下面可以看到一個rc0,那樣才能使用。