GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Führen Sie die Linux-Befehlszeile auf Ihrem iPad aus

Wussten Sie, dass Sie eine Linux-Befehlszeile auf Ihrem iOS-Gerät ausführen können? Sie fragen sich vielleicht:„Warum sollte ich textbasierte Anwendungen auf meinem winzigen iPhone verwenden?“ OK Fair genug. Das ist eine ziemlich vernünftige Frage. Aber wenn Sie Opensource.com lesen, kennen Sie wahrscheinlich die Antwort:Linux-Benutzer möchten in der Lage sein, jedes Gerät zu verwenden, und sie möchten auch ihre eigenen Anpassungen verwenden.

Und vor allem wollen sie eine Herausforderung.

Ich habe ein sieben Jahre altes iPad 2 Mini, das immer noch gut zum Lesen von E-Books und anderen Aufgaben funktioniert. Aber ich möchte es auch verwenden, um auf die Befehlszeile für Anwendungen und meine Sammlung von Programmen und Skripten zuzugreifen, auf die ich anscheinend nicht verzichten kann. Ich möchte die Umgebung, die ich gewohnt bin, sowie meine Standard-Entwicklungsumgebung. So habe ich es gemacht.

Mit einer Tastatur verbinden

Die Verwendung der Befehlszeile zum Programmieren auf der Bildschirmtastatur eines Telefons oder Tablets macht nicht viel Spaß. Ich empfehle, eine externe Tastatur anzuschließen, entweder über Bluetooth oder mithilfe eines Kameraverbindungskit-Adapters, um eine kabelgebundene Tastatur anzuschließen (meine Präferenz). Wenn ich meine geteilte Kinesis Advantage-Tastatur an mein iPhone 6 anschließe, entsteht eine seltsame Optik, wie das Cyberdeck eines Konzerns aus dem klassischen Rollenspiel Shadowrun.

Holen Sie sich eine Shell für iOS

Sie haben zwei Möglichkeiten, ein komplettes Linux-System auf iOS auszuführen:

  • Secure Shell (SSH) in einen Linux-Computer
  • Führen Sie ein virtualisiertes System mit Alpine Linux mit iSH aus, das Open Source ist, aber mit der proprietären TestFlight-App von Apple installiert werden muss

Alternativ gibt es zwei Open-Source-Terminal-Emulator-Apps, die Open-Source-Tools in einer eingeschränkten Umgebung bereitstellen. Dies ist die eingeschränkteste Option – Sie können Linux nicht wirklich ausführen, aber Sie führen Linux-Tools aus. Es gibt starke Einschränkungen hinsichtlich dessen, was Sie mit diesen Apps auf dem Gerät tun können, aber sie bieten Ihnen einige Befehlszeilenfunktionen.

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Ich schaue mir den einfachsten Ansatz an, bevor ich anspruchsvollere Lösungen untersuche.

Option 1:Eine Sandbox-Shell

Eine der einfachsten Möglichkeiten für den Einstieg ist die iOS-App LibTerm. Dies ist eine Sandbox-Open-Source-Befehlszeilen-Shell mit über 80 Befehlen, die in einer 0-Dollar-App gebündelt sind. Es wird mit Python 2.7, Python 3.7, Lua, C, Clang und mehr ausgeliefert.

In eine ähnliche Richtung geht a-Shell, das als „textbasierte Benutzeroberfläche für eine bildschirmbasierte Plattform“ beschrieben wird. a-Shell ist Open Source, befindet sich in aktiver Entwicklung, gewährt Zugriff auf das Dateisystem und wird zusammen mit Clang und Clang++ mit Lua, Python, Tex, Vim, JavaScript, C und C++ ausgeliefert. Es erlaubt Ihnen sogar, Python-Pakete mit pip zu installieren.

Option 2:SSH überall

Ein Schritt nach dem Herunterladen einer App ist die Konfiguration eines SSH-Clients. Seit langem ist es möglich, eine von vielen SSH-Client-Apps auf iOS zu verwenden, um eine Verbindung zu einem Server herzustellen, auf dem eine Linux-Distribution oder BSD ausgeführt wird. Der Vorteil der Verwendung von SSH besteht darin, dass auf Ihrem Server jede Distribution mit jeder beliebigen Software ausgeführt werden kann. Sie arbeiten remote und Ihre Ausgabe wird einfach an den Terminalemulator Ihres iOS-Geräts geleitet.

Blink Shell ist eine beliebte kostenpflichtige Open-Source-SSH-App. Außerhalb des kleinen Bildschirms ist die Verwendung dieser Software vergleichbar mit dem Herstellen einer Verbindung zu einem Server über eine andere Eingabeaufforderung. Das Terminal von Blink sieht wunderschön aus, mit einer Reihe von enthaltenen Designs und der Möglichkeit, eigene Designs zu erstellen, einschließlich der Anpassung und dem Hinzufügen neuer Schriftarten.

Option 3:Linux ausführen

Die Verwendung von SSH zum Herstellen einer Verbindung zu einem Server, auf dem Linux ausgeführt wird, ist eine großartige Möglichkeit, auf eine Eingabeaufforderung zuzugreifen, erfordert jedoch Zugriff auf einen externen Server und eine Verbindung. Dies ist nicht die schlimmste Eintrittsbarriere, aber nicht völlig zu vernachlässigen, und Sie möchten Linux vielleicht ohne diese Serveranforderung verwenden.

Wenn das Ihr Fall ist, müssen Sie an der Schneide etwas mehr ausbrechen. TestFlight ist ein proprietärer Dienst zum Bereitstellen von in der Entwicklung befindlichen Apps, bevor sie an Apples App Store übermittelt werden. Sie können die TestFlight-App aus dem Store herunterladen und sich dann für eine Reihe von Testanwendungen anmelden. Apps in TestFlight erlauben eine begrenzte Anzahl externer Betatester (in der Regel bis zu 10.000) für eine begrenzte Zeit. Um eine Test-App herunterzuladen, müssen Sie direkt von Ihrem Gerät aus auf einen Link zugreifen, der im Allgemeinen auf der Website des Entwicklers der Test-App zu finden ist.

Alpine Linux mit iSH ausführen

iSH ist eine Open-Source-TestFlight-App, die eine virtuelle Maschine mit der Alpine Linux-Distribution ausführt (aber Sie können andere Distributionen mit etwas mehr Bastelei ausführen).

Eine wichtige Einschränkung:Dies ist experimentell . Da es sich bei iSH derzeit um eine Test-App handelt, erwarten Sie keinen dauerhaften oder zuverlässigen Dienst. TestFlight-Apps sind zeitlich begrenzt. Mein aktueller Build dauert 60 Tage. Das bedeutet, dass ich in 60 Tagen ausgesperrt werde und wieder in die nächste Testphase von iSH einsteigen muss. Außerdem verliere ich meine Dateien, es sei denn, ich exportiere sie mit Files on iOS oder sichere sie auf einem Git-Host oder mit SSH. Um es klar zu sagen:Verlassen Sie sich nicht darauf, um weiterzuarbeiten! Tragen Sie hier nichts Wesentliches auf! Sichern Sie Ihre Arbeit woanders!

iSH installieren

Beginnen Sie mit der Installation von TestFlight über den App Store. Installieren Sie dann iSH, indem Sie den Installationslink über die Website abrufen. Es gibt eine andere Installationsmethode, die den AltStore verwendet, aber ich habe sie nicht ausprobiert. Wenn Sie ein kostenpflichtiges Entwicklerkonto haben, können Sie das Repo von iSH von GitHub herunterladen und selbst bereitstellen.

Über den Link installiert TestFlight eine iSH-App auf Ihrem Gerät. Wie jede andere App wird sie mit einem Symbol auf Ihrem Bildschirm angezeigt.

Pakete verwalten

iSH führt einen x86-Emulator mit Alpine Linux aus. Alpine ist eine winzige Distribution mit weniger als 5 MB. Dies war das erste Mal, dass ich Alpine lief, und ich dachte, ich wäre frustriert von einer so minimalen Distribution, aber ich habe es wirklich genossen.

Alpine verwendet den apk-Paketmanager, der sogar einfacher ist als apt oder pacman.

So installieren Sie ein Paket:

apk add package

So entfernen Sie ein Paket:

apk del package

Weitere Befehle und Informationen finden Sie mit:

apk --help

Aktualisieren Sie den Paketmanager:

apk update
apk upgrade

Holen Sie sich einen Texteditor

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

apk add vim

Sie können Nano oder Emacs installieren, wenn Sie möchten.

Hülle ändern

Ich weiß nicht, wie es euch geht, aber ich brauche die Fischschale. Andere bevorzugen Bash oder Zsh. Aber Alpine verwendet Asche! Ash ist eine Gabelung der Dash-Muschel, die selbst eine Gabelung der ursprünglichen Asche- oder Almquist-Muschel ist. Es ist auf Geschwindigkeit ausgelegt. Ich habe mich entschieden, die Geschwindigkeit zugunsten der integrierten Autovervollständigung, Farbe, Vim-Tastensteuerung und Syntaxhervorhebung einzutauschen, die ich in Fish Shell kenne und liebe.

Fisch installieren:

apk add fish

Wenn Sie stattdessen Bash und seine Vervollständigungen und Handbuchseiten möchten, müssen Sie diese und einige zusätzliche Dinge installieren:

apk add bash bash-doc bash-completion

Die minimalistische Ideologie von Alpine bedeutet im Allgemeinen, dass einige Programme, die in anderen Distributionen ein einzelnes Paket wären, in mehrere kleinere Pakete aufgeteilt werden. Das bedeutet auch, dass Sie Ihr System genau nach Ihren Wünschen anpassen und verschlanken können.

Weitere Details zur Installation von Bash finden Sie in diesem Tutorial.

Standard-Shell ändern

Nachdem Sie fish installiert haben, können Sie vorübergehend dorthin wechseln und es ausprobieren, indem Sie fish eingeben und in die Schale fallen. Aber ich möchte Fisch zu meiner Standard-Shell machen, und den chsh Befehl, den ich von anderen Distributionen gewohnt bin, funktioniert nicht.

Finden Sie zuerst heraus, wo Fish installiert ist:

which fish

Meine Ausgabe:

/usr/bin/fish

Bearbeiten Sie als Nächstes die Login-Shell, um Fisch zu verwenden. Sie können jeden Editor verwenden, mit dem Sie vertraut sind. Wenn Sie ein Anfänger sind, installieren Sie Nano (mit apk add nano ), damit Sie Konfigurationsdateien bearbeiten und mit 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 Fisch zum Standard zu machen, ändern Sie diese Zeile in:

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

Dann speichern und beenden.

Ich bin mir sicher, dass es eine gute Möglichkeit gibt, die Shell neu zu beschaffen, damit Sie sie sofort verwenden können. Da ich mir aber nicht sicher bin, empfehle ich, zum App-Browser zurückzukehren, das Beenden der Shell zu erzwingen und zur Sicherheit Ihr iPad oder iPhone herunterzufahren und neu zu starten. Eröffnen Sie iSH wieder und jetzt zusätzlich zum "Welcome to Alpine!" Nachricht und Informationen zu den ersten Schritten mit apk sehen Sie die Standard-Willkommensnachricht für die Fish-Anmeldung:Willkommen bei Fish, der freundlichen interaktiven Shell . Hurra!

Python und pip einrichten

Ich habe mich entschieden, Python (Version 3.x) hinzuzufügen, nicht nur, damit ich Code schreiben kann, sondern weil ich auf mehrere Python-Programme angewiesen bin. Installieren Sie es:

apk add python3

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

apk add python

Installieren Sie den Python-Paketmanager, Pip und Setuptools:

python3 -m ensurepip --default-pip

Es dauert einige Zeit, den Paketmanager zu installieren und einzurichten, also warten Sie einfach.

Anschließend können Sie curl, das Netzwerkübertragungstool, herunterladen:

apk add curl

Lesen Sie das Handbuch

Fish verwendet eine integrierte automatische Vervollständigung auf der Grundlage von Manpages. Wie andere Kommandozeilenbenutzer verlasse ich mich auf den man Handbuch, und Alpine wird nicht mit installiert geliefert. Also habe ich es zusammen mit dem Less-Pager installiert:

apk add man man-pages less less-doc

Zusätzlich zu man verwende ich das fabelhafte tldr-Seitenprojekt, das vereinfachte, von der Community betriebene Manpages bereitstellt.

Ich habe es mit Pip installiert:

pip install tldr

Der tldr Der Befehl stellt eine Verbindung zum Web her, um Seiten abzurufen, wenn er auf eine Anforderung für eine neue stößt. Wenn Sie lernen müssen, wie man einen Befehl verwendet, können Sie einfach so etwas wie tldr curl eingeben um eine einfache englische Erklärung und gute Beispiele für die Verwendung des Befehls zu erhalten.

Natürlich könnten Sie diese gesamte Installationsarbeit mit Punktdateien oder einem Installationsskript automatisieren, aber das würde nicht wirklich in die Alpine-Methode fallen, eine minimale Installation genau an Ihre Spezifikationen anzupassen. Außerdem hat es nicht so lange gedauert, oder?

Weitere Informationen

Das iSH-Wiki enthält eine "Was funktioniert"-Seite mit Berichten darüber, welche Pakete derzeit funktionieren. Zu beachten ist, dass npm derzeit nicht zu funktionieren scheint.

Eine weitere Wiki-Seite erklärt, wie Sie über die iOS-App „Dateien“ auf iSH-Dateien zugreifen können. Auf diese Weise können Sie Dateien verschieben und übertragen.

Du könntest auch Git installieren (yep! apk add git ) und schieben Sie Ihre Arbeit in ein Remote-Repository oder übertragen Sie sie über SSH auf einen Server. Und natürlich können Sie eine beliebige Anzahl fabelhafter Open-Source-Projekte von GitHub herunterladen und auf Ihrem System ausführen.

Weitere Informationen zu iSH finden Sie unter diesen Links:

  • iSH-Website
  • Subreddit
  • GitHub-Probleme
  • Wiki

Linux
  1. 6 Linux-Metazeichen, die ich gerne auf der Kommandozeile verwende

  2. 4 Möglichkeiten, Fotos auf der Linux-Befehlszeile zu bearbeiten

  3. Generieren Sie Passwörter auf der Linux-Befehlszeile

  4. 8 Tipps für die Linux-Kommandozeile

  5. So führen Sie TeX über die Befehlszeilenschnittstelle in Linux aus

Patchen Sie in The Matrix über die Linux-Befehlszeile

Planen Sie Ihren eigenen Feiertagskalender auf der Linux-Befehlszeile

3 Passwort-Manager für die Linux-Kommandozeile

Meistern Sie die Linux-Befehlszeile

Buchbesprechung:Die Linux-Befehlszeile

Zeigen Sie den Inhalt einer Datei in der Linux-Befehlszeile an