توسعه دهنده نرم افزار

چگونه برنامه‌های گرافیکی لینوکس را روی گوشی اندرویدی اجرا کردم؛ نکاتی که پیش از امتحان کردن باید بدانید

۱۶ تیر ۱۴۰۵ - ۱۴:۲۸ پوریا فیاضی 2 بازدید
post image

نکات کلیدی:

• اندروید فاصله چندانی با تبدیل شدن به یک سیستم‌عامل دسکتاپ کامل مبتنی بر لینوکس ندارد.

• قابلیت اجرای برنامه‌های لینوکس، این سیستم‌عامل را یک گام بزرگ به جلو می‌برد.

• بااین‌حال، این ویژگی در حال حاضر یک مشکل اساسی دارد.

مدت‌ها بود که منتظر چنین قابلیتی بودم و ارائه آن کاملاً منطقی به نظر می‌رسد. هسته اندروید بر پایه هسته لینوکس ساخته شده است و گوگل نیز پیش‌تر پشتیبانی از ترمینال لینوکس را به سیستم‌عامل موبایل خود اضافه کرده بود. با استفاده از این ترمینال می‌توان فرمان‌های لینوکس را اجرا کرد و از قابلیت‌های مختلف آن بهره برد.

اما من امکانات بیشتری می‌خواهم. می‌خواهم از طریق ترمینال لینوکس، برنامه‌های گرافیکی کامل لینوکس را روی اندروید اجرا کنم. البته می‌دانم که این کار احتمالاً روی گوشی چندان کاربردی نیست؛ زیرا برنامه‌های دسکتاپ لینوکس برای نمایشگرهایی به این کوچکی طراحی نشده‌اند. بااین‌حال، تبلت‌های اندرویدی داستان متفاوتی دارند و می‌توانند بستر مناسب‌تری برای این برنامه‌ها باشند.

متأسفانه در حال حاضر تبلت اندرویدی سازگار با ترمینال لینوکس در اختیار ندارم؛ بنابراین مجبور شدم این قابلیت را روی پیکسل ۹ پرو آزمایش کنم. نمی‌توان همیشه به نتیجه ایده‌آل رسید. بااین‌حال، پس از صرف زمان زیادی برای اجرای برنامه‌های گرافیکی لینوکس روی اندروید، مشخص شد که حتی دستیابی به بخشی از این هدف نیز فعلاً بیشتر شبیه یک رؤیاست.

اجازه دهید توضیح بدهم.

این قابلیت در حالت ایده‌آل چگونه باید کار کند؟

با انتشار اندروید ۱۷، اجرای برنامه‌های گرافیکی لینوکس روی اندروید از نظر تئوری امکان‌پذیر شد. این کار از طریق برنامه Weston انجام می‌شود؛ پیاده‌سازی مرجعی از کامپوزیتور Wayland که در حالت ایده‌آل باید امکان اجرای یک محیط گرافیکی پایه و برنامه‌های سازگار را فراهم کند.

بر اساس تمام بررسی‌هایی که درباره این موضوع انجام داده‌ام، روند راه‌اندازی این قابلیت باید نسبتاً ساده باشد:

۱. پشتیبانی از ترمینال لینوکس را فعال کنید.

۲. برنامه Terminal را باز کنید.

۳. Flatpak را نصب کنید.

۴. مخزن Flathub را فعال کنید.

۵. فرمان Weston را در ترمینال اجرا کنید.

۶. تب Display را باز کنید.

۷. ترمینال Wayland را اجرا کنید.

۸. فرمان مربوط به اجرای برنامه موردنظر را وارد کنید.

ساده به نظر می‌رسد، درست است؟ البته اگر تجربه کار با لینوکس داشته باشید.

ابتدا باید Flatpak را از داخل ترمینال لینوکس با فرمان زیر نصب کنید:

sudo apt install flatpak

سپس باید مخزن Flathub را با استفاده از فرمان زیر اضافه کنید:

sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

پس از آن نوبت به نصب یک برنامه می‌رسد. برای مثال، مرورگر Chromium را می‌توان با فرمان زیر نصب کرد:

sudo flatpak install flathub org.chromium.Chromium

برای نصب ویرایشگر تصویر GIMP نیز می‌توانید از فرمان زیر استفاده کنید:

sudo flatpak install flathub org.gimp.GIMP

نصب LibreOffice نیز با فرمان زیر انجام می‌شود:

sudo flatpak install flathub org.libreoffice.LibreOffice

در این مرحله، برنامه‌ها را نصب کرده بودم و همه‌چیز برای اجرا آماده به نظر می‌رسید.

این قابلیت در واقعیت چگونه کار می‌کند؟

از قبل پشتیبانی از ترمینال لینوکس را روی پیکسل ۹ پرو فعال کرده بودم؛ بنابراین یک مرحله جلوتر بودم. پس از ارتقای اندروید به نسخه ۱۷، مشتاق بودم این قابلیت را امتحان کنم. ترمینال را باز کردم، Flatpak را نصب کردم، مخزن Flathub را افزودم، فرمان Weston را اجرا کردم و وارد تب Display شدم.

مشکلات دقیقاً از همین‌جا آغاز شدند.

اولین نکته‌ای که متوجه شدم این بود که به‌طور پیش‌فرض تنها ۲ گیگابایت رم به ترمینال لینوکس اختصاص داده شده است و این مقدار کافی نبود. از مسیر Settings > Advanced > Memory size توانستم میزان حافظه را دو برابر کنم تا Weston حداقل از نظر تئوری بتواند به‌درستی اجرا شود.

پس از اجرای Weston، تنها کاری که باید انجام می‌دادم لمس کردن آیکون ترمینال در گوشه بالای سمت چپ پنجره Weston بود. گاهی اوقات می‌توانستم نشانگر ماوس را از پنجره Weston خارج کنم تا روی این آیکون ضربه بزنم.

برای انجام این کار باید آیکون «انگشت» موجود در نوار ابزار بالایی را لمس کرد؛ گزینه‌ای که قرار است امکان حرکت نشانگر به بیرون از پنجره را فراهم کند.

گاهی این روش کار می‌کرد و گاهی نه. برنامه ترمینال را دوباره راه‌اندازی می‌کردم و مجدداً تلاش می‌کردم، اما هیچ اتفاقی نمی‌افتاد.

مهم نبود چه کاری انجام می‌دادم؛ نمی‌توانستم برنامه ترمینال Weston را درون کامپوزیتور Weston باز کنم.

سپس تصمیم گرفتم سیستم را دور بزنم. می‌دانستم به ترمینال Weston نیاز دارم؛ بنابراین فرمان زیر را در ترمینال عادی لینوکس اجرا کردم:

weston-terminal

بالاخره موفق شدم! اکنون به ترمینال Weston دسترسی داشتم و در ظاهر می‌توانستم برنامه‌های لینوکسی نصب‌شده از طریق Flatpak را اجرا کنم. یک قدم دیگر به هدفم نزدیک شده بودم.

در ترمینال Weston فرمان زیر را اجرا کردم:

flatpak run org.chromium.Chromium

اما دوباره با مشکل دیگری مواجه شدم. این بار پیغام خطایی نمایش داده شد که اعلام می‌کرد راه‌اندازی پورتال D-Bus ناموفق بوده است.

دلیل آن چه بود؟ کامپوزیتور Weston در حال اجرا نبود.

هنوز گیج نشده‌اید؟

ترمینال Weston اجرا می‌شد، اما خود کامپوزیتور فعال نبود. از سوی دیگر، اگر کامپوزیتور را اجرا می‌کردم، دیگر نمی‌توانستم ترمینال را باز کنم.

تلاش کردم ابزار weston-calibrator را اجرا کنم، اما با دو خطای زیر مواجه شدم:

could not load cursor ‘dnd-copy’

could not load cursor ‘dnd-non’

باید توجه داشت که این ویژگی نخستین‌بار در نسخه Canary اندروید در سال ۲۰۲۵ منتشر شد؛ بنابراین زمان زیادی برای عیب‌یابی و برطرف کردن مشکلات آن وجود داشته است. بااین‌حال، مشخص است که این قابلیت هنوز با ایرادهای جدی روبه‌روست.

ممکن است این مشکل تنها به پیکسل ۹ پرو محدود باشد، اما در هر صورت این ویژگی هنوز برای استفاده عمومی آماده نیست. سیستم را ارتقا دادم، پشتیبانی از ترمینال لینوکس را حذف و دوباره فعال کردم و تقریباً هر راه‌حلی را که به ذهنم می‌رسید امتحان کردم، اما هیچ‌کدام نتیجه نداد.

پس از انجام تمام مراحل، دوباره فرمان Weston را اجرا کردم؛ به این امید که اجرای قبلی فرمان weston-terminal مشکل را برطرف کرده باشد. این بار توانستم نشانگر را از پنجره کامپوزیتور Weston خارج کنم، اما لمس کردن دکمه ترمینال هیچ واکنشی ایجاد نکرد.

حتی موفق شدم پنجره کامپوزیتور Weston را تمام‌صفحه کنم؛ بنابراین مشخص بود که دکمه‌های پنجره کار می‌کنند. بااین‌حال، دکمه ترمینال همچنان کار نمی‌کرد و نمی‌توانستم فرمان‌ها را درون کامپوزیتور Weston اجرا کنم.

در عمل، پشتیبانی از برنامه‌های گرافیکی لینوکس در اندروید فعلاً معیوب است و تا زمانی که مشکلات آن برطرف نشوند، کاربردی نخواهد بود.

یک هفته کامل برای راه‌اندازی این قابلیت وقت صرف کردم، اما تنها یک‌بار توانستم ترمینال Weston را باز کنم؛ آن هم فقط برای اینکه بلافاصله بسته شود. حتی ۵۰ درصد از حافظه رم گوشی را به برنامه ترمینال لینوکس اختصاص دادم، اما باز هم نتیجه‌ای نگرفتم.

امیدوارم این مشکلات با به‌روزرسانی بعدی اندروید برطرف شوند. پس از رفع این ایرادها، بدون شک برنامه‌های گرافیکی لینوکس را روی پیکسل ۹ پرو اجرا خواهم کرد.

دسته‌بندی: نرم افزار

درباره نویسنده

تصویر نویسنده

پوریا فیاضی

پوریا فیاضی هستم؛ فعال در حوزه تکنولوژی، توسعه وب و تولید محتوای دیجیتال. هدف من در این سایت، ارائه مطالب دقیق، قابل اعتماد و کاربردی درباره فناوری، ابزارهای دیجیتال، برنامه‌نویسی و ترندهای روز است؛ محتوایی که هم برای کاربران عمومی قابل فهم باشد و هم برای علاقه‌مندان جدی‌تر دنیای تکنولوژی ارزش داشته باشد.

مطالب پیشنهادی

مشاهده همه

در حال حاضر مطلب پیشنهادی برای نمایش وجود ندارد.

0 نظر

هنوز نظری ثبت نشده است.

ارسال نظر