註:本APP需要越獄環境,如果你不需要越獄功能,只是想要單純存取Linux指令工具,請改到App Store裝 iSH Shell。
將iOS裝置越獄後,我們通常會安裝Sileo管理插件吧,檔案管理則是Filza,那麼這一切背後的操作是否能用指令完成呢?
NewTerm滿足你的願望。NewTerm為一款開源的終端機模擬器(terminal emulator),支援iOS/iPadOS/macOS,讓你可以存取iOS的shell,執行各式各樣的指令。
跟macOS上的iTerm2一樣,NewTerm是專門的終端機模擬器。跟iOS其他終端機APP不同之處在於,NewTerm並沒有模擬環境,而是讓使用者直接存取iOS系統shell,故執行速度沒有任何損耗。
有了NewTerm,你就可以:
- 在本機執行純文字工具,例如VIM、Clang、ffmpeg、ImageMagick、Python。只要Sileo軟體源有的套件都能取用。
- 免開Sileo,直接透過APT指令安裝與更新越獄插件 (Tweak通常都是以deb套件打包)。
- SSH到遠端電腦,或者 在iOS啟動SSH伺服器,從電腦遠端存取。
- 支援iPad的120hz螢幕更新率,利用iPad功能進行雙視窗作業。
macOS用戶可能會問能不能裝Homebrew呢…不行,iOS的Tweak雖然採用deb打包,但都是針對iPhone OS特別編譯的版本,必須從專門的套件庫下載deb安裝才行。
下面我會介紹如何安裝NewTerm APP,並分享一些iOS越獄後可以玩的指令。
1. 下載NewTerm APP#
NewTerm是HASHBANG Productions開發的自由軟體,原始碼放在 Github。
目前「NewTerm3」支援iOS 14以上系統的裝置,支援rootless模式越獄。
這裡我使用iOS 15的rootless越獄環境做示範。
Sileo內建的軟體源就有收NewTerm3了,搜尋安裝即可。你也可以手動到 Github下載arm64架構的deb檔。
第一次開啟後,請按照指示建立
~/.zshrc
touch ~/.zshrc
- 關於Zsh的用法請看 官方文件,相信用過macOS的人應該很熟悉自己要什麼。比如,我會在zshrc加入儲存指令歷史紀錄的功能:
cat <<EOT >> ~/.histfile
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
setopt appendhistory
EOT
source ~/.zshrc
- 如果你還沒給帳號設定密碼,請自行變更
# rootless模式下,預設是以mobile帳號登入
passwd
# 變更root帳號密碼
sudo passwd
2. iOS越獄常用指令#
參考Reddit社群整理的實用指令。
如果你執行指令的時候遇到Permission denied錯誤,請加上sudo
試試。
與iOS系統有關的指令:
launchctl
:管理系統服務的工具。比如launchctl unload /var/jb/Library/LaunchDaemons/com.openssh.sshd.plist
和launchctl load /var/jb/Library/LaunchDaemons/com.openssh.sshd.plist
可以重啟SSH daemon服務。
killall SpringBoard
:重啟主畫面的指令,俗稱respring
reboot
:iOS重開機。
ldrestart
:軟重開機,可以保有越獄環境。
uicache
:強制重新整理主畫面,APP安裝後沒出現圖示可使用此指令。
Zsh內建的指令在這裡也可以用喔:
ls
:列出目錄下的檔案
pwd
:印出目前工作目錄
cp
:複製檔案
mv
:移動檔案
rm
:刪除檔案
想要更多指令,你可以自己新增軟體源,安裝套件擴充。那麼,我們就要了解如何使用APT指令裝套件了。
3. 用APT指令管理Sileo插件#
越獄環境採用的套件管理器多半為APT,Sileo就是管理這些套件的前端。
你想的並沒有錯,Linux發行版Ubuntu也是使用APT當作套件管理器,故他們的指令十分類似。但正如我文章開頭說的,一般Linux的deb套件與iOS越獄的deb套件並不相容,所以請不要在iOS硬裝Ubuntu的deb檔。
註:如果你打算用命令行安裝IPA而非deb檔案,請改用 appinst by Karen工具協助安裝。
現在,Rootless越獄的檔案都一律放在/var/jb/
目錄底下,不要走錯位置了。
已安裝的越獄套件可以用
sudo apt update && sudo apt upgrade
指令全部更新。查詢線上有什麼套件:
sudo apt search "套件名稱"
安裝套件:
sudo apt install "套件名稱"
,例如sudo apt install vim
移除套件:
sudo apt remove "套件名稱"
如果要安裝單獨的deb套件(比方說Github開發者新發表的軟體),你可以用wget指令下載到debNewTerm的家目錄,再用apt安裝。但是有些deb依賴的套件可能要加特定軟體源才有,故單獨安裝APT要小心。此外,也不要下載不開放原始碼、來路不明的越獄插件。
wget "網址"
sudo apt install ./"檔案名稱.deb"
- APT的各個軟體源位於
/var/jb/etc/apt/sources.listd/
,你可以用VIM手動編輯,自行新增軟體源網址,之後再更新APT軟體源。
# 安裝純文字編輯器
sudo apt install vim
# 編輯Sileo的軟體源
sudo vim /var/jb/etc/apt/sources.listd/sileo.list
# 更新軟體源
sudo apt update