您知道可以在 iOS 裝置上運行 Linux 命令列嗎? 您可能會問,“為什麼我應該在 iPhone 上使用簡訊應用程式?” 公平的問題。 但如果您閱讀 Opensource.com,您可能知道答案:Linux 用戶希望能夠在任何裝置上使用它,並希望自己對其進行自訂。
但最重要的是,他們渴望解決複雜的問題。
我有一台已經使用了 2 年的 iPad XNUMX Mini,它仍然非常適合閱讀電子書和執行其他任務。 但是,我還想使用它透過我的一組程式和腳本存取應用程式的命令行,沒有它們我就無法工作。 我需要一個我習慣的環境,以及我的標準開發環境。 這就是我如何實現這一目標的。
連接到鍵盤
透過手機或平板電腦的螢幕鍵盤使用命令列進行編程非常不方便。 我建議連接外部鍵盤,可以透過藍牙連接,也可以使用相機連接轉接器連接有線鍵盤(我選擇了後者)。 當您將 Kinesis Advantage 分離式鍵盤連接到 iPhone 6 時,您會得到一個奇怪的設備,類似於
在 iOS 上安裝 shell
要在 iOS 上運行功能齊全的 Linux 系統,有兩種選擇:
- 連接 Linux 電腦的安全 shell (SSH)
- 使用 Alpine Linux 和 iSH 運行虛擬系統,iSH 是開源的,但必須使用 Apple 專有的 TestFlight 應用程式安裝
作為替代方案,有兩個開源終端模擬器應用程式提供了在受限環境中使用開源工具的能力。 這是最精簡的選項 - 事實上,這就是運行 Linux 工具而不是 Linux 的方式。 使用這些應用程式時存在嚴重的功能限制,但您確實可以獲得部分命令列功能。
在討論複雜的解決方案之前,我將了解最簡單的方法。
選項 1:沙箱外殼
最簡單的方法之一是安裝 iOS 應用程式
具有大致相同的功能
選項 2:SSH
下載應用程式的另一個步驟是設定 SSH 用戶端。 很長一段時間以來,我們已經能夠使用 iOS 的眾多 SSH 用戶端應用程式中的任何一個來連接到運行 Linux 或 BSD 的伺服器。 使用 SSH 的優點是伺服器可以運行任何軟體的任何發行版。 您可以遠端工作,工作結果只需傳輸到 iOS 裝置上的終端模擬器即可。
選項 3:啟動 Linux
使用 SSH 連接到 Linux 伺服器是存取命令列的好方法,但它需要外部伺服器和網路連線。 這不是最大的障礙,但不能完全忽略,因此您可能需要在沒有伺服器的情況下運行 Linux。
如果這是您的情況,那麼您需要更進一步。
使用 iSH 運行 Alpine Linux
重要特徵: 實驗應用。 由於 iSH 目前是一個測試應用程序,因此不要期望持續可靠的運行。 TestFlight 申請有時間限制。 我目前的建置只能持續 60 天。 這意味著 60 天後我將被淘汰,必須重新參加下一輪 iSH 測試。 此外,我將丟失所有文件,除非我使用 iOS 上的文件匯出它們或將它們複製到 Git 主機或
安裝iSH
從安裝開始
使用該鏈接,TestFlight 將在您的裝置上安裝 iSH 應用程式。 與任何其他應用程式一樣,螢幕上會出現一個圖示。
套件管理
iSH 在 Alpine Linux 上執行 x86 模擬器。 Alpine 是一個小型發行版,大小不到 5MB。 這是我第一次與 Alpine 合作,所以我認為極簡主義會很煩人,但實際上我真的很喜歡它。
Alpine 使用套件管理器
如何安裝該套件:
apk add package
如何刪除包:
apk del package
如何找到其他指令和資訊:
apk --help
套件管理器更新:
apk update
apk upgrade
安裝文字編輯器
Alpine 的預設文字編輯器是 Vi,但我更喜歡 Vim,所以我安裝了它:
apk add vim
如果需要,您可以安裝 Nano 或 Emacs。
換殼
我不了解你,但我需要
魚的安裝:
apk add fish
如果您需要 Bash 及其自動補全和手冊頁,請安裝它們:
apk add bash bash-doc bash-completion
Alpine 的簡約思想通常意味著一些打包在其他發行版中的程式將被分割成幾個較小的包。 這也意味著您可以按照您想要的方式自訂和減小系統的大小。
有關安裝 Bash 的更多信息,請參閱
更改預設外殼
安裝fish後,您可以透過輸入暫時切換到它 fish
並進入外殼。 但我想讓fish成為預設的shell和指令 chsh
,我在其他發行版上使用過,但不起作用。
首先我們找出fish安裝在哪裡:
which fish
這是我得到的:
/usr/bin/fish
接下來,將登入 shell 變更為 Fish。 您可以使用任何方便的編輯器。 如果您是初學者,請安裝 Nano(使用指令 apk add nano
)這樣就可以編輯設定檔並透過CTRL+X儲存,確認並退出。
但我用的是 Vim:
vim /etc/passwd
我的第一行是這樣的:
root:x:0:0:root:/root:/bin/ash
若要使 Fish 成為預設 shell,請將此行變更為以下內容:
root:x:0:0:root:/root:/usr/bin/fish
然後儲存文件並退出。
我確信有一個好方法可以更改 shell 的路徑,以便可以立即使用它。 但我不知道,所以我建議返回應用程式瀏覽器,強制退出 shell,並且為了安全起見,關閉並重新啟動您的 iPad 或 iPhone。 現在再次打開 iSH,除了訊息“歡迎來到 Alpine!” 以及有關從 apk 啟動的信息,您將看到標準的 Fish 登入歡迎消息: 歡迎來到魚,友好的互動外殼。 萬歲!
設定 Python 和 pip
我決定添加
apk add python3
儘管Python 2.x已經過時,但您可以安裝它:
apk add python
讓我們安裝名為 pip 的 Python 套件管理器
python3 -m ensurepip --default-pip
安裝和配置套件管理器需要一些時間,所以只需等待。
然後您可以下載一個透過網路傳輸檔案的工具
apk add curl
閱讀手冊
Fish 使用內建手冊頁為基礎的自動完成功能。 和其他命令列使用者一樣,我使用手冊 man
,但它沒有安裝在 Alpine 中。 所以我用終端尋呼機安裝了它
apk add man man-pages less less-doc
除了男人我用華麗
我使用 pip 安裝它:
pip install tldr
團隊 tldr
當遇到新頁面的請求時,連接到網路以檢索頁面。 如果您需要知道如何使用命令,您可以編寫類似的內容 tldr curl
並獲得簡單的英語描述以及如何使用該命令的良好示例。
當然,所有這些安裝工作都可以使用自動化
更多信息
iSH Wiki 有一個頁面“
另一個維基頁面解釋如何
您也可以安裝 Git(是的! apk add git
)並將您的工作推送到遠端儲存庫或透過 SSH 將其傳輸到伺服器。 當然,您可以從 GitHub 下載並執行任意數量的優秀開源專案。
有關 iSH 的更多信息,請訪問以下連結:
論廣告的權利
維德西納 優惠
來源: www.habr.com