Запуск Π² Linux-дистрибутивах Android-окруТСния Aliendalvik ΠΈΠ· Sailfish

ДТонас ДрСсслСр (Jonas Dressler) ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GNOME, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΡŽ GNOME Shell для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Aliendalvik (AppSupport) Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… дистрибутивах Linux. Aliendalvik прСдставляСт собой прослойку для мобильной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Sailfish, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ запуск ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Android. Π’ Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ³Π° Aliendalvik ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ ΠΏΠ°Ρ‚Ρ‡ΠΈ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠΌΡƒ сСрвСру Мutter, скрипты ΠΈ обвязки Π½Π°Π΄ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹ΠΌ сСрвСром ΠΈ систСмой Π²Π²ΠΎΠ΄Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для запуска Aliendalvik Π²Π½Π΅ окруТСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Sailfish.

Запуск Aliendalvik продСмонстрирован Π½Π° смартфонах Pinephone Pro ΠΈ Oneplus 6, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π» установлСн Π² Arch Linux с ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ GNOME Mobile. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ для взаимодСйствия Aliendalvik c ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ Sailfish ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ API Freedesktop, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, увСдомлСния ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· DBus-интСрфСйс org.freedesktop.Notification, Π° для управлСния ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ проигрыватСлями задСйствован ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» MPRIS. КаТдоС Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ΅ Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ отобраТаСтся с использованиСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Wayland-повСрхности Π² своём ΠΎΠΊΠ½Π΅, Π° для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π° примСнялся Wayland-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» «text-input».

ΠžΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Aliendalvik запускаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ инструмСнтов ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠΉ изоляции LXC, Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с хост-систСмой собраны для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM64 ΠΈ написаны с использованиСм Qt. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Waydroid, Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ Android-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, Π² Aliendalvik обСспСчСна Π±ΠΎΠ»Π΅Π΅ тСсная интСграция с хост-систСмой, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Android-прилоТСния ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΎΠΊΠ½Π°Ρ…, поддСрТиваСтся синхронизация адрСсной ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ экранная ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° Sailfish.

БистСмноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Sailfish построСно Π½Π° основС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Mer (с апрСля 2019 Π³ΠΎΠ΄Π° развиваСтся ΠΊΠ°ΠΊ составная Ρ‡Π°ΡΡ‚ΡŒ Sailfish) ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Mer-дистрибутива Nemo. Π’ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ systemd, DBus, RPM, PackageKit, PulseAudio, BlueZ, Wayland ΠΈ Qt. ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΉ сСрвСр lipstick построСн Π½Π° основС QtCompositor. Для изоляции ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ примСняСтся Firejail. Для управлСния сСтСвыми соСдинСниями задСйствован ConnMan, Π° Π² качСствС Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½ΠΎΠ³ΠΎ стСка — oFono.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru