Uruchamianie wiersza poleceń systemu Linux na iOS

Uruchamianie wiersza poleceń systemu Linux na iOS

Czy wiesz, że możesz uruchomić wiersz poleceń systemu Linux na urządzeniu z systemem iOS? Być może zastanawiasz się: „Dlaczego powinienem używać aplikacji do SMS-ów na moim iPhonie?” Uczciwe pytanie. Ale jeśli czytasz Opensource.com, prawdopodobnie znasz odpowiedź: użytkownicy Linuksa chcą móc z niego korzystać na dowolnym urządzeniu i chcą go sami dostosowywać.

Ale przede wszystkim pragną rozwiązywania złożonych problemów.

Mam siedmioletniego iPada 2 Mini, który nadal całkiem nieźle radzi sobie z czytaniem e-booków i innymi zadaniami. Jednak chcę go również używać do uzyskiwania dostępu do wiersza poleceń aplikacji z moim zestawem programów i skryptów, bez których nie mogę pracować. Potrzebuję środowiska, do którego jestem przyzwyczajony, a także mojego standardowego środowiska programistycznego. A oto jak udało mi się to osiągnąć.

Podłączanie do klawiatury

Praca z wierszem poleceń do programowania za pomocą klawiatury ekranowej telefonu lub tabletu jest dość niewygodna. Polecam podłączyć zewnętrzną klawiaturę, albo przez Bluetooth, albo za pomocą adaptera do podłączenia aparatu do podłączenia klawiatury przewodowej (wybrałem to drugie). Po podłączeniu dzielonej klawiatury Kinesis Advantage do iPhone'a 6 otrzymujesz dziwne urządzenie, które przypomina korporacyjny cyberdeck od klasyki odgrywanie ról Shadowrun.

Instalowanie powłoki na iOS

Aby uruchomić w pełni funkcjonalny system Linux na iOS, istnieją dwie opcje:

  • Bezpieczna powłoka (SSH) podłączona do komputera z systemem Linux
  • Uruchamianie systemu wirtualnego przy użyciu Alpine Linux z systemem iSH, który jest oprogramowaniem typu open source, ale należy go zainstalować przy użyciu zastrzeżonej aplikacji Apple TestFlight

Alternatywnie istnieją dwie aplikacje emulujące terminal o otwartym kodzie źródłowym, które umożliwiają pracę z narzędziami o otwartym kodzie źródłowym w ograniczonym środowisku. Jest to najbardziej uproszczona opcja - w rzeczywistości w ten sposób uruchamiane są narzędzia systemu Linux, a nie Linux. Podczas pracy z tymi aplikacjami istnieją poważne ograniczenia funkcji, ale można uzyskać częściową funkcjonalność wiersza poleceń.

Zanim przejdę do skomplikowanych rozwiązań, przyjrzę się najprostszej metodzie.

Opcja 1: Powłoka piaskownicy

Jednym z najprostszych sposobów jest zainstalowanie aplikacji na iOS LibTerm. To otwarte źródło Powłoka poleceń w trybie piaskownicy z obsługą ponad 80 poleceń za zero dolarów. Jest dostarczany w pakiecie z Pythonem 2.7, Pythonem 3.7, Lua, C, Clang i wieloma innymi.

Ma mniej więcej taką samą funkcjonalność jak diabli, opisany przez twórców jako „testowy interfejs użytkownika dla platformy wprowadzania ekranowego”. a-Źródła Shell są publikowane open source, jest w fazie aktywnego rozwoju, zapewnia dostęp do systemu plików i jest wyposażony w Lua, Python, Tex, Vim, JavaScript, C i C++, a także Clang i Clang++. Pozwala nawet na instalację pakietów Pythona metodą pip.

Opcja 2: SSH

Kolejnym krokiem od pobrania aplikacji jest skonfigurowanie klienta SSH. Już od dłuższego czasu możemy używać dowolnej z wielu aplikacji klienckich SSH dla systemu iOS do łączenia się z serwerem z systemem Linux lub BSD. Zaletą korzystania z SSH jest to, że na serwerze można uruchomić dowolną dystrybucję z dowolnym oprogramowaniem. Pracujesz zdalnie, a wyniki Twojej pracy po prostu przesyłane są do emulatora terminala na Twoim urządzeniu z systemem iOS.

Migająca skorupa to popularna płatna aplikacja SSH w open source. Jeśli zignorujesz mały ekran urządzenia, korzystanie z tego oprogramowania jest podobne do łączenia się z serwerem za pomocą dowolnej innej linii poleceń. Blink Terminal wygląda świetnie, ma wiele gotowych motywów i możliwość tworzenia własnych, w tym możliwość dostosowywania i dodawania nowych czcionek.

Opcja 3: Uruchom Linuksa

Używanie protokołu SSH do łączenia się z serwerem Linux to świetny sposób na uzyskanie dostępu do wiersza poleceń, ale wymaga zewnętrznego serwera i połączenia sieciowego. Nie jest to największa przeszkoda, ale nie można jej całkowicie zignorować, więc może zaistnieć potrzeba uruchomienia Linuksa bez serwera.

Jeśli tak jest w Twoim przypadku, musisz pójść o krok dalej. Lot testowy to autorska usługa umożliwiająca instalację opracowanych aplikacji jeszcze przed ich publikacją w Apple App Store. Możesz zainstalować aplikację TestFlight ze sklepu App Store, a następnie używać aplikacji testowych. Aplikacje w TestFlight pozwalają ograniczonej liczbie beta testerów (zwykle do 10 000) pracować z nimi przez ograniczony czas. Aby pobrać aplikację testową, należy przejść ze swojego urządzenia do linku, który zwykle znajduje się na stronie internetowej twórcy aplikacji testowej.

Uruchamianie Alpine Linux z iSH

ISH to aplikacja TestFlight o otwartym kodzie źródłowym, która uruchamia maszynę wirtualną z gotową dystrybucją Alpine Linux (przy odrobinie wysiłku możesz uruchomić inne dystrybucje).

Ważna funkcja: eksperymentalne zastosowanie. Ponieważ iSH jest obecnie aplikacją testową, nie należy oczekiwać stałego i niezawodnego działania. Aplikacje TestFlight są ograniczone czasowo. Moja obecna wersja będzie trwać tylko 60 dni. Oznacza to, że po 60 dniach zostanę wyeliminowany i będę musiał ponownie przystąpić do kolejnej rundy testów iSH. Co więcej, stracę wszystkie moje pliki, chyba że wyeksportuję je za pomocą Plików na iOS lub skopiuję je na host Git lub przez SSH. Innymi słowy: Nie oczekuj, że to będzie nadal działać! Nie umieszczaj w systemie niczego ważnego dla Ciebie! Utwórz kopię zapasową w osobnej lokalizacji!

Instalowanie iSH

Zacznij od instalacji Lot testowy z App Store. Następnie zainstaluj iSH, otrzymałem link instalacyjny ze strony internetowej aplikacji. Istnieje inna metoda instalacji przy użyciu AltStore, ale jej nie próbowałem. Lub, jeśli masz płatne konto programisty, możesz pobrać repozytorium iSH z GitHub i zainstalować je samodzielnie.

Korzystając z linku, TestFlight zainstaluje aplikację iSH na Twoim urządzeniu. Podobnie jak w przypadku każdej innej aplikacji, na ekranie pojawi się ikona.

Zarządzanie pakietami

iSH uruchamia emulator x86 z Alpine Linux. Alpine to mała dystrybucja, mierząca mniej niż 5 MB. To była moja pierwsza praca z Alpine, więc pomyślałem, że minimalizm będzie denerwujący, ale naprawdę mi się podobał.

Uruchamianie wiersza poleceń systemu Linux na iOS
Alpine używa menedżera pakietów apk, co jest łatwiejsze niż nawet apt lub pacman.

Jak zainstalować pakiet:

apk add package

Jak usunąć paczkę:

apk del package

Jak znaleźć inne polecenia i informacje:

apk --help

Aktualizacja menedżera pakietów:

apk update
apk upgrade

Instalowanie edytora tekstu

Domyślnym edytorem tekstu Alpine jest Vi, ale ja wolę Vima, więc go zainstalowałem:

apk add vim

W razie potrzeby możesz zainstalować Nano lub Emacs.

Zmiana powłoki

Nie wiem jak ty, ale ja potrzebowałem skorupa rybna. Inni wolą Bash lub Zsh. Jednak Alpine używa popiołu! Popiół jest rozwidleniem powłoki Dash, która sama w sobie jest rozwidleniem oryginalnego popiołu, lub Skorupa Almquista. Jej priorytetem jest szybkość. Zdecydowałem się zamienić prędkość na wbudowane autouzupełnianie, kolory, kontrolki klawiszy Vima i podświetlanie składni, które uwielbiam i znam z muszli ryby.

Instalacja rybna:

apk add fish

Jeśli potrzebujesz Bash z jego autouzupełnianiem i stronami podręcznika, zainstaluj je:

apk add bash bash-doc bash-completion

Minimalistyczna ideologia Alpine zwykle oznacza, że ​​niektóre programy spakowane w innych dystrybucjach zostaną podzielone na kilka mniejszych pakietów. Oznacza to również, że możesz dostosować i zmniejszyć rozmiar swojego systemu dokładnie tak, jak chcesz.

Aby uzyskać więcej informacji na temat instalowania Basha, zobacz ten poradnik.

Zmiana domyślnej powłoki

Po zainstalowaniu ryby możesz tymczasowo się do niej przełączyć wchodząc fish i wchodzę do skorupy. Ale chcę, aby ryba była domyślną powłoką i poleceniem chsh, którego użyłem w innych dystrybucjach, nie działało.

Najpierw dowiadujemy się, gdzie zainstalowana jest ryba:

which fish

Oto co dostałem:

/usr/bin/fish

Następnie zmień powłokę logowania na fish. Możesz użyć dowolnego dogodnego dla Ciebie edytora. Jeśli jesteś początkujący, zainstaluj Nano (za pomocą polecenia apk add nano), abyś mógł edytować pliki konfiguracyjne i zapisać je za pomocą CTRL+X, zatwierdź i wyjdź.

Ale użyłem Vima:

vim /etc/passwd

Moja pierwsza linijka wyglądała tak:

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

Aby ustawić rybę jako domyślną muszlę, zmień tę linię na następującą:

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

Następnie zapisz plik i wyjdź.

Jestem pewien, że istnieje dobry sposób na zmianę ścieżki do powłoki, aby można było z niej od razu skorzystać. Ale tego nie wiem, więc radzę wrócić do przeglądarki aplikacji, wymusić wyjście z powłoki i dla bezpieczeństwa wyłączyć i ponownie uruchomić iPada lub iPhone'a. Otwórz iSH ponownie i teraz, oprócz komunikatu „Witamy w Alpine!” i informację o uruchomieniu z apk, zobaczysz standardową wiadomość powitalną przy logowaniu do fish: Witamy w Fish, przyjaznej interaktywnej muszli. Brawo!

Uruchamianie wiersza poleceń systemu Linux na iOS

Konfigurowanie Pythona i pip

Zdecydowałem się dodać Python (wersja 3.x), nie tylko do pisania kodu, ale także dlatego, że używam kilku programów w Pythonie. Zainstalujmy to:

apk add python3

Chociaż Python 2.x jest przestarzały, możesz go zainstalować:

apk add python

Zainstalujmy menedżera pakietów Pythona o nazwie pip i narzędzia konfiguracyjne:

python3 -m ensurepip --default-pip

Instalacja i konfiguracja menedżera pakietów zajmie trochę czasu, więc po prostu poczekaj.

Następnie możesz pobrać narzędzie do przesyłania plików przez sieć curl:

apk add curl

Czytanie podręczników

Fish korzysta z wbudowanego autouzupełniania opartego na stronach podręcznika. Podobnie jak inni użytkownicy wiersza poleceń, korzystam z instrukcji man, ale nie jest zainstalowany w Alpine. Zainstalowałem go więc za pomocą pagera terminalowego mniej:

apk add man man-pages less less-doc

Oprócz człowieka używam wspaniałego projekt stron tldr, który zapewnia uproszczone i tworzone przez społeczność strony podręcznika.

Zainstalowałem go za pomocą pip:

pip install tldr

Zespół tldr łączy się z Internetem, aby pobrać strony, gdy napotka żądanie nowej strony. Jeśli chcesz wiedzieć, jak używać polecenia, możesz napisać coś takiego tldr curl i uzyskaj opis w prostym języku angielskim oraz dobre przykłady użycia polecenia.

Oczywiście wszystkie te prace instalacyjne można zautomatyzować za pomocą pliki z kropkami lub skrypt instalacyjny, ale tak naprawdę nie odpowiada to ideologii Alpine – dostosowywaniu minimalnej instalacji ściśle do Twoich potrzeb. Poza tym trwało to tak długo, prawda?

informacje dodatkowe

Wiki iSH ma stronę „co działa" z raportami, które pakiety są aktualnie uruchomione. Swoją drogą wygląda to tak npm nie działa teraz.

Inna strona wiki wyjaśnia, jak to zrobić uzyskaj dostęp do plików iSH z aplikacji Pliki na iOS. Jest to jeden ze sposobów przenoszenia i kopiowania plików.

Możesz także zainstalować Git (tak! apk add git ) i wypchnij swoją pracę do zdalnego repozytorium lub prześlij ją na serwer przez SSH. I oczywiście możesz pobrać i uruchomić dowolną liczbę świetnych projektów open source z GitHub.

Więcej informacji o iSH można znaleźć pod tymi linkami:

O prawach reklamy

Wdsina oferuje serwery wirtualne w systemie Linux lub Windowsa. Używamy wyłącznie markowy sprzęt, najlepszy w swoim rodzaju panel kontrolny do serwerów własnej konstrukcji i jedno z najlepszych centrów danych w Rosji i UE. Pośpiesz się z zamówieniem!

Uruchamianie wiersza poleceń systemu Linux na iOS

Źródło: www.habr.com

Dodaj komentarz