Ich starte die Kommandozeile Linux auf iOS

Ich starte die Kommandozeile Linux auf iOS

Wussten Sie, dass Sie die Kommandozeile ausführen können? Linux auf einem iOS-Gerät? Sie fragen sich vielleicht: „Warum sollte ich SMS-Apps auf einem iOS-Gerät verwenden?“ iPhone„Das ist eine berechtigte Frage. Aber wenn Sie Opensource.com lesen, kennen Sie die Antwort wahrscheinlich schon: die Nutzer.“ Linux Sie möchten damit auf jedem Gerät arbeiten können und ihre eigenen Einstellungen verwenden.

Vor allem aber sehnt sie sich nach der Lösung komplexer Probleme.

Ich habe ein sieben Jahre altes iPad 2 Mini, das sich immer noch gut zum Lesen von E-Books und für andere Aufgaben eignet. Ich möchte es aber auch nutzen, um mit meinen Programmen und Skripten auf die Befehlszeile von Anwendungen zuzugreifen, ohne die ich nicht arbeiten kann. Ich brauche eine Umgebung, die ich gewohnt bin, zusätzlich zu meiner Standard-Entwicklungsumgebung. Und so ist mir das gelungen.

Anschluss an eine Tastatur

Die Programmierung über die Kommandozeile mithilfe der Bildschirmtastatur eines Smartphones oder Tablets ist recht umständlich. Ich empfehle daher den Anschluss einer externen Tastatur, entweder per Bluetooth oder mithilfe eines Kameraadapters für eine kabelgebundene Tastatur (ich habe mich für Letzteres entschieden). Beim Anschließen der Kinesis Advantage Split-Tastatur an iPhone 6. Man erhält ein seltsames Gerät, das ähnelt Unternehmens-Cyberdeck aus der Klassik Rollenspiel Schattenlauf.

Installieren der Shell unter iOS

Um ein voll funktionsfähiges System zu starten Linux Auf iOS gibt es zwei Möglichkeiten:

  • Sichere Shell (SSH)-Verbindung zu einem Computer mit Linux
  • Ausführen eines virtuellen Systems mit Alpine Linux mit iSH, das zwar Open Source ist, aber mithilfe von Apples proprietärer TestFlight-App installiert werden muss.

Alternativ gibt es zwei Open-Source-Terminalemulatoren, mit denen Sie in einer eingeschränkten Umgebung mit Open-Source-Tools arbeiten können. Dies ist die abgespeckteste Option – Sie führen die Open-Source-Tools nicht tatsächlich aus. Linuxund die Werkzeuge LinuxBei der Arbeit mit diesen Anwendungen gibt es erhebliche Einschränkungen, aber man erhält eine teilweise Befehlszeilenfunktionalität.

Bevor ich zu komplexen Lösungen übergehe, werde ich den einfachsten Weg in Betracht ziehen.

Option 1: Shell in der Sandbox

Eine der einfachsten Möglichkeiten ist die Installation der iOS-App LibTerm. Es Open Source Sandbox-Befehlsshell mit Unterstützung für über 80 Befehle zum Null-Dollar-Preis. Es kommt mit Python 2.7, Python 3.7, Lua, C, Clang und mehr.

Ungefähr die gleiche Funktionalität höllisch, von den Entwicklern als „Testbenutzeroberfläche für eine Plattform mit Bildschirmeingabe“ beschrieben. a-Shell-Quellen veröffentlicht Open-Source-Es befindet sich in der aktiven Entwicklung, bietet Dateisystemzugriff und wird mit Lua, Python, Tex, Vim, JavaScript, C und C++ sowie Clang und Clang++ ausgeliefert. Es ermöglicht Ihnen sogar, Python-Pakete mit pip zu installieren.

Option 2: SSH

Ein weiterer Schritt nach dem Herunterladen einer App ist die Einrichtung eines SSH-Clients. Schon seit Längerem können wir jede der vielen SSH-Client-Apps für iOS verwenden, um eine Verbindung zu einem Server herzustellen, auf dem … läuft. Linux oder BSD. Der Vorteil von SSH liegt darin, dass der Server jede beliebige Distribution mit beliebiger Software ausführen kann. Sie arbeiten remote, und Ihre Arbeit wird einfach an den Terminalemulator auf Ihrem iOS-Gerät übertragen.

Blink-Shell ist eine beliebte kostenpflichtige SSH-Anwendung in Open-Source-. Wenn Sie nicht auf den kleinen Bildschirm des Geräts achten, ist die Verwendung dieser Software so, als ob Sie über eine andere Befehlszeile eine Verbindung zum Server herstellen würden. Das Blink-Terminal sieht großartig aus, verfügt über viele vorgefertigte Themen und die Möglichkeit, eigene zu erstellen, einschließlich der Möglichkeit, neue Schriftarten anzupassen und hinzuzufügen.

Option 3: Starten Linux

Verwenden von SSH zum Server unter Linux Dies ist eine hervorragende Möglichkeit, auf die Kommandozeile zuzugreifen, erfordert jedoch einen externen Server und eine Netzwerkverbindung. Das ist zwar keine unüberwindbare Hürde, sollte aber nicht völlig außer Acht gelassen werden, daher müssen Sie möglicherweise damit arbeiten. Linux ohne Server.

Wenn dies bei Ihnen der Fall ist, müssen Sie noch einen Schritt weiter gehen. Testflug ist ein proprietärer Dienst zum Installieren von in der Entwicklung befindlichen Anwendungen, bevor sie im Apple App Store veröffentlicht werden. Sie können die TestFlight-App aus dem App Store installieren und dann die Test-Apps verwenden. Anwendungen in TestFlight ermöglichen einer begrenzten Anzahl von Betatestern (normalerweise bis zu 10), für eine begrenzte Zeit mit ihnen zu arbeiten. Um die Test-App herunterzuladen, müssen Sie auf Ihrem Gerät auf den Link zugreifen, der sich normalerweise auf der Website des Entwicklers der Test-App befindet.

Markteinführung von Alpine Linux mit iSH

ISH ist eine Open-Source-TestFlight-Anwendung, die eine virtuelle Maschine mit einer vorgefertigten Distribution ausführt Alpine Linux (Mit ein wenig Arbeit können Sie auch andere Distributionen ausführen).

Wichtiges Merkmal: Anwendung experimentell. Da es sich bei iSH derzeit um eine Testanwendung handelt, können Sie keine konsistente und zuverlässige Leistung erwarten. TestFlight-Anwendungen sind zeitlich begrenzt. Mein aktueller Build läuft nur 60 Tage. Das bedeutet, dass ich nach 60 Tagen ausgeschlossen werde und wieder in die nächste Phase des iSH-Tests einsteigen muss. Außerdem verliere ich alle meine Dateien, wenn ich sie nicht mit „Dateien“ auf iOS exportiere oder sie auf einen Git-Host kopiere über SSH. Mit anderen Worten: Erwarten Sie nicht, dass alles weiterhin funktioniert! Geben Sie nichts Wichtiges in das System ein! Sichern Sie an einem separaten Ort!

iSH-Installation

Beginnen Sie mit der Installation Testflug aus dem App Store. Dann installieren Sie iSH, Einen Link zur Installation erhalten von der Bewerbungswebsite. Es gibt eine andere Möglichkeit zur Installation mit AltStore, die ich jedoch nicht ausprobiert habe. Wenn Sie über ein kostenpflichtiges Entwicklerkonto verfügen, können Sie das iSH-Repository auch von GitHub herunterladen und selbst installieren.

Über den Link installiert TestFlight die iSH-App auf Ihrem Gerät. Wie bei jeder anderen Anwendung erscheint ein Symbol auf dem Bildschirm.

Paketverwaltung

iSH verwendet einen x86-Emulator mit Alpine. LinuxAlpine ist eine winzige Distribution mit weniger als 5 MB Größe. Da ich Alpine zum ersten Mal benutzt habe, dachte ich, der Minimalismus würde mich stören, aber ich fand es tatsächlich richtig gut.

Ich starte die Kommandozeile Linux auf iOS
Alpine verwendet einen Paketmanager apkDas ist einfacher als sogar Apt oder Pacman.

So installieren Sie das Paket:

apk add package

So entfernen Sie ein Paket:

apk del package

So erfahren Sie weitere Befehle und Informationen:

apk --help

Paketmanager-Update:

apk update
apk upgrade

Installieren eines Texteditors

Der Standard-Texteditor von Alpine ist Vi, aber ich bevorzuge Vim, also habe ich ihn installiert:

apk add vim

Auf Wunsch können Sie Nano oder Emacs installieren.

Shell-Wechsel

Ich weiß nicht, wie es dir geht, aber ich brauchte es Fischmuschel. Andere bevorzugen es Bash oder Zsh. Allerdings verwendet Alpine Asche! Asche ist eine Abzweigung der Dash-Shell, die selbst eine Abzweigung der ursprünglichen Asche ist, oder Almquist-Schale. Ihre Priorität ist Geschwindigkeit. Ich habe beschlossen, Geschwindigkeit gegen die integrierte automatische Vervollständigung, Farben, Vim-Schlüsselverwaltung und Syntaxhervorhebung einzutauschen, die ich liebe und aus der Fischschale kenne.

Fischinstallation:

apk add fish

Wenn Sie Bash mit seiner Autovervollständigung und Manpages benötigen, installieren Sie diese:

apk add bash bash-doc bash-completion

Die minimalistische Ideologie von Alpine bedeutet normalerweise, dass einige Programme, die auf anderen Distributionen ein einzelnes Paket sind, in mehrere kleinere Pakete aufgeteilt werden. Das bedeutet auch, dass Sie das System ganz nach Ihren Wünschen optimieren und verkleinern können.

Weitere Informationen zur Installation von Bash finden Sie unter dieses Tutorial.

Ändern der Standard-Shell

Sobald Fish installiert ist, können Sie durch Eingabe vorübergehend zu ihm wechseln fish und zur Muschel gehen. Aber ich möchte Fisch zur Standard-Shell und zum Befehl machen chsh, das ich in anderen Distributionen verwendet habe, funktionierte nicht.

Lassen Sie uns zunächst herausfinden, wo Fish installiert ist:

which fish

Folgendes ist mir passiert:

/usr/bin/fish

Als nächstes ändern Sie die Login-Shell in „fish“. Sie können jeden beliebigen Editor verwenden. Wenn Sie ein Anfänger sind, installieren Sie Nano (mit dem Befehl apk add nano), damit Sie die Konfigurationsdateien bearbeiten und über STRG+X speichern, bestätigen und beenden können.

Aber ich habe Vim verwendet:

vim /etc/passwd

Meine erste Zeile war:

root:x:0:0:root:/root:/bin/ash

Um „fish“ zur Standard-Shell zu machen, ändern Sie diese Zeile wie folgt:

root:x:0:0:root:/root:/usr/bin/fish

Speichern Sie dann die Datei und beenden Sie den Vorgang.

Ich bin mir sicher, dass es eine Möglichkeit gibt, den Shell-Pfad so zu ändern, dass er sofort verwendet werden kann. Da ich diese aber nicht kenne, empfehle ich, zum App-Browser zurückzukehren, die Shell zwangsweise zu beenden und zur Sicherheit das iPad herunterzufahren und neu zu starten. iPhoneÖffnen Sie iSH erneut, und nun sehen Sie neben der Meldung „Willkommen bei Alpine!“ und Informationen zum Starten aus der APK auch die standardmäßige Fish-Login-Willkommensmeldung: Willkommen bei fish, der freundlichen interaktiven Muschel. Hurra!

Ich starte die Kommandozeile Linux auf iOS

Python und Pip einrichten

Ich beschloss, hinzuzufügen Python (Version 3.x), nicht nur um Code zu schreiben, sondern auch weil ich mehrere Python-Programme verwende. Lass es uns installieren:

apk add python3

Obwohl Python 2.x veraltet ist, können Sie es auch installieren:

apk add python

Installieren Sie einen Python-Paketmanager namens pip and Setuptools:

python3 -m ensurepip --default-pip

Die Installation und Konfiguration des Paketmanagers wird einige Zeit in Anspruch nehmen. Seien Sie also geduldig.

Anschließend können Sie ein Tool zum Übertragen von Dateien über das Netzwerk herunterladen curl:

apk add curl

Handbücher lesen

Fish verwendet eine integrierte Autovervollständigung basierend auf Manpages. Wie andere Befehlszeilenbenutzer verwende ich das Handbuch man, und Alpine hat es nicht installiert. Also habe ich es mit einem Terminal-Pager installiert weniger:

apk add man man-pages less less-doc

Neben dem Menschen nutze ich das Prächtige Tldr-Seiten-Projekt, das vereinfachte und von der Community betriebene Manpages bereitstellt.

Ich habe es mit pip installiert:

pip install tldr

Team tldr stellt eine Verbindung zum Web her, um Seiten abzurufen, wenn eine Anfrage für eine neue Seite auftritt. Wenn Sie wissen müssen, wie man einen Befehl verwendet, können Sie so etwas schreiben wie tldr curl und erhalten Sie eine Beschreibung in einfachem Englisch und gute Beispiele für die Verwendung des Befehls.

Natürlich können alle diese Installationsarbeiten automatisiert werden Punktdateien oder ein Installationsskript, aber tatsächlich entspricht dies nicht ganz der Ideologie von Alpine, die Mindestinstallation klar an Ihre Bedürfnisse anzupassen. Außerdem hat es so lange gedauert, oder?

Weitere Informationen

Das iSH-Wiki hat eine Seite „was funktioniert" mit Berichten darüber, welche Pakete gerade ausgeführt werden. Es sieht übrigens so aus npm funktioniert momentan nicht.

Eine andere Wiki-Seite erklärt, wie Zugriff auf iSH-Dateien aus der iOS-Dateien-App. Dies ist eine der Möglichkeiten, Dateien zu verschieben und zu kopieren.

Sie können auch Git installieren (ja! apk add git ) und übertragen Sie Ihre Arbeit in ein Remote-Repository oder über SSH auf den Server. Und natürlich können Sie eine beliebige Anzahl großartiger Open-Source-Projekte von GitHub herunterladen und ausführen.

Weitere Informationen zu iSH finden Sie unter diesen Links:

Über die Rechte der Werbung

Vdsina bietet virtuelle Server auf Linux oder Windows. Wir verwenden ausschließlich Markenausrüstung, das beste interne Server-Kontrollpanel seiner Art und eines der besten Rechenzentren in Russland und der EU. Beeilen Sie sich mit der Bestellung!

Ich starte die Kommandozeile Linux auf iOS

Source: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz und VPS-VDS-Servern 🔥 Kaufen Sie zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster