
Czy wiesz, że możesz uruchomić wiersz poleceń? Linux na urządzeniu z systemem iOS? Możesz się zastanawiać: „Dlaczego powinienem korzystać z aplikacji do SMS-ów na urządzeniu z systemem iOS?” iPhone„To uczciwe pytanie. Ale jeśli czytasz Opensource.com, prawdopodobnie znasz odpowiedź: użytkownicy Linux chcą mieć możliwość pracy z nim na dowolnym urządzeniu i chcą używać własnych ustawień.
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
Korzystanie z wiersza poleceń do programowania za pomocą klawiatury ekranowej telefonu lub tabletu jest dość niewygodne. Polecam podłączenie zewnętrznej klawiatury, albo przez Bluetooth, albo za pomocą adaptera do aparatu, aby podłączyć klawiaturę przewodową (wybrałem tę drugą opcję). Podczas podłączania klawiatury dzielonej Kinesis Advantage do iPhone 6 otrzymasz dziwne urządzenie, które przypomina od klasyki Shadowrun.
Instalowanie powłoki na iOS
Aby uruchomić w pełni funkcjonalny system Linux W systemie iOS dostępne są dwie opcje:
- Bezpieczna powłoka (SSH) łącząca się z komputerem za pomocą Linux
- Uruchamianie systemu wirtualnego z Alpine Linux z iSH, który jest oprogramowaniem typu open source, ale musi zostać zainstalowany przy użyciu zastrzeżonej aplikacji TestFlight firmy Apple
Alternatywnie dostępne są dwie aplikacje emulatora terminala o otwartym kodzie źródłowym, które umożliwiają pracę z narzędziami o otwartym kodzie źródłowym w ograniczonym środowisku. To najbardziej uproszczona opcja – nie uruchamiasz Linuxi narzędzia LinuxKorzystanie z tych aplikacji wiąże się z poważnymi ograniczeniami, ale zapewnia 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 . To 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ść , opisany przez twórców jako „testowy interfejs użytkownika dla platformy wprowadzania ekranowego”. a-Źródła Shell są publikowane , 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 po pobraniu aplikacji jest skonfigurowanie klienta SSH. Od dawna możemy korzystać z dowolnej z wielu aplikacji klienckich SSH na iOS, aby połączyć się z serwerem działającym na Linux lub BSD. Zaletą korzystania z SSH jest to, że serwer może obsługiwać dowolną dystrybucję z dowolnym oprogramowaniem. Pracujesz zdalnie, a Twoja praca jest po prostu przenoszona do emulatora terminala na Twoim urządzeniu z systemem iOS.
to popularna płatna aplikacja SSH w . 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: Uruchomienie Linux
Łączenie się z serwerem za pomocą protokołu SSH Linux — To świetny sposób na dostęp do wiersza poleceń, ale wymaga zewnętrznego serwera i połączenia sieciowego. Nie jest to duża przeszkoda, ale nie można jej całkowicie zignorować, więc może być konieczna praca z… Linux bez serwera.
Jeśli tak jest w Twoim przypadku, musisz pójść o krok dalej. 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.
Wprowadzenie na rynek Alpine Linux z iSH
to aplikacja TestFlight o otwartym kodzie źródłowym, która uruchamia maszynę wirtualną z gotową dystrybucją (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 . 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 z App Store. Następnie zainstaluj iSH, 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 LinuxAlpine to niewielka dystrybucja, o rozmiarze mniejszym niż 5 MB. Korzystałem z niej po raz pierwszy, więc myślałem, że jej minimalizm będzie irytujący, ale tak naprawdę bardzo mi się spodobała.

Alpine używa menedżera pakietów , co jest łatwiejsze niż nawet apt lub pacman.
Jak zainstalować pakiet:
apk add packageJak usunąć paczkę:
apk del packageJak znaleźć inne polecenia i informacje:
apk --helpAktualizacja menedżera pakietów:
apk update
apk upgradeInstalowanie edytora tekstu
Domyślnym edytorem tekstu Alpine jest Vi, ale ja wolę Vima, więc go zainstalowałem:
apk add vimW razie potrzeby możesz zainstalować Nano lub Emacs.
Zmiana powłoki
Nie wiem jak ty, ale ja potrzebowałem . Inni wolą lub . Jednak Alpine używa popiołu! Popiół jest rozwidleniem powłoki Dash, która sama w sobie jest rozwidleniem oryginalnego popiołu, lub . 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 fishJeśli potrzebujesz Bash z jego autouzupełnianiem i stronami podręcznika, zainstaluj je:
apk add bash bash-doc bash-completionMinimalistyczna 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 .
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 fishOto 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/passwdMoja pierwsza linijka wyglądała tak:
root:x:0:0:root:/root:/bin/ashAby ustawić rybę jako domyślną muszlę, zmień tę linię na następującą:
root:x:0:0:root:/root:/usr/bin/fishNastępnie zapisz plik i wyjdź.
Jestem pewien, że istnieje dobry sposób na zmianę ścieżki powłoki, aby można było z niej od razu korzystać. Ale nie znam go, więc polecam powrót do przeglądarki aplikacji, wymuszenie zamknięcia powłoki i, dla bezpieczeństwa, wyłączenie i ponowne uruchomienie iPada lub… iPhoneOtwórz ponownie iSH. Teraz, oprócz komunikatu „Witamy w Alpine!” i informacji o uruchamianiu z poziomu APK, zobaczysz standardowy komunikat powitalny dotyczący logowania się do Fish: Witamy w Fish, przyjaznej interaktywnej muszli. Brawo!

Konfigurowanie Pythona i pip
Zdecydowałem się dodać (wersja 3.x), nie tylko do pisania kodu, ale także dlatego, że używam kilku programów w Pythonie. Zainstalujmy to:
apk add python3Chociaż Python 2.x jest przestarzały, możesz go zainstalować:
apk add pythonZainstalujmy menedżera pakietów Pythona o nazwie pip i :
python3 -m ensurepip --default-pipInstalacja 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ć :
apk add curlCzytanie 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 :
apk add man man-pages less less-docOprócz człowieka używam wspaniałego , 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ą 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ę „" z raportami, które pakiety są aktualnie uruchomione. Swoją drogą wygląda to tak .
Inna strona wiki wyjaśnia, jak to zrobić 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 lub Windows. Używamy wyłącznie , 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!
Źródło: www.habr.com
