Cześć, Habr! Przedstawiam Wam tłumaczenie artykułu z magazynu APC.

W tym artykule omówiono pełną instalację środowiska operacyjnego Linux wraz z graficznym interfejsem pulpitu na urządzeniach z Androidem.
Jedną z kluczowych technologii, które wykorzystuje wiele systemów Linux na Androidzie, jest . Jest to implementacja narzędzia chroot w przestrzeni użytkownika, która cieszy się dużą popularnością w systemach stacjonarnych i serwerach Linux. Jednak do działania narzędzia chroot potrzebne są uprawnienia użytkownika root, które nie są domyślnie dostępne na Androidzie. pRoot daje tę przewagę dzięki ustanowieniu powiązania z katalogiem.
Terminale Linux
Nie wszystkie emulatory terminali Linux dla Androida zawierają zestaw narzędzi BusyBox, w przeciwieństwie do na przykład Termuxa. Powodem tego jest to, że cały sens takich systemów polega na zapewnieniu "pełnej" instalacji wszystkich komponentów OS, podczas gdy BusyBox ma na celu zebranie wszystkich wspólnych narzędzi w jednym pliku binarnym. W systemach, w których BusyBox nie jest zainstalowane, używany jest bootloader dla Linuxa, zawierający pełne wersje programów.
"
Zdefiniuj nazwę użytkownika i hasło dla dystrybucji i VNC w UserLAnd.
Jednak w tych systemach istnieje dodatkowa technologia, która nie wymaga posiadania Termuxa. W tym artykule omówimy kompletną instalację dystrybucji Linux, a także pulpitu GUI. Ale najpierw należy wybrać sposób instalacji systemu graficznego.
Linux na Androidzie
Jak wspomniano wcześniej, pakiety oprogramowania, które zamierzamy zainstalować, są uruchamiane w przestrzeni użytkownika.
Oznacza to, że mają jedynie uprawnienia dla bieżącego użytkownika, który w przypadku systemu Android jest zawsze zwykłym użytkownikiem, tj. nie ma uprawnień administratora. Aby zainstalować środowisko graficzne Linux, będziemy musieli zainstalować serwer graficzny, na przykład X lub Wayland. Gdybyśmy robili to w środowisku operacyjnym Linux, uruchomiłby się on z uprawnieniami zwykłego użytkownika, nie mając dostępu do graficznego poziomu systemu Android. Dlatego musimy rozważyć instalację serwera w „standardowy” sposób dla Androida, aby miał dostęp do sprzętu i zdolność obsługi graficznego interfejsu.
Sprytni ludzie z społeczności deweloperów zaproponowali dwa rozwiązania tego problemu. Pierwsze polega na użyciu własnych wersji Linuxa (zwykle jest to serwer X). Po uruchomieniu w tle będzie można uzyskać dostęp do tego procesu w tle za pomocą VNC. Jeśli na Twoim urządzeniu z Androidem znajduje się już program VNC viewer do zdalnego połączenia z innymi komputerami, użyj go, aby uzyskać zdalny dostęp do lokalnego węzła. To proste rozwiązanie, jednak niektórzy użytkownicy zgłaszają trudności z działaniem programu.
Drugą opcją jest zainstalowanie serwera zaprojektowanego specjalnie dla urządzeń z systemem Android. Niektóre serwery są dostępne w Sklepie Play w płatnych i bezpłatnych wersjach. Przed instalacją należy sprawdzić, czy wybrany wariant jest obsługiwany lub przynajmniej działa z danym pakietem oprogramowania Linux dla Androida, który zamierzasz zainstalować. Preferowaliśmy system X-Server, dlatego użyliśmy pakietu oprogramowania XServer XSDL (). W artykule zostanie opisany proces instalacji tego serwera, chociaż może się różnić, jeśli masz zainstalowaną inną aplikację lub używasz VNC.
Wybór systemu
Podobnie jak w przypadku X-Servers, w Play Store znajduje się kilka aplikacji do instalacji dystrybucji systemu Linux. Tutaj również, jak w przypadku Termux, skupimy się na opcjach, które nie wymagają uprawnień superużytkownika, co wiąże się z pewnym ryzykiem. Aplikacje te oferują wszystkie niezbędne funkcje dla większości użytkowników, jednocześnie dbając o bezpieczeństwo danych. Poniżej przedstawiono przykłady takich aplikacji w Play Store:
— : to dość popularny wybór wśród użytkowników. Aplikacja zawiera zestaw powszechnie używanych dystrybucji: Debian, Ubuntu, Arch i Kali. Ciekawe, że mimo braku opcji opartych na RPM, UserLAnd zawiera Alpine Linux dla urządzeń z mniejszą ilością pamięci.
— : ta aplikacja pomaga w instalacji jednego lub kilku dużych list dystrybucji i może zawierać Ubuntu/Debian, Fedora/CentOS, openSUSE, a nawet Kali. Można tam również wybrać niskobudżetowe opcje desktopowe: Xfce4, MATE, LXQt i LXDE. Do działania wymagana jest zainstalowana aplikacja Termux, a system operacyjny Android powinien być w wersji 5.0 i wyższej.
— : bardzo przypomina AnLinux. Możliwe, że ma lepszy design niż poprzednia aplikacja, jednak obsługuje mniej dystrybucji.
— : ten projekt rozpoczął się jako wersja Linux na Androida i był rozwijany dla programów z otwartym kodem źródłowym. Jak podpowiada nazwa, skupia się na dystrybucjach Debiana, podczas gdy 'X' na końcu oznacza, że aplikacja jest ukierunkowana na graficzny pulpit. Mimo że twórcy zaprzestali rozwijania projektu na rzecz UserLAnd, GNURoot WheezyX wciąż jest dostępny w Play Store, jeśli ktoś potrzebuje tej aplikacji.
Autorzy tego artykułu użyją aplikacji UserLAnd do instalacji pulpitu Linux na Androidzie, z kilku powodów. Po pierwsze, aplikacja ma otwarty kod źródłowy (chociaż AnLinux też go ma). Po drugie, oferuje dobry zestaw dystrybucji (chociaż nie zawiera Fedora ani CentOS), a także pozwala na instalację dystrybucji o minimalnych wymaganiach systemowych, które nie zajmą dużo miejsca w pamięci smartfona. Jednak główną zaletą UserLAnd jest to, że dysponuje narzędziami wsparcia do instalacji pojedynczych aplikacji zamiast całych dystrybucji. Dowiemy się, co dokładnie to oznacza dla nas, później. A teraz zainstalujmy UserLAnd na Twoim urządzeniu.
Aplikacja UserLAnd
Pobierz aplikację z Google Play lub F-Droid () na system Android. Instalacja przebiega jak w przypadku każdej innej aplikacji – nie ma potrzeby robienia czegoś szczególnego. Następnie uruchom ją z panelu aplikacji.
Pierwszą rzeczą, którą tam zobaczysz, jest lista dystrybucji. Na końcu można znaleźć kilka opcji desktopowych: LXDE i Xfce4. Zamyka ją aplikacja Firefox, kilka gier oraz kilka narzędzi biurowych: GIMP, Inkscape i LibreOffice. Ta zakładka nazywa się „Aplikacje”. Jest przeznaczona do instalacji aplikacji.
Po zainstalowaniu czegokolwiek w zakładce „Sesja” pojawi się odpowiedni wpis. Możesz tutaj rozpocząć lub zatrzymać bieżącą sesję, a także zobaczyć uruchomione procesy.
„Systemy plików” – to ostatnia zakładka, która pokazuje już zakończone instalacje. Warto zauważyć, że po usunięciu jakiegokolwiek elementu z Systemów plików informacje o nim zostaną usunięte z zakładki Sesja, co jednak nie dowodzi odwrotności. Oznacza to, że będziesz mógł stworzyć nową sesję na podstawie aktualnego systemu plików. Zrozumienie, jak działa ta interakcja, jest znacznie łatwiejsze, gdy zobaczysz to w akcji, dlatego zaczniemy od instalacji aplikacji w środowisku systemowym UserLAnd.

Przed zainstalowaniem dystrybucji na smartfonie, należy przyznać UserLAnd dostęp do pamięci.
Dystrybucje w UserLAnd
Wybierz jeden z systemów operacyjnych wyświetlonych na ekranie Aplikacji do zainstalowania na urządzeniu. Przykładowo użyjemy Ubuntu. Po naciśnięciu ikony pojawi się okno dialogowe, w którym proszeni jesteście o podanie nazwy użytkownika, hasła oraz hasła VNC. Następnie wybierz sposób, w jaki będziesz uzyskiwać dostęp do systemu operacyjnego. Rozpocznie się pobieranie, podczas którego załadowany zostanie podstawowy obraz wybranego systemu. Rozpakowanie pliku zostanie przeprowadzone w katalogu UserLAnd.
Po zakończeniu pobierania wróć do emulatora terminala xterm. Możesz wpisać polecenie, aby sprawdzić, jaką wersję Linuxa zainstalowałeś:
uname –aKolejnym krokiem jest zainstalowanie pulpitu, używając polecenia Ubuntu:
sudo apt install lxdeOstatnim krokiem jest upewnienie się, że twoje nowe środowisko pulpitu jest gotowe do uruchomienia. Aby to zrobić, należy edytować plik .xinitrcfile, w którym obecnie znajduje się tylko jeden wiersz. /usr/ bin/twmNależy go zmienić na /usr/bin/startlxde. Teraz wyloguj się z sesji XSDL (upewnij się, że nacisnąłeś przycisk STOP w obszarze powiadomień), przytrzymaj przycisk „Ubuntu listing” na karcie Sesje, a następnie naciśnij „Stop Sessions” i ponownie uruchom sesje. Po kilku sekundach powinno pojawić się środowisko systemowe LXDE. Można w nim robić to samo, co na zwykłym pulpicie. Może być tylko nieco mniejsze i działać nieco wolniej: aby nacisnąć przycisk na urządzeniu, będziesz musiał poczekać dłużej, niż gdybyś to robił przy użyciu klawiatury i myszy. Zobaczmy, jak konkretnie możemy poprawić środowisko systemowe Linux na smartfonie.
Krótkie wprowadzenie do UserLAnd
Po dokładnym zbadaniu zawartości pulpitu można zauważyć dokładne odwzorowanie wersji desktopowej. Jeśli używasz UserLAnd na urządzeniu z klawiaturą i myszą (podłączonymi przez Bluetooth lub w inny sposób), łatwo będzie ci dostosować się do korzystania z systemowego środowiska Linux w takim formacie. Poza niewielkim opóźnieniem spowodowanym synchronizacją kursora X-Windows z kursorem urządzenia na Androidzie, wszystko działa płynnie.
Być może pierwszą rzeczą, którą chciałbyś zrobić, jest dostosowanie domyślnego systemu czcionek, ponieważ rozmiar czcionek na pulpicie jest zbyt duży dla ekranu telefonu. Przejdź do menu głównego, a następnie wybierz „Ustawienia” → „Dostosuj wygląd i widżety” → „Widżet”. Tutaj możesz zmienić domyślny rozmiar czcionki na bardziej odpowiedni dla swojego telefonu.
Być może następnie zechcesz zainstalować swoje ulubione programy w systemie Linux. Jak wspomniano wcześniej, polecenia systemowe w tym przypadku nie będą działać, więc śmiało korzystaj z naprawdę niezastąpionego narzędzia, które jest zainstalowane w systemie UserLAnd, o nazwie ASAP:
sudo apt install emacs 
Dystrybucje w aplikacji są reprezentowane jako sesje. Możesz je uruchomić i zamknąć.

Po zainstalowaniu dystrybucji możesz dodać środowisko graficzne za pomocą standardowych poleceń.
Prawdopodobnie będziesz także potrzebować alternatywnych sposobów nawiązania połączenia dla swojej dystrybucji. To, że początkowo zainstalowałeś XSDL, nie oznacza, że musi być on niezmienny przez cały czas. Możesz utworzyć jeszcze jedno konto na zakładce Sesja i wybrać inny serwer. Upewnij się tylko, że wskazałeś go w tym samym systemie plików. UserLAnd spróbuje skierować cię do odpowiedniej aplikacji, aby zainstalować nowy typ połączenia: albo XSDL, ConnectBot dla SSH, albo bVNC.
Jednak upór, z jakim aplikacja automatycznie kieruje cię do Play Store przy próbie ponownego połączenia, może być irytujący. Aby to przerwać, wystarczy zmienić serwer, instalując specjalną aplikację. Aby zainstalować SSH, wybierz stary, sprawdzony VX ConnectBot. Po prostu zaloguj się do portu 2022 na stacji roboczej za pomocą swojego loginu i hasła. Aby połączyć się z serwerem VNC, wystarczy zainstalować komercyjną, ale w wielu aspektach zaawansowaną aplikację Jump Desktop i wpisać adres 127.0.0.1:5951.
Mamy nadzieję, że pamiętasz hasło VNC, które ustawiłeś, gdy tworzyłeś system plików.
Uzyskaj dostęp do bieżącej sesji UserLAnd również przy użyciu podobnych narzędzi na innym komputerze w swojej sieci. Wystarczy połączyć się przez SSH z działającą sesją (z typem połączenia SSH, oczywiście) za pomocą terminala Linux, na przykład Konsole, lub połączyć się z sesją VNC za pomocą KRDC. Po prostu zastąp lokalne adresy na ekranie komputera adresami IP Twojego urządzenia z Androidem.
W połączeniu z kilkoma przenośnymi aplikacjami ta konfiguracja zapewni Ci wygodny przenośny system Linux, do którego możesz się podłączyć z dowolnego komputera, który jest akurat dostępny.
Źródło: habr.com
