在 iOS 上啟動 Linux 命令行

在 iOS 上啟動 Linux 命令行

您知道可以在 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 應用程式 自由術語。 它 開源 沙盒指令 shell,支援 80 多個指令,且價格為零。 它與 Python 2.7、Python 3.7、Lua、C、Clang 等捆綁在一起。

具有大致相同的功能 如地獄,被開發人員描述為「螢幕輸入平台的測試使用者介面」。 a-Shell 來源已發布 開源,它正在積極開發中,提供檔案系統訪問,並附帶 Lua、Python、Tex、Vim、JavaScript、C 和 C++,以及 Clang 和 Clang++。 它甚至允許您 pip 安裝 Python 套件。

選項 2:SSH

下載應用程式的另一個步驟是設定 SSH 用戶端。 很長一段時間以來,我們已經能夠使用 iOS 的眾多 SSH 用戶端應用程式中的任何一個來連接到運行 Linux 或 BSD 的伺服器。 使用 SSH 的優點是伺服器可以運行任何軟體的任何發行版。 您可以遠端工作,工作結果只需傳輸到 iOS 裝置上的終端模擬器即可。

閃爍外殼 是一個流行的付費 SSH 應用程式 開源。 如果您忽略裝置的小螢幕,那麼使用此軟體類似於透過任何其他命令列連接到伺服器。 Blink Terminal 看起來很棒,有許多現成的主題,並且能夠創建自己的主題,包括自訂和添加新字體的能力。

選項 3:啟動 Linux

使用 SSH 連接到 Linux 伺服器是存取命令列的好方法,但它需要外部伺服器和網路連線。 這不是最大的障礙,但不能完全忽略,因此您可能需要在沒有伺服器的情況下運行 Linux。

如果這是您的情況,那麼您需要更進一步。 試飛 是一項專有服務,用於在開發的應用程式在 Apple App Store 中發布之前安裝它們。 您可以從 App Store 安裝 TestFlight 應用程序,然後使用測試應用程式。 TestFlight 中的應用程式允許有限數量的 Beta 測試人員(通常最多 10 名)在有限的時間內與他們一起工作。 要下載測試應用程序,您需要從裝置前往通常位於測試應用程式開發人員網站上的連結。

使用 iSH 運行 Alpine Linux

信息系統 是一個開源 TestFlight 應用程序,可啟動具有現成發行版的虛擬機 高山Linux (只需付出一點努力,您就可以運行其他發行版)。

重要特徵: 實驗應用。 由於 iSH 目前是一個測試應用程序,因此不要期望持續可靠的運行。 TestFlight 申請有時間限制。 我目前的建置只能持續 60 天。 這意味著 60 天後我將被淘汰,必須重新參加下一輪 iSH 測試。 此外,我將丟失所有文件,除非我使用 iOS 上的文件匯出它們或將它們複製到 Git 主機或 透過SSH。 換句話說: 不要指望這會繼續有效! 不要將任何對您重要的東西放入系統中! 備份到單獨的位置!

安裝iSH

從安裝開始 試飛 從應用程式商店。 然後安裝iSH, 收到安裝連結 從應用程式網站。 還有另一種使用AltStore的安裝方法,但我沒有嘗試過。 或者,如果您有付費開發者帳戶,則可以從 GitHub 下載 iSH 儲存庫並自行安裝。

使用該鏈接,TestFlight 將在您的裝置上安裝 iSH 應用程式。 與任何其他應用程式一樣,螢幕上會出現一個圖示。

套件管理

iSH 在 Alpine Linux 上執行 x86 模擬器。 Alpine 是一個小型發行版,大小不到 5MB。 這是我第一次與 Alpine 合作,所以我認為極簡主義會很煩人,但實際上我真的很喜歡它。

在 iOS 上啟動 Linux 命令行
Alpine 使用套件管理器 APK,這甚至比 apt 或 pacman 更容易。

如何安裝該套件:

apk add package

如何刪除包:

apk del package

如何找到其他指令和資訊:

apk --help

套件管理器更新:

apk update
apk upgrade

安裝文字編輯器

Alpine 的預設文字編輯器是 Vi,但我更喜歡 Vim,所以我安裝了它:

apk add vim

如果需要,您可以安裝 Nano 或 Emacs。

換殼

我不了解你,但我需要 魚殼。 其他人更喜歡 巴什岩組。 然而,阿爾派使用的是灰! Ash 是 Dash shell 的一個分叉,它本身也是原始 ash 的一個分叉,或者 阿爾姆奎斯特殼。 她的首要任務是速度。 我決定用速度來換取內建的自動完成、顏色、Vim 鍵控制和語法突出顯示,這些都是我喜歡並從 Fish shell 中了解的。

魚的安裝:

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 登入歡迎消息: 歡迎來到魚,友好的互動外殼。 萬歲!

在 iOS 上啟動 Linux 命令行

設定 Python 和 pip

我決定添加 蟒蛇 (版本3.x),不只是為了寫程式碼,還因為我使用了幾個Python程式。 讓我們安裝它:

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

除了男人我用華麗 tldr 頁面項目,它提供了簡化且社區驅動的手冊頁。

我使用 pip 安裝它:

pip install tldr

團隊 tldr 當遇到新頁面的請求時,連接到網路以檢索頁面。 如果您需要知道如何使用命令,您可以編寫類似的內容 tldr curl 並獲得簡單的英語描述以及如何使用該命令的良好示例。

當然,所有這些安裝工作都可以使用自動化 點文件 或安裝腳本,但事實上這並不真正符合 Alpine 的理念——精確定制最小安裝以滿足您的需求。 再說,也花了這麼長時間,不是嗎?

更多信息

iSH Wiki 有一個頁面“什麼有效” 報告目前正在運行哪些軟體包。順便說一下,它看起來像 npm 現在無法運行.

另一個維基頁面解釋如何 訪問 iSH 文件 從 iOS 檔案應用程式。 這是移動和複製文件的方法之一。

您也可以安裝 Git(是的! apk add git )並將您的工作推送到遠端儲存庫或透過 SSH 將其傳輸到伺服器。 當然,您可以從 GitHub 下載並執行任意數量的優秀開源專案。

有關 iSH 的更多信息,請訪問以下連結:

論廣告的權利

維德西納 優惠 Linux 上的虛擬伺服器 或Windows。 我們獨家使用 品牌設備,自行設計的同類最佳伺服器控制面板,也是俄羅斯和歐盟最好的資料中心之一。 趕快下單吧!

在 iOS 上啟動 Linux 命令行

來源: www.habr.com

添加評論