GNU/Linux >> Znalost Linux >  >> Linux

Termux mění Android na vývojové prostředí Linuxu

Takže jste konečně přišli na to, jak ukončit Vim, a můžete napsat nejoptimalizovanější verzi „Hello World“ na této straně Mississippi. Nyní je čas zlepšit vaši hru! Podívejte se na Termux pro Android.

Co je Termux?

Termux je emulátor terminálu Android a prostředí Linuxu. V praxi to znamená, že můžete nainstalovat Termux na většinu zařízení Android a dělat téměř cokoli, co byste dělali v plném vývojovém prostředí Linuxu na tomto zařízení. To všechno zní skvěle, ale pravděpodobně se ptáte sami sebe:"Proč bych měl chtít kódovat na svém telefonu na dotykové obrazovce? To zní hrozně." Začněte přemýšlet více v duchu tablet spárovaných s klávesnicemi nebo Chromebooky, na kterých lze nyní spouštět aplikace pro Android. Jedná se o velmi levná zařízení, která lze nyní použít k seznámení lidí s hackováním a vývojem Linuxu. Vím, že mnozí z nás v linuxové komunitě začínali instalací Linuxu na starý počítač.

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Tablety a Chromebooky jsou staré, nevyžádané počítače této generace. A kolem toho je spousta. Proč je nevyužít k představení Linuxu nové generace? A protože Termux lze nainstalovat kliknutím v Obchodě Google Play, řekl bych, že Termux je nejjednodušší způsob, jak seznámit kohokoli s Linuxem. Nenechávejte ale všechnu zábavu pro nooby. Termux dokáže vyhovět mnoha vašim potřebám pro vývojové prostředí Linuxu.

Termux je Linux, ale je založen na Androidu a běží v kontejneru. To znamená, že jej můžete nainstalovat bez nutnosti přístupu root – ale také to znamená, že může chvíli trvat, než si na to zvyknete. V tomto článku nastíním několik tipů a triků, které jsem našel, aby Termux fungoval jako vývojové prostředí na plný úvazek.

Kde jsou všechny moje věci?

Základ souborového systému Termux, který můžete vidět, začíná kolem /data/data/com.termux/files/ . Pod tímto adresářem najdete svůj domovský adresář a usr adresář, kde jsou nainstalovány všechny linuxové balíčky. Je to trochu divné, ale nic velkého, že? Mýlili byste se, protože téměř každý skript na planetě je pevně zakódován pro /bin/bash . Jiné knihovny, spustitelné soubory a konfigurační soubory jsou místy nekonzistentní s jinými distribucemi Linuxu.

Termux poskytuje spoustu balíčků, které byly upraveny tak, aby fungovaly správně. Zkuste se tam nejprve podívat místo vlastního sestavení. Stále však pravděpodobně budete muset mnoho věcí sestavit na zakázku. Můžete zkusit upravit zdrojový kód balíčku, a přestože je změna cest snadná, rychle stárne. Naštěstí je Termux také dodáván s termux-exec. Termux-exec bude za běhu přesměrovávat cesty skriptů, aby správně fungovaly.

Stále můžete narazit na některé pevně zakódované cesty, které termux-exec nezvládá. Vzhledem k tomu, že v Termuxu nemáte přístup root, nemůžete pouze vytvořit symbolický odkaz pro vyřešení problémů s cestou. Můžete však vytvořit chroot vězení. Pomocí balíčku PRoot můžete vytvořit chroot, nad kterým máte plnou kontrolu a umožňuje vám upravovat cokoli chcete. Můžete také vytvořit chrooty různých distribucí Linuxu. Pokud jste fanouškem Fedory, můžete použít Termux a spustit jej v chrootovém vězení. Podívejte se na stránku PRoot, kde najdete další distribuce a podrobnosti o instalaci, nebo můžete tento skript použít k vytvoření chroot vězení Termux. Zkoušel jsem pouze chroot Termux a chroot Ubuntu. Chroot Ubuntu měl nějaké problémy, které bylo potřeba vyřešit, takže váš kilometrový výkon se může lišit v závislosti na verzi Linuxu, kterou si vyberete.

Jeden uživatel bude vládnout všem

V Termuxu se vše instaluje a běží pod jedním uživatelem. To není ani tak problém, spíš něco, na co si musíte zvyknout. To také znamená, že typické služby a skupiny uživatelů, které možná znáte, nikde nenajdete. A nic se při bootování nespouští automaticky, takže je na vás, abyste spravovali spouštění a zastavování služeb, které byste mohli používat, jako jsou databáze, SSH atd. Pamatujte také, že váš jeden uživatel nemůže upravit základní systém, takže budete potřebovat použít chroot, pokud to potřebujete udělat. Protože nemáte pěkné, přednastavené spouštěcí skripty, budete si pravděpodobně muset vymyslet nějaké vlastní.

Pro každodenní vývoj jsem potřeboval Postgres, Nginx a Redis. Nikdy předtím jsem tyto služby nespouštěl ručně; normálně se za mě spouštějí a zastavují automaticky a musel jsem trochu pátrat, abych zjistil, jak spustit své oblíbené služby. Zde je ukázka tří služeb, které jsem právě zmínil. Doufejme, že tyto příklady vás nasměrují správným směrem k používání vaší oblíbené služby. Můžete se také podívat do dokumentace balíčku, kde najdete informace o tom, jak jej spustit a zastavit.

Postgres

Začátek:pg_ctl -D $PREFIX/var/lib/postgresql start

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

Nginx

Start:nginx

Stop:nginx -s stop

Redis

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

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

Přerušené závislosti

Android je postaven jinak než ostatní verze Linuxu a jeho jádro a knihovny se ne vždy shodují s těmi v typickém linuxovém softwaru. Při pokusu o vytvoření softwaru v Termuxu můžete vidět běžné problémy s portováním. Většinu z nich můžete obejít, ale opravit všechny závislosti ve vašem softwaru může být příliš velké úsilí.

Například největší problém, na který jsem jako vývojář Pythonu narazil, je ten, že jádro Androidu nepodporuje semafory. Knihovna pro více zpracování v Pythonu závisí na této funkcionalitě a opravit to sám bylo příliš obtížné. Místo toho jsem to naboural pomocí jiného mechanismu nasazení. Než jsem používal uWSGI ke spouštění webových služeb Pythonu, přešel jsem na Gunicorn. To mi umožnilo směrovat pomocí standardní knihovny pro více zpracování Pythonu. Možná budete muset být trochu kreativní, abyste našli alternativní softwarové závislosti při přechodu na Termux, ale váš seznam bude pravděpodobně velmi malý.

Každý den Termux

Při každodenním používání Termuxu se budete chtít naučit jeho dotykovou obrazovku nebo hardwarové klávesové zkratky. Pro kódování budete také potřebovat textový editor nebo IDE. Všechny pravděpodobné editory založené na konzole jsou dostupné prostřednictvím rychlé instalace balíčku:Vim, Emacs a Nano. Termux je založen pouze na konzoli, takže nebudete moci nainstalovat žádné editory založené na grafickém rozhraní. Chtěl jsem se ujistit, že Termux bude mít skvělé IDE, takže jsem vytvořil webový editor Neutron64, který bude bezproblémově komunikovat s Termuxem. Stačí přejít na Neutron64.com a nainstalovat Neutron Beam na Termux, abyste mohli začít kódovat.

Podívejte se na Termux a proměňte svá stará zařízení se systémem Android na vývojové elektrárny. Hodně štěstí při kódování!


Linux
  1. Flex vývoj na Linuxu, jaké je dobré bezplatné prostředí?

  2. C# v prostředí linuxu

  3. Kam mám umístit knihovny třetích stran pro nastavení vývojového prostředí C++ Linux?

  1. Nastavení vývojového prostředí python virtualenv na Debian Linuxu

  2. Linux:proces do služby

  3. Android – Je Android založen na Linuxu?

  1. Kali Linux na Androidu pomocí Linux Deploy

  2. Nastavení proměnných prostředí Linuxu

  3. variabilní dostupnost prostředí v Linuxu