Visste du att du kan köra Linux-kommandoraden på en iOS-enhet? Du kanske frågar, "Varför ska jag använda sms-appar på min iPhone?" Rättvis fråga. Men om du läser Opensource.com vet du förmodligen svaret: Linux-användare vill kunna använda det på vilken enhet som helst och vill anpassa det själva.
Men mest av allt längtar de efter att lösa komplexa problem.
Jag har en sju år gammal iPad 2 Mini som fortfarande är ganska bra för att läsa e-böcker och andra uppgifter. Men jag vill också använda den för att komma åt kommandoraden för applikationer med min uppsättning program och skript, utan vilka jag inte kan arbeta. Jag behöver en miljö som jag är van vid, samt min standardutvecklingsmiljö. Och här är hur jag lyckades uppnå detta.
Ansluter till ett tangentbord
Att arbeta med kommandoraden för programmering via skärmtangentbordet på en telefon eller surfplatta är ganska obekvämt. Jag rekommenderar att du ansluter ett externt tangentbord, antingen via Bluetooth, eller använder en kameraanslutningsadapter för att ansluta ett trådbundet tangentbord (jag valde det senare). När du ansluter Kinesis Advantage delade tangentbordet till en iPhone 6 får du en konstig enhet som liknar
Installera skalet på iOS
För att köra ett fullfjädrat Linux-system på iOS finns det två alternativ:
- Secure shell (SSH) anslutet till en Linux-dator
- Köra ett virtuellt system med Alpine Linux med iSH, som är öppen källkod men måste installeras med Apples proprietära TestFlight-applikation
Som ett alternativ finns det två terminalemulatorapplikationer med öppen källkod som ger möjlighet att arbeta med verktyg med öppen källkod i en begränsad miljö. Det här är det mest avskalade alternativet - det är faktiskt så här du kör Linux-verktyg, inte Linux. Det finns allvarliga funktionsbegränsningar när du arbetar med dessa applikationer, men du får delvis kommandoradsfunktionalitet.
Innan jag går vidare till komplexa lösningar kommer jag att titta på den enklaste metoden.
Alternativ 1: Sandlådeskal
Ett av de enklaste sätten är att installera iOS-appen
Har ungefär samma funktionalitet
Alternativ 2: SSH
Ett annat steg upp från att ladda ner en app är att ställa in en SSH-klient. Under en lång tid nu har vi kunnat använda någon av de många SSH-klientapparna för iOS för att ansluta till en server som kör Linux eller BSD. Fördelen med att använda SSH är att servern kan köra vilken distribution som helst med vilken programvara som helst. Du arbetar på distans och resultatet av ditt arbete överförs helt enkelt till terminalemulatorn på din iOS-enhet.
Alternativ 3: Starta Linux
Att använda SSH för att ansluta till en Linux-server är ett bra sätt att komma åt kommandoraden, men det kräver en extern server och en nätverksanslutning. Detta är inte det största hindret, men det kan inte ignoreras helt, så du kan behöva köra Linux utan en server.
Om detta är ditt fall måste du ta det ett steg längre.
Kör Alpine Linux med iSH
Viktig funktion: experimentell tillämpning. Eftersom iSH för närvarande är en testapplikation, förvänta dig inte konstant och pålitlig drift. TestFlight-applikationer är tidsbegränsade. Mitt nuvarande bygge kommer bara att pågå i 60 dagar. Det betyder att jag efter 60 dagar kommer att elimineras och måste gå med i nästa omgång av iSH-testning igen. Dessutom kommer jag att förlora alla mina filer om jag inte exporterar dem med Files på iOS eller kopierar dem till en Git-värd eller
Installerar iSH
Börja med installationen
Genom att använda länken kommer TestFlight att installera iSH-applikationen på din enhet. Som med alla andra program kommer en ikon att visas på skärmen.
Pakethantering
iSH kör en x86-emulator med Alpine Linux. Alpine är en liten distro som mäter mindre än 5 MB i storlek. Det här var första gången jag jobbade med Alpine, så jag trodde att minimalismen skulle vara irriterande, men jag gillade den faktiskt.
Alpine använder en pakethanterare
Så här installerar du paketet:
apk add package
Så här tar du bort ett paket:
apk del package
Så här hittar du andra kommandon och information:
apk --help
Uppdatering av pakethanteraren:
apk update
apk upgrade
Installera en textredigerare
Alpines standardtextredigerare är Vi, men jag föredrar Vim, så jag installerade den:
apk add vim
Om så önskas kan du installera Nano eller Emacs.
Skalbyte
Jag vet inte med dig, men jag behövde
Fiskinstallation:
apk add fish
Om du behöver Bash med dess autokompletterande och man-sidor, installera dem sedan:
apk add bash bash-doc bash-completion
Alpines minimalistiska ideologi innebär vanligtvis att vissa program som paketeras i andra distributioner kommer att delas upp i flera mindre paket. Det betyder också att du kan anpassa och minska storleken på ditt system precis som du vill.
För mer information om att installera Bash, se
Ändra standardskalet
Efter att ha installerat fisk kan du tillfälligt byta till den genom att gå in fish
och går in i skalet. Men jag vill göra fisk till standardskalet och kommandot chsh
, som jag använde på andra distributioner, fungerade inte.
Först tar vi reda på var fisken är installerad:
which fish
Här är vad jag fick:
/usr/bin/fish
Ändra sedan inloggningsskalet till fisk. Du kan använda vilken redigerare som helst som passar dig. Om du är nybörjare, installera sedan Nano (med kommandot apk add nano
) så att du kan redigera konfigurationsfiler och spara dem via CTRL+X, bekräfta och avsluta.
Men jag använde Vim:
vim /etc/passwd
Min första rad var så här:
root:x:0:0:root:/root:/bin/ash
För att göra fisk till standardskal, ändra denna linje till följande:
root:x:0:0:root:/root:/usr/bin/fish
Spara sedan filen och avsluta.
Jag är säker på att det finns ett bra sätt att ändra sökvägen till skalet så att det kan användas direkt. Men jag vet det inte, så jag rekommenderar att du går tillbaka till applikationswebbläsaren, tvingar dig ur skalet och för att vara på den säkra sidan, stäng av och starta om din iPad eller iPhone. Öppna iSH igen och nu, förutom meddelandet "Välkommen till Alpine!" och information om att starta från apk, kommer du att se det vanliga välkomstmeddelandet för fiskinloggning: Välkommen till fisk, det vänliga interaktiva skalet. Hurra!
Konfigurera Python och pip
Jag bestämde mig för att lägga till
apk add python3
Även om Python 2.x är föråldrat kan du installera det:
apk add python
Låt oss installera Python-pakethanteraren som heter pip och
python3 -m ensurepip --default-pip
Det kommer att ta lite tid att installera och konfigurera pakethanteraren, så vänta bara.
Du kan sedan ladda ner ett verktyg för att överföra filer över nätverket
apk add curl
Läser manualerna
Fish använder inbyggd autokomplettering baserat på man-sidor. Precis som andra kommandoradsanvändare använder jag manualen man
, men det är inte installerat i Alpine. Så jag installerade den med terminal personsökare
apk add man man-pages less less-doc
Förutom man använder jag magnifik
Jag installerade det med pip:
pip install tldr
Team tldr
ansluter till webben för att hämta sidor när den stöter på en begäran om en ny sida. Om du behöver veta hur man använder ett kommando kan du skriva något liknande tldr curl
och få en beskrivning på vanlig engelska och bra exempel på hur man använder kommandot.
Naturligtvis kan allt detta installationsarbete automatiseras med hjälp av
ytterligare information
iSH Wiki har en sida "
En annan wikisida förklarar hur
Du kan också installera Git (ja! apk add git
) och skicka ditt arbete till ett fjärrlager eller överför det till servern via SSH. Och, naturligtvis, kan du ladda ner och köra valfritt antal fantastiska projekt med öppen källkod från GitHub.
Mer information om iSH finns på dessa länkar:
Om reklamens rättigheter
Vdsina erbjuder
Källa: will.com