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
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
Ma mniej więcej taką samą funkcjonalność
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.
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.
Uruchamianie Alpine Linux z iSH
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
Instalowanie iSH
Zacznij od instalacji
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ł.
Alpine używa menedżera pakietów
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
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
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!
Konfigurowanie Pythona i pip
Zdecydowałem się dodać
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
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ć
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
apk add man man-pages less less-doc
Oprócz człowieka używam wspaniałego
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ą
informacje dodatkowe
Wiki iSH ma stronę „
Inna strona wiki wyjaśnia, jak to zrobić
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
Źródło: www.habr.com