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

Termux verwandelt Android in eine Linux-Entwicklungsumgebung

Sie haben also endlich herausgefunden, wie man Vim beendet, und Sie können die am besten optimierte Version von "Hello World" diesseits des Mississippi schreiben. Jetzt ist es an der Zeit, Ihr Spiel zu verbessern! Sehen Sie sich Termux für Android an.

Was ist Termux?

Termux ist ein Android-Terminalemulator und eine Linux-Umgebung. In der Praxis bedeutet dies, dass Sie Termux auf den meisten Android-Geräten installieren und fast alles tun können, was Sie in einer vollständigen Linux-Entwicklungsumgebung auf diesem Gerät tun würden. Das klingt alles cool, aber Sie fragen sich wahrscheinlich:„Warum sollte ich auf meinem Telefon auf einem Touchscreen programmieren wollen? Das klingt einfach schrecklich.“ Denken Sie mehr an Tablets in Kombination mit Tastaturen oder Chromebooks, auf denen jetzt Android-Anwendungen ausgeführt werden können. Dies sind sehr billige Geräte, die jetzt verwendet werden können, um Menschen in das Hacken und Entwickeln von Linux einzuführen. Ich weiß, dass viele von uns in der Linux-Community damit begonnen haben, Linux auf einem alten PC zu installieren.

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

Tablets und Chromebooks sind die alten, schrottreifen Computer dieser Generation. Und es gibt viel zu tun. Warum sie nicht nutzen, um die nächste Generation von Linux einzuführen? Und da Termux mit einem Klick im Google Play Store installiert werden kann, würde ich argumentieren, dass Termux der einfachste Weg ist, jemanden mit Linux vertraut zu machen. Aber überlassen Sie nicht den ganzen Spaß den Noobs. Termux kann viele Ihrer Anforderungen an eine Linux-Entwicklungsumgebung erfüllen.

Termux ist Linux, basiert aber auf Android und läuft in einem Container. Das bedeutet, dass Sie es ohne Root-Zugriff installieren können – aber es bedeutet auch, dass es etwas gewöhnungsbedürftig sein kann. In diesem Artikel werde ich einige Tipps und Tricks skizzieren, die ich gefunden habe, um Termux als Vollzeit-Entwicklungsumgebung zum Laufen zu bringen.

Wo sind all meine Sachen?

Die Basis des Termux-Dateisystems, die Sie sehen können, beginnt um /data/data/com.termux/files/ herum . Unter diesem Verzeichnis finden Sie Ihr Home-Verzeichnis und den usr Verzeichnis, in dem alle Linux-Pakete installiert sind. Das ist irgendwie seltsam, aber keine große Sache, oder? Sie würden sich irren, denn fast jedes Skript auf dem Planeten ist fest für /bin/bash codiert . Andere Bibliotheken, ausführbare Dateien und Konfigurationsdateien sind stellenweise nicht konsistent mit anderen Linux-Distributionen.

Termux stellt viele Pakete bereit, die geändert wurden, um korrekt ausgeführt zu werden. Versuchen Sie zuerst, dort nachzusehen, anstatt einen benutzerdefinierten Build zu erstellen. Allerdings müssen Sie wahrscheinlich immer noch viele Dinge nach Maß bauen. Sie können versuchen, den Quellcode Ihres Pakets zu ändern, und obwohl das Ändern von Pfaden einfach ist, wird es schnell alt. Glücklicherweise wird Termux auch mit termux-exec geliefert. Termux-exec leitet Skriptpfade spontan um, damit sie korrekt funktionieren.

Sie können immer noch auf einige hartcodierte Pfade stoßen, die termux-exec nicht verarbeitet. Da Sie in Termux keinen Root-Zugriff haben, können Sie nicht einfach einen Symlink erstellen, um Pfadprobleme zu beheben. Sie können jedoch ein Chroot-Gefängnis erstellen. Mit dem PRoot-Paket können Sie eine Chroot erstellen, über die Sie die volle Kontrolle haben und die Ihnen erlaubt, alles zu ändern, was Sie wollen. Sie können auch Chroots verschiedener Linux-Distributionen erstellen. Wenn Sie ein Fedora-Fan sind, können Sie Termux verwenden und es in einem Chroot-Gefängnis ausführen. Auf der PRoot-Seite finden Sie weitere Distributionen und Installationsdetails, oder Sie können dieses Skript verwenden, um ein Termux-Chroot-Gefängnis zu erstellen. Ich habe nur die Termux-Chroot und die Ubuntu-Chroot ausprobiert. Die Ubuntu-Chroot-Datei hatte einige Probleme, die umgangen werden mussten, daher kann Ihr Kilometerstand je nach der von Ihnen gewählten Linux-Version variieren.

Ein Benutzer, der sie alle regiert

In Termux wird alles unter einem Benutzer installiert und ausgeführt. Das ist nicht so sehr ein Problem, sondern etwas, woran man sich gewöhnen muss. Dies bedeutet auch, dass die typischen Dienste und Benutzergruppen, die Sie möglicherweise kennen, nicht zu finden sind. Und nichts startet automatisch beim Booten, also liegt es an Ihnen, das Starten und Stoppen von Diensten zu verwalten, die Sie möglicherweise verwenden, wie Datenbanken, SSH usw. Denken Sie auch daran, dass Ihr einziger Benutzer das Basissystem nicht ändern kann, also werden Sie es brauchen um eine Chroot zu verwenden, wenn Sie das tun müssen. Da Sie keine schönen, voreingestellten Startskripte haben, müssen Sie sich wahrscheinlich eigene einfallen lassen.

Für die alltägliche Entwicklung brauchte ich Postgres, Nginx und Redis. Ich hatte diese Dienste noch nie zuvor manuell gestartet; Normalerweise starten und stoppen sie für mich automatisch, und ich musste ein wenig graben, um herauszufinden, wie ich meine Lieblingsdienste starten kann. Hier ist ein Beispiel der drei Dienste, die ich gerade erwähnt habe. Hoffentlich weisen diese Beispiele Sie in die richtige Richtung, um Ihren Lieblingsdienst zu nutzen. Sie können auch in der Dokumentation eines Pakets nachsehen, wie Sie es starten und stoppen können.

Postgres

Start:pg_ctl -D $PREFIX/var/lib/postgresql start

Stopp:pg_ctl -D $PREFIX/var/lib/postgresql stop

Nginx

Start:nginx

Stopp:nginx -s stop

Redis

Start:redis-server $PREFIX/etc/redis.conf

Stopp:kill "$("$PREFIX/bin/applets/cat" "$PREFIX/var/run/redis_6379.pid"

Unterbrochene Abhängigkeiten

Android ist anders aufgebaut als andere Versionen von Linux, und sein Kernel und seine Bibliotheken stimmen nicht immer mit denen in typischer Linux-Software überein. Sie können die häufigsten Portierungsprobleme sehen, wenn Sie versuchen, Software in Termux zu erstellen. Sie können die meisten von ihnen umgehen, aber es kann zu viel Aufwand sein, alle Abhängigkeiten in Ihrer Software zu beheben.

Das größte Problem, auf das ich als Python-Entwickler gestoßen bin, ist zum Beispiel, dass der Android-Kernel keine Semaphoren unterstützt. Die Multi-Processing-Bibliothek in Python hängt von dieser Funktionalität ab, und es war zu schwierig, dies selbst zu beheben. Stattdessen habe ich es gehackt, indem ich einen anderen Bereitstellungsmechanismus verwendet habe. Bevor ich uWSGI zum Ausführen meiner Python-Webdienste verwendet habe, bin ich zu Gunicorn gewechselt. Dadurch konnte ich mithilfe der standardmäßigen Python-Multi-Processing-Bibliothek herumrouten. Möglicherweise müssen Sie ein wenig kreativ werden, um alternative Softwareabhängigkeiten zu finden, wenn Sie zu Termux wechseln, aber Ihre Liste wird wahrscheinlich sehr klein sein.

Alltags-Termux

Wenn Sie Termux täglich verwenden, sollten Sie die Tastenkombinationen für den Touchscreen oder die Hardware lernen. Sie benötigen außerdem einen Texteditor oder eine IDE zum Codieren. Alle wahrscheinlichen konsolenbasierten Editoren sind über eine schnelle Paketinstallation verfügbar:Vim, Emacs und Nano. Termux ist nur konsolenbasiert, sodass Sie keine Editoren installieren können, die auf einer grafischen Oberfläche basieren. Ich wollte sicherstellen, dass Termux über eine großartige IDE verfügt, also habe ich den webbasierten Neutron64-Editor so erstellt, dass er sich nahtlos mit Termux verbindet. Gehen Sie einfach zu Neutron64.com und installieren Sie Neutron Beam auf Termux, um mit dem Codieren zu beginnen.

Probieren Sie Termux aus und verwandeln Sie Ihre alten Android-Geräte in Entwicklungskraftwerke. Viel Spaß beim Programmieren!


Linux
  1. Flex-Entwicklung unter Linux, was ist eine gute kostenlose Umgebung?

  2. C# in Linux-Umgebung

  3. Linux:in einen Dienst verarbeiten

  4. Festlegen von Linux-Umgebungsvariablen

  5. Zugriff auf Umgebungsvariablen in Linux

So installieren Sie Entwicklungstools unter Linux

Richten Sie die lokale WordPress-Entwicklungsumgebung unter Linux ein

So installieren Sie die Python 3-Entwicklungsumgebung für Ubuntu Linux

Linux-Umgebungsvariablen

Was ist Termux auf Android?

Einrichten einer glänzenden Entwicklungsumgebung in Linux unter Windows 10