..

اجرا کردن فیدیبو روی گنو/لینوکس

آپدیت اردیبهشت ۱۴۰۳ anbox دیگه توسعه داده نمیشه و توسعه دهنده ابزارش داره روی پروژه anbox cloud کار میکنه که یه ابزار غیرآزاده که به شرکت canonical تعلق داره. راه حل جایگزین استفاده از Waydroid است که از همون روش اجرا کردن اندروید روی کرنل لینوکس استفاده میکنه ولی استفاده از اون به سادگی anbox نیست. برای نصب و استفاده از فیدیبو روی لینوکس مقاله جدیدم رو که درمورد Waydroid است رو میتونید مطالعه کنید.

چند وقتی هستش که دارم کتاب طریق شاهان رو روی فیدیبو میخونم ، معمولا قبل از خواب و روی گوشی موبایلم ولی از اونجایی که داستان خیلی جذاب شد دلم میخواست از طریق لپتاپم بتونم مابقی داستان رو ادامه بدم و به ساعت قبل از خواب محدود نشه ولی یه مشکل بزرگ وجود داشت ، متاسفانه فیدیبو هنوز هیچ نسخه ای رو برای وب و دسکتاپ های لینوکسی عرضه نکرده پس باید یه روشی رو پیدا میکردم که بتونم اپلیکیشنی رو که فیدیبو برای ویندوز یا اندروید منتشر کرده رو روی دستگاهم که با سیستم عامل ubuntu 1804 نصب و اجرا کنم.

اولین گزینه ای که به ذهنم رسید اجرا کردن اپلیکیشن رسمی ورژن مایکروسافت به وسیله Wine بود ولی متاسفانه با وجود نصب کردن تمامی پیش نیازهای ویندوزی به وسیله winetricks خروجی برنامه چیزی که انتظارش رو داشتم نبود و به درستی فونت هارو نمایش نمیداد. پس باید به فکر یه جایگزین میبودم پس رفتم سراغ راه حل دوم یعنی نصب اپلیکیشن اندروید.

قبلا از genymotion یا نسخه رسمی مجازی ساز اندروید روی virtualbox استفاده کرده بودم و به نظرم سنگین و به درد نخور بودن ، پس با خودم گفتم از اونجایی که با kvm راحت تری یه سرچ کن ببین چیزی وجود داره که به android-x86 رسیدم ، بعد از نصب android-x86 به وسیله virt-manager که GUI عه qemu/kvm عه به این نتیجه رسیدم که خیر به دلیل cpu overload و مصرف منابع خیلی زیاد و کارایی کم این هم به درد ما نخواهد خورد.

تقریبا داشتم از خواندن کتاب مورد علاقه ام روی لپتاپم ناامید میشدم که یادم اومد قبلا سلوشنی رو به اسم shashlik ( بله همون شیشلیک خودمون ) تست کرده بودم که میتونست برنامه های اندروید رو روی گنو/لینوکس اجرا کنه ولی پرفورمنس ضعیفی داشت وقتی به پروژه روی گیتهاب سر زدم سالها بودش که نگهداری نمیشد و کدها قدیمی شده بود پس دنبال جایگزینی برای shashlik کشتم که anbox رو پیدا کردم. anbox یه راه حلی هستش که میاد از قابلیت LXC یعنی کانتینر در سطح لینوکس برای ایزوله کردن اپلیکیشن ها تو usernamespace خودش استفاده میکنه و بحث رندرینگ گرافیکی اپلیکیشن ها و پردازش رو به وسیله کرنل لینوکس و بحث شبکه و دسترسی هارو به وسیله دیمنست خودش ردیف میکنه ، خداییش که راه حل خفنیه.

اینجا میخوام مراحل نصب و راه اندازی anbox رو توضیح بدم هرچند همه این ها تو داکیومنت های خود پروژه هم به این آدرس هست ولی خب چون چند تا مرحله کوتاه بیشتر نیست میگم

اگه مثل من ubuntu 1804 هستین و هنوز تصمیم به مهاجرت به ورژن های بالاتر رو نگرفتین باید دوتا از کرنل فیچرهایی که مربوط به اندروید هستن و تو ورژن های بعدی ابونتو به صورت پیشفرض وجود دارن رو نصب کنید یعنی ashmem و binder

به این صورت که terminal خودتون رو روی گنو/لینوکس خودتون باز میکنید و مینویسید

sudo apt install software-properties-common
sudo add-apt-repository ppa:morphis/anbox-support
sudo apt update
sudo apt install linux-headers-generic anbox-modules-dkms

و بعدش باید این کرنل ماژول هارو به وسیله modprobe فعال کنید و سیستم رو ربیوت کنید تا لود بشن

sudo modprobe ashmem_linux
sudo modprobe binder_linux
reboot

مرحله بعد نصب خود anbox هستش که به راحتی توسط snap که به صورت پیشفرض روی توزیع های ابونتو وجود داره انجام میشه

sudo snap install --devmode --beta anbox

برای نصب اپلیکیشن لازمه که قبلش adb tools رو نصب کرده باشید

sudo apt install android-tools-adb

حالا apk عه fidibo رو از این آدرس دانلود کنید و اینجوری نصبش کنید

adb install ~/Downloads/fidibo.7.8.9.apk

اگه همه چی به خوبی و خوشی پیش رفته باشه حالا میتونید فیدیبو رو با زدن

anbox.appmgr

تو لیست اپلیکیشن ها پیدا کنید و اجرا کنید

اینم نمایی از فول اسکرین برنامه فیدیبو روی گنو/لینوکس