What to Do with iPad Air (1st gen)

接收一代的 iPad Air 之後,就一直打主意想該怎麼利用。先是打算拿來看 Netflix,但硬體太舊,iOS 版本只能升到 12.5.5, 安裝時出現「至少需要 iOS 14」,這才明白為何擁有舊蘋果硬體的人這麼不愛升級。如果已經安裝過的,進 App Store 自己帳號底下的「已購項目」還是可以裝回,但若是我這種蘋果帳號全空,或是想裝以前沒用過的,就很麻煩。

Jailbreak 越獄

官方這種做法很可惡的是,既然以前裝過就可以裝回來,表示蘋果那邊都有留檔,只是不讓人用舊硬體新安裝,明明還可以用的硬體卻強迫升級。看網路上問類似問題的人,往往得到的回答竟然是「該買新的了」,這真的是只有果粉才能接受。總之看了各種麻煩方案,最後決定先 jailbreak 越獄再處理。光是把 Chimera 裝進去就各種麻煩,最後是用了經常在重簽的 jailbreaks.app 搞定。成功越獄後,系統裡面多了 Sileo 這個基於 APT 的套件管理系統,可以安裝第三方軟體。為了解決前述 Netflix 問題,搜尋到 App Admin 據說可以讓越獄的 iOS 裝 app 的舊版,但安裝流程老是卡住,怎麼試都不成功。後來發現有 openssh-server 裝上之後用 root password alpine 連進去,直接操作熟悉的 Unix-like 系統就很順利了。

裝舊版 App

到這一步才有點搞懂,越獄完以後最方便的應該是先裝 mterminal 之類的終端機程式,然後像 Linux 一樣操作就可以。預設使用者 mobile 可以 sudo, 密碼一樣是 alpine, 所以其實不需要 openssh-server. 這關過了之後成功裝上 App Admin 結果沒用,試另一套 AppStore++ 才搞定。發現新版已經不支援 iOS 12 的 app 只要能成功安裝一個夠舊的版本,就會出現在「已購項目」,這時再升級 app,似乎就會升到最後一個能用的版本。

OK 這樣終於可以看 Netflix 了。接下來弄好 ssh 也可以連上 Linux 主機做些簡單操作、閱讀器之類的裝一裝也差不多。另外還想充分利用這個 ppi 264 的螢幕,用來當筆電外接螢幕好像不錯。最後試出來比較 Linux 流的方式差不多是這樣:

充當外接螢幕

1
2
3
$ cvt 1024 768
# 1024x768 59.92 Hz (CVT 0.79M3) hsync: 47.82 kHz; pclk: 63.50 MHz
Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync

iPad 解析度 2048x1536 設計成長寬都是 1024x768 這個當年流行解析度的兩倍,拿來測試的老筆電不明原因似乎上不了這麼高,退而求其次用 1024x768, 四個點當一個點用。以 cvt 算出模式數據後,用 xrandr 加入 new mode 再隨便挑一個沒在用的 output 硬是加上去,然後假裝成真有這個螢幕設定起來。最後以 x11vnc 切在「假裝」的這一塊輸出,再從 iPad 這邊用任意 VNC client 連上,就可以當成螢幕用了。

1
2
3
4
5
# copy/paste cvt output
$ xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
$ xrandr --addmode HDMI-1 1024x768_60.00
$ xrandr --output HDMI-1 --mode 1024x768_60.00 --left-of LVDS-1 --output LVDS-1 --primary
$ x11vnc -display :0 -clip 1024x768+0+0

當然這邊寫的是最簡化版,VNC 完全沒加上任何認證機制,最好還是要加一下。用起來感覺還不錯,反正只是看網頁、用編輯器,速度要求不高。這篇就是用 iPad 當作螢幕寫的。可惜的是解析度上不去,之後用別台筆電再試試好了。