WAYDROID na LINUXU: Android aplikace a Google Play v Zorin OS – strana 3/3
NÁVODY > KATEGORIE > Hry na Linuxu
12. Nastavení firewallu s profily „Android“ a „Veřejný“
Oficiální dokumentace Waydroidu pro UFW nebo GUFW uvádí tři příkazy: povolit port 53, povolit port 67 a nastavit výchozí politiku směrovaného provozu na allow.
- sudo ufw allow 53
- sudo ufw allow 67
- sudo ufw default allow FORWARD
Poslední příkaz mění výchozí politiku pro směrovaný provoz.
Dokumentace samotného UFW používá pro současnou syntaxi výchozí politiky označení routed:
- sudo ufw default allow routed
UFW tedy rozlišuje tři výchozí směry provozu: incoming, outgoing a routed. Právě routed označuje provoz, který není určen samotnému počítači, ale prochází přes něj dál. Manpages Ubuntu.
V tomto návodu ale nebudeme při běžném používání směrovaný provoz opakovaně povolovat a zakazovat těmito příkazy. Místo toho použijeme dva profily GUFW – Android a Veřejný – mezi kterými budeme podle potřeby přepínat.
Tento článek místo trvalého zadávání těchto příkazů používá dva přepínatelné profily GUFW.
Vytvořte a používejte tyto dva profily:
- Android: Stav Zapnuto, Příchozí Zahodit, Odchozí Povolit, Směrované Povolit, vlastní příchozí pravidla pro port 53 a port 67 s protokolem Obojí.
- Veřejný: Stav Zapnuto, Příchozí Zahodit, Odchozí Povolit, Směrované Zakázat a bez vlastních pravidel pro porty 53 a 67.
Po skončení práce s Waydroidem přepněte GUFW zpět na Veřejný. Pokud jsou profily správně uložené, GUFW při přepnutí automaticky změní pravidla portů i politiku směrovaného provozu. Při běžném používání potom nespouštějte ručně ufw default allow routed, ufw default deny routed ani ufw reload.
12.1 Proč nepoužít přímá pravidla UFW
Příkazy UFW z terminálu jsou funkční, ale v praktickém testu se neuložily jako pravidla konkrétního profilu GUFW. Zůstaly globální při přepínání mezi Kancelář a Veřejný a GUFW je zobrazoval jako neměnná. Právě proto je pro tento návod vhodnější profil Android vytvořený přímo v GUFW.
GUFW neumí měnit pravidla přidaná přímo příkazem UFW.
12.2 Zpřístupnění volby Směrované v GUFW
Aby GUFW umožnil pro každý profil řídit položku Směrované, je potřeba jednou povolit IP forwarding v souboru /etc/ufw/sysctl.conf. Povolení IP forwardingu samo o sobě nepovoluje směrovaný provoz v profilu "Veřejný". Ten zůstane zakázaný volbou "Směrované: Zakázat".
Nejdříve můžete zkontrolovat současný stav:
bash
sudo ufw status verbose
grep -n 'forward' /etc/ufw/sysctl.conf
Ve výpisu hledejte řádek Default a tři řádky forward v souboru sysctl.conf. Ve výchozím stavu bývají hodnoty forward zakomentované znakem #.
12.3 Varianta A automatická úprava
Následující příkaz vytvoří zálohu /etc/ufw/sysctl.conf.bak, odstraní znak # pouze ze tří požadovaných řádků a znovu načte firewall. Pokud již soubor sysctl.conf.bak existuje a chcete zachovat jeho obsah, nejprve jej přejmenujte nebo zazálohujte jinam.
bash
sudo cp /etc/ufw/sysctl.conf /etc/ufw/sysctl.conf.bak && sudo sed -i '/^#net\/ipv4\/ip_forward=1/s/^#//; /^#net\/ipv6\/conf\/default\/forwarding=1/s/^#//; /^#net\/ipv6\/conf\/all\/forwarding=1/s/^#//' /etc/ufw/sysctl.conf && sudo ufw reload
Potom znovu ověřte soubor:
bash
grep -n 'forward' /etc/ufw/sysctl.conf
Výsledkem musí být tyto tři aktivní řádky:
- net/ipv4/ip_forward=1
- net/ipv6/conf/default/forwarding=1
- net/ipv6/conf/all/forwarding=1
12.4 Varianta B ruční úprava
Pokud chcete změnu provést ručně, otevřete konfigurační soubor v nano.
bash
sudo nano /etc/ufw/sysctl.conf
Najděte tyto tři řádky a odstraňte jen úvodní znak #. Potom uložte klávesami Ctrl+O, potvrďte klávesou Enter a editor ukončete klávesami Ctrl+X.
- net/ipv4/ip_forward=1
- net/ipv6/conf/default/forwarding=1
- net/ipv6/conf/all/forwarding=1
bash
sudo ufw reload
Po provedení jedné z variant GUFW zavřete a znovu otevřete. Nyní se zobrazí volba Směrované.
12.5 Vytvoření profilu Android
Přepněte na profil Veřejný, který má zůstat s nastavením Stav Zapnuto, Příchozí Zahodit, Odchozí Povolit a Směrované Zakázat.
- Potom zvolte Upravit a Předvolby.
- V části Profily klikněte na tlačítko plus. Nový profil se objeví na konci seznamu jako "Profil1". (Tlačítkem „–“ naopak profily mažete.)
- Vpravo se posuvníkem posuňte dolů a uvidíte nový profil „Profil1“.
- Klikněte do názvu Profil1, přepište jej na Android, potvrďte Enter a okno zavřete tlačítkem "Zavřít".
V hlavním okně vyberte profil Android. Nejdříve je ještě převzatá výchozí politika se Směrované Zakázat. Změňte ji na Povolit.
V praktickém testu se po změně profilu osvědčilo jednou přepnout přepínač Stav ze stavu Zapnuto do stavu Vypnuto a hned zpět na Zapnuto. Tím se nastavení profilu uložilo.
Tento krok proveďte až po nastavení politiky a pravidel. Firewall je během tohoto krátkého kroku dočasně vypnutý, proto jej ihned znovu zapněte.
12.6 Přidání pravidel pro porty 53 a 67
Ujistěte se, že je vybraný profil Android.
V kartě Pravidla klikněte na plus a na kartě „Jednoduché“ vytvořte první pravidlo:
- Název: Android 53
- Pravidlo: Povolit
- Směr: Příchozí
- Protokol: Obojí
- Port: 53
Stejným způsobem přidejte druhé pravidlo pro port 67:
- Název: Android 67
- Pravidlo: Povolit
- Směr: Příchozí
- Protokol: Obojí
- Port: 67
Po přidání druhého pravidla klikněte na tlačítko „Zavřít“.
12.7 Export profilu
Pro rychlou obnovu si profil Android vyexportujte. Zvolte Soubor a Exportovat tento profil. Soubor lze později vrátit přes Soubor a Importovat profil.
Správnou funkci profilů si ověřte přepínáním v GUFW a příkazem sudo ufw status verbose. Profil Android má ve výchozí politice allow pro směrovaný provoz a pravidla 53 a 67. Veřejný má směrovaný provoz zakázaný a žádná vlastní pravidla pro tyto porty.
bash
sudo ufw status verbose
13. Praktický test přepínání profilů
V praktickém testu byla v Obchodu Play zahájena instalace aplikace Scratch. S profilem „Veřejný“ zůstala instalace ve stavu „Čeká na instalaci“. Tento profil nemá pravidla 53 a 67 a současně má Směrované Zakázat.
Po přepnutí na profil „Android“ se instalace spustila. Profil „Android“ současně poskytl povolené směrování i pravidla portů 53 a 67.
Právě toto je důvod, proč nestačí vysvětlovat „čekání instalace“ jen uzavřenými porty.
Po dokončení instalace byl profil přepnut zpět na „Veřejný“. Aplikace Scratch se následně otevřela. Spuštění již nainstalované aplikace bez aktivního stahování neprokazuje, že budou s profilem „Veřejný“ fungovat všechny její síťové funkce.
Pro zvětšení klikněte na obrázek.
14. Základní řešení potíží
14.1 Waydroid se nespustí
- Ověřte v terminálu, že jste přihlášeni do relace Wayland. Pro Debian Ubuntu deriváty je Wayland výslovně uveden v oficiální dokumentaci Waydroidu.
- echo $XDG_SESSION_TYPE
- Ověřte službu příkazem
- sudo systemctl status waydroid-container.
- Je li neaktivní, spusťte
- sudo systemctl enable --now waydroid-container.
- Pro ruční start spusťte nejprve kontejner.
- sudo waydroid container start
- A v novém okně terminálu relaci bez sudo.
- waydroid session start
Jakmile terminál oznámí Android with user 0 is ready, můžete otevřít aplikaci z nabídky Zorin.
Pro celé rozhraní Androidu použijte:
- waydroid show-full-ui
Pro více oken nastavte za běžící relace vlastnost a potom relaci zastavte. Při dalším startu se aplikace otevírají ve více oknech.
- waydroid prop set persist.waydroid.multi_windows true
- waydroid session stop
14.2 Google Play neinstaluje aplikace
- V GUFW vyberte profil Android, ne Veřejný.
- Ověřte Stav Zapnuto, Příchozí Zahodit, Odchozí Povolit, Směrované Povolit a dvě pravidla pro porty 53 a 67.
- Ověřte stav příkazem sudo ufw status verbose.
- Samotný úspěšný ping 8.8.8.8 v kontejneru waydroidu nestačí. Test ukázal, že Play Store potřeboval i povolený směrovaný provoz.
- Jestli jste právě registrovali Android ID, vyčkejte několik minut a pak proveďte waydroid session stop a znovu spusťte Waydroid.
14.3 APK se nenainstaluje nebo nespustí
- Ověřte, zda APK není pouze pro ARM. Oficiální dokumentace Waydroidu upozorňuje, že ARM APK nefungují na x86_64.
- Zkontrolujte požadovanou verzi Androidu. Aktuální obraz Waydroidu je založen na Androidu 13.
- Při otevření APK v Androidu zkontrolujte oprávnění Instalace neznámých aplikací pro konkrétní aplikaci, která APK otevírá.
- Při instalaci příkazem waydroid app install si ověřte cestu a název souboru.
14.4 Sdílená složka po restartu zmizela
Bind mount provedený příkazem mount bind není sám o sobě trvalý. Znovu jej spusťte, nebo jej nastavte trvale podle své správy systému.
14.5 Přeinstalování Waydroidu
Tento postup odstraní Waydroid, jeho data, nainstalované Android aplikace a vytvořené položky nabídky. Před pokračováním si zazálohujte důležitá data a zkontrolujte každý cíl příkazu.
- waydroid session stop
- sudo waydroid container stop
- sudo apt remove waydroid
Po odebrání Waydroidu systém restartujte.
Po přihlášení proveďte úklid podle oficiální dokumentace:
- sudo rm -rf /var/lib/waydroid /home/.waydroid ~/waydroid ~/.share/waydroid ~/.local/share/applications/*aydroid* ~/.local/share/waydroid
Pozor: Tento příkaz je nevratný a nesmíte v něm udělat chybu! Chyba může mít destruktivní následky.
bash
sudo rm -rf /var/lib/waydroid /home/.waydroid ~/waydroid ~/.share/waydroid ~/.local/share/applications/*aydroid* ~/.local/share/waydroid
Potom znovu pokračujte od instalace Waydroidu v tomto návodu.
15. Historické obrázky z roku 2024
Následující dva snímky nejsou součástí současného postupu. Jsou to historické ukázky z původní verze článku z roku 2024, provedené na notebooku Dell Latitude E6420 se Zorin OS 17.2 Core. Nezaměňujte je s testem Zorin OS 18.1 Core uvedeným v tomto návodu.
Pro zvětšení klikněte na obrázek.
Pro zvětšení klikněte na obrázek.
16. Závěr
- Waydroid dává uživateli Zorin OS možnost spouštět část Android aplikací na počítači bez samostatného Android zařízení. Na testovaném počítači fungovala instalace obrazu Android 13, registrace Google Play, instalace aplikací, jejich spuštění z nabídky Zorin, sdílení souborů i přepínání firewallových profilů.
- Při běžném používání je vhodné vybírat aplikace z „Obchodu Play“ nebo jiného důvěryhodného zdroje, používat profil „Android“ jen při práci s Waydroidem a po skončení se vracet k profilu „Veřejný“. U aplikací mimo „Obchod Play“ vždy počítejte s omezeními architektury a kompatibility.
17. Doporučené oficiální zdroje
- Waydroid:
- Dokumentace Waydroid:
- Instalace Waydroidu na desktopu:
- Waydroid - GitHub - pravidla pro předávání provozu a NAT:
- Síťové potíže a firewall UFW GUFW:
- Google Play Certification a Android ID:
- Sdílená složka:
- Instalace a spouštění Android aplikací:
- Manuál UFW pro Ubuntu:
- Manuál GUFW pro Ubuntu:
- Projekt GUFW:
PODPOŘTE OTEVŘENÉ NÁVODY A DALŠÍ ROZVOJ WEBU LINUX PRO DOMÁCNOST:
Věřím v otevřené znalosti a v to, že kvalitní návody mají být dostupné bez reklam, rušivých prvků a zbytečného trackingu. Každý článek na webu Linux pro domácnost vzniká na základě rešerše, praktického testování na reálném nebo virtuálním počítači, ověřování v různých linuxových distribucích a pečlivého zpracování krok za krokem. Často jde o práci na několik hodin, někdy i několik dnů.
Pokud Vám některý návod pomohl, ušetřil čas nebo usnadnil řešení problému, budu rád za dobrovolnou finanční podporu. A pokud se Vám myšlenka tohoto webu líbí a chcete jeho tvorbu podporovat pravidelně, podívejte se prosím na stránku: