نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • ویندوز فون
  • نصب لینوکس در سیستم اندروید نصب برنامه های لینوکس بر روی گوشی هوشمند دارای اندروید

نصب لینوکس در سیستم اندروید نصب برنامه های لینوکس بر روی گوشی هوشمند دارای اندروید

اجرای لینوکس در اندروید امکان پذیر است! و برای این کار به دستگاه روت شده نیاز ندارید: تمام نرم افزارهای لازم در فروشگاه رسمی Google Play موجود است. تنها در 10 تا 15 دقیقه می توانید سیستم عاملی را دریافت کنید که از نظر عملکرد پیشرفته با اندروید متفاوت است.

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

قبل از نصب، تمام برنامه های غیر ضروری را ببندید و رم دستگاه اندرویدی خود را پاک کنید.

1. از فروشگاه Google Play، GNURoot Debian و XServer XSDL را نصب کنید.

2. قبل از شروع نصب لینوکس، مطمئن شوید که دستگاه شما به یک شبکه Wi-Fi پایدار متصل است. GNURoot را راه اندازی کنید. بسته های محیطی مورد نیاز دانلود خواهند شد.

بسته به سرعت اتصال اینترنت شما، نصب از 30 ثانیه تا چند دقیقه طول می کشد. تا زمانی که پیام زیر ظاهر شود، علامت‌ها را نادیده بگیرید:

root@localhost:/#

برای کسانی که با مفهوم "" آشنا هستند، اجازه ندهید این خط شما را بترساند: برنامه هیچ آسیبی به دستگاه وارد نمی کند، زیرا در یک "جعبه شنی" کار می کند.

3. دستور زیر را وارد کنید:

آپدیت apt-get

صبر کنید تا بسته ها دانلود شوند. این با خط خواندن لیست های بسته...انجام شد نشان داده می شود.

4. حالا یک خط دیگر وارد کنید:

apt-get ارتقاء

در پاسخ به سوال "آیا می خواهید ادامه دهید؟" حرف Y انگلیسی را وارد کرده و Enter را فشار دهید. نصب بسته ها آغاز خواهد شد.

این بار مراحل نصب کمی بیشتر طول می کشد. صبورانه منتظر بمانید تا نصب کامل شود تا خط مورد نظر ظاهر شود:

root@localhost:/#

محیط لینوکس دبیان نصب شده است و اکنون می توانید به استقرار پوسته گرافیکی ادامه دهید.

5. نصب تمام بسته های توزیع لینوکس با دستور زیر انجام می شود:

apt-get نصب lxde

همچنین گزینه ای برای نصب هسته سیستم با استفاده از خط زیر وجود دارد:

apt-get lxde-core را نصب کنید

نصب را با وارد کردن مجدد Y و فشردن Enter تایید کنید. فرآیند دانلود بسته آغاز خواهد شد.

در حین نصب، مطمئن شوید که همه فایل‌ها با موفقیت دانلود شده‌اند و هنگام باز کردن بسته‌بندی، فضای خالی دستگاه شما تمام نمی‌شود. در غیر این صورت، راه اندازی سیستم با شکست مواجه می شود.

6. برای تکمیل نصب سیستم عامل، باید سه ابزار اضافی را دانلود کنید:

  • XTerm - برای دسترسی به ترمینال از پوسته گرافیکی لینوکس.
  • Synaptic Package Manager - برای مدیریت بسته های apt و دانلود برنامه ها.
  • Pulseaudio - برای نصب درایورهای صدا.

هر سه ابزار با استفاده از یک دستور ترمینال GNURoot نصب می شوند:

apt-get نصب xterm synaptic pulseaudio

تقریباً 260 مگابایت داده در دستگاه دانلود می شود.

7. اکنون برنامه GNURoot را کوچک کنید و XServer XSDL را که قبلاً نصب شده است باز کنید. با بارگیری فونت های اضافی موافقت کنید. پس از اتمام نصب، چندین بار روی صفحه ضربه بزنید (برنامه از شما می خواهد که وضوح و اندازه فونت را انتخاب کنید - همه اینها به ترجیحات شما بستگی دارد) تا زمانی که یک صفحه نمایش با پس زمینه آبی و متن سفید را مشاهده کنید.

GNURoot را دوباره راه اندازی کنید و دو دستور زیر را یکی پس از دیگری وارد کنید:

صادرات DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4712
startlxde &

ترتیب راه اندازی مجدد سیستم (زمانی که می خواهید دوباره لینوکس را باز کنید) به این صورت است: XServer XSDL را راه اندازی کنید و منتظر بمانید تا صفحه آبی ظاهر شود، GNURoot را باز کنید و دو دستور بالا را وارد کنید، به XServer XSDL برگردید.

اگر ترمینال از دستور نامعتبر شکایت کرد، به مرحله 5 این دستورالعمل ها برگردید و سعی کنید یک هسته خالی را نصب کنید. وضعیت حافظه دستگاه اندرویدی خود را بررسی کنید.

8. اکنون XServer XSDL را باز کنید، چند ثانیه صبر کنید و لینوکس آماده کار خواهید بود.

برای نصب برنامه ها، در گوشه پایین سمت چپ، منوی Start را باز کرده و Run را انتخاب کنید. Synaptic را تایپ کرده و Enter را فشار دهید.

در پنجره باز شده از جستجو استفاده کنید و اپلیکیشن های لازم را نصب کنید. این می تواند مرورگر فایرفاکس، ویرایشگر تصویر GIMP، مجموعه آفیس Libre و سایر برنامه های سازگار با لینوکس باشد.

البته این گزینه برای نصب لینوکس را نمی توان راه اندازی تمام عیار سیستم عامل در اندروید نامید. لینوکس مجازی چندین محدودیت دارد، اما اگر از ماوس و صفحه کلید بی‌سیم استفاده می‌کنید (احتمالاً با یک آداپتور OTG و یک هاب USB متصل می‌شوید)، می‌توانید تلفن هوشمند یا تبلت خود را به لپ‌تاپ با عملکرد یک سیستم‌عامل بزرگسالان تبدیل کنید.

بسیاری از کاربران مدرن رایانه یا دستگاه های تلفن همراه حداقل در مورد سیستم عاملی مانند لینوکس شنیده اند. اما کمتر کسی می داند که تلفن همراه محبوب نیز بر اساس این سیستم معروف به امنیت ساخته شده است. طبیعتاً ذهن های کنجکاو یک سوال داشتند - آیا می توان لینوکس را روی تبلت نصب کرد؟ یا در گوشی هوشمند؟ تعجب خواهید کرد، اما ممکن است.

چرا نیاز است؟

ابتدا بیایید بفهمیم که چرا ممکن است به لینوکس در دستگاه تلفن همراه نیاز داشته باشید. یک کاربر معمولی معمولی احتمالاً به این مقدار نیاز ندارد، اما متخصصانی نیز وجود دارند، به عنوان مثال، توسعه دهندگان، مدیران و دیگران. البته، به عنوان یک ابزار کار اصلی، این یک تصمیم نسبتا بحث برانگیز است. اما اگر آن را به عنوان یک دستیار تلفن همراه در نظر بگیریم که در جاده یا جایی دور از رایانه اصلی کمک می کند، این گزینه حق حیات دارد.

بله، ممکن است برای کاربران عادی لینوکس نیز مفید باشد. همیشه راحت تر است که نسخه های کامل نرم افزار را در دسترس داشته باشید، به عنوان مثال، برنامه های اداری، یک کلاینت برای شبکه های تورنت، و بسیاری دیگر. علاوه بر این، فراموش نکنیم که این عملاً همان سیستم عامل رایانه است، بنابراین، کل نرم افزارهای مختلف برای لینوکس، در بیشتر موارد، بدون هیچ مشکلی روی تبلت نصب و کار می کنند.

اگر قبلاً علاقه مند بوده اید، اکنون تعجب می کنید که نصب لینوکس بر روی دستگاه تلفن همراه چقدر دشوار است. احتمالاً شنیده اید که چگونه ادمین های ریشو در ژاکت های بافتنی ماشین های خود را در شب پیکربندی می کنند و فکر می کنند که فقط تعداد کمی از آنها می توانند این روند را انجام دهند، اما اینطور نیست. اولاً ، هر سال لینوکس بیشتر و بیشتر کاربرپسند می شود (ظاهراً برای محبوب کردن سیستم ، و این تا حدی کار می کند) و ثانیاً ، بسیاری از نصب کننده های خودکار و دستورالعمل های دقیق به طور خاص برای نصب در دستگاه های تلفن همراه ایجاد شده اند. و در حالی که یک کاربر بی تجربه ممکن است با دومی مشکل داشته باشد، با اولی، اغلب همه چیز مانند ساعت پیش می رود.

نحوه نصب و آنچه برای این مورد نیاز است

بنابراین، هنوز تصمیم گرفتید لینوکس را روی رایانه لوحی خود نصب کنید. آنچه برای این کار نیاز خواهید داشت:

  • خود دستگاه (هسته سیستم عامل باید از دستگاه های حلقه پشتیبانی کند، فرکانس ساعت حداقل 1 گیگاهرتز است - همه این داده ها را می توان به راحتی در اسناد دستگاه یا در شبکه یافت).
  • حقوق ریشه به دست آمده بر روی آن؛
  • حدود 4 گیگابایت حافظه رایگان؛
  • پشتیبانی از سیستم فایل Ext2

لازم به ذکر است که اکثر تبلت ها این مشخصات را دارا هستند، بنابراین نباید مشکلی داشته باشید.

پس از اینکه مطمئن شدید که دستگاه شما تمام الزامات را برآورده می کند، باید تصویر سیستم و اسکریپت نصب را دانلود کنید. تعداد کمی از آنها وجود دارد، توصیه می کنیم از Ubuntu Installer به عنوان یکی از ساده ترین و شهودی ترین آنها استفاده کنید. و خود اوبونتو حتی برای کاربران کاملاً بی تجربه کاملاً دوستانه است.


دو نسخه از تصاویر اوبونتو برای تبلت ها وجود دارد - یک نسخه آزمایشی، با حداقل مقدار نرم افزار از پیش نصب شده، و یک نسخه حداکثر، با تمرکز بر استفاده روزمره (با مجموعه آفیس از قبل نصب شده، مشتری تورنت، برنامه ایمیل، ابزارهای توسعه برای چندین زبان برنامه نویسی محبوب و غیره).

علاوه بر تصویر و اسکریپت، به یک شبیه ساز ترمینال برای اندروید و VNC Viewer نیز نیاز خواهید داشت. همچنین فراموش نکنید که آن را در تنظیمات سیستم فعال کنید.


الگوریتم بسیار ساده است - شبیه ساز ترمینال را راه اندازی کنید و سه دستور را وارد کنید:

- سی دی / sdcard / اوبونتو

- sh ubuntu.sh

پس از آن اسکریپت از شما یک وضوح (مثلاً 1024x768 یا دیگری) و اگر حداکثر تصویر را دانلود کرده اید، پوسته گرافیکی که می خواهید در آن کار کنید، درخواست می کند. شما بین Gnome و LXDE یک انتخاب دارید، در دستگاه های تلفن همراه بهتر است گزینه دوم را انتخاب کنید.

پاسخ به چند درخواست دیگر باقی مانده است: ورود / رمز عبور (ubuntu/ubuntu)، آدرس IP (localhost) و پورت (5900). تمام شد، قبل از شما یک اوبونتو کامل با پوسته LXDE است.


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

اجرای لینوکس در اندروید امکان پذیر است! و برای این کار به دستگاه روت شده نیاز ندارید: تمام نرم افزارهای لازم در فروشگاه رسمی Google Play موجود است. تنها در 10 تا 15 دقیقه می توانید سیستم عاملی را دریافت کنید که از نظر عملکرد پیشرفته با اندروید متفاوت است.

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

قبل از نصب، تمام برنامه های غیر ضروری را ببندید و رم دستگاه اندرویدی خود را پاک کنید.

1. از فروشگاه Google Play، GNURoot Debian و XServer XSDL را نصب کنید.

2. قبل از شروع نصب لینوکس، مطمئن شوید که دستگاه شما به یک شبکه Wi-Fi پایدار متصل است. GNURoot را راه اندازی کنید. بسته های محیطی مورد نیاز دانلود خواهند شد.

بسته به سرعت اتصال اینترنت شما، نصب از 30 ثانیه تا چند دقیقه طول می کشد. تا زمانی که پیام زیر ظاهر شود، علامت‌ها را نادیده بگیرید:

root@localhost:/#

برای کسانی که با مفهوم "" آشنا هستند، اجازه ندهید این خط شما را بترساند: برنامه هیچ آسیبی به دستگاه وارد نمی کند، زیرا در یک "جعبه شنی" کار می کند.

3. دستور زیر را وارد کنید:

آپدیت apt-get

صبر کنید تا بسته ها دانلود شوند. این با خط خواندن لیست های بسته...انجام شد نشان داده می شود.

4. حالا یک خط دیگر وارد کنید:

apt-get ارتقاء

در پاسخ به سوال "آیا می خواهید ادامه دهید؟" حرف Y انگلیسی را وارد کرده و Enter را فشار دهید. نصب بسته ها آغاز خواهد شد.

این بار مراحل نصب کمی بیشتر طول می کشد. صبورانه منتظر بمانید تا نصب کامل شود تا خط مورد نظر ظاهر شود:

root@localhost:/#

محیط لینوکس دبیان نصب شده است و اکنون می توانید به استقرار پوسته گرافیکی ادامه دهید.

5. نصب تمام بسته های توزیع لینوکس با دستور زیر انجام می شود:

apt-get نصب lxde

همچنین گزینه ای برای نصب هسته سیستم با استفاده از خط زیر وجود دارد:

apt-get lxde-core را نصب کنید

نصب را با وارد کردن مجدد Y و فشردن Enter تایید کنید. فرآیند دانلود بسته آغاز خواهد شد.

در حین نصب، مطمئن شوید که همه فایل‌ها با موفقیت دانلود شده‌اند و هنگام باز کردن بسته‌بندی، فضای خالی دستگاه شما تمام نمی‌شود. در غیر این صورت، راه اندازی سیستم با شکست مواجه می شود.

6. برای تکمیل نصب سیستم عامل، باید سه ابزار اضافی را دانلود کنید:

  • XTerm - برای دسترسی به ترمینال از پوسته گرافیکی لینوکس.
  • Synaptic Package Manager - برای مدیریت بسته های apt و دانلود برنامه ها.
  • Pulseaudio - برای نصب درایورهای صدا.

هر سه ابزار با استفاده از یک دستور ترمینال GNURoot نصب می شوند:

apt-get نصب xterm synaptic pulseaudio

تقریباً 260 مگابایت داده در دستگاه دانلود می شود.

7. اکنون برنامه GNURoot را کوچک کنید و XServer XSDL را که قبلاً نصب شده است باز کنید. با بارگیری فونت های اضافی موافقت کنید. پس از اتمام نصب، چندین بار روی صفحه ضربه بزنید (برنامه از شما می خواهد که وضوح و اندازه فونت را انتخاب کنید - همه اینها به ترجیحات شما بستگی دارد) تا زمانی که یک صفحه نمایش با پس زمینه آبی و متن سفید را مشاهده کنید.

GNURoot را دوباره راه اندازی کنید و دو دستور زیر را یکی پس از دیگری وارد کنید:

صادرات DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4712
startlxde &

ترتیب راه اندازی مجدد سیستم (زمانی که می خواهید دوباره لینوکس را باز کنید) به این صورت است: XServer XSDL را راه اندازی کنید و منتظر بمانید تا صفحه آبی ظاهر شود، GNURoot را باز کنید و دو دستور بالا را وارد کنید، به XServer XSDL برگردید.

اگر ترمینال از دستور نامعتبر شکایت کرد، به مرحله 5 این دستورالعمل ها برگردید و سعی کنید یک هسته خالی را نصب کنید. وضعیت حافظه دستگاه اندرویدی خود را بررسی کنید.

8. اکنون XServer XSDL را باز کنید، چند ثانیه صبر کنید و لینوکس آماده کار خواهید بود.

برای نصب برنامه ها، در گوشه پایین سمت چپ، منوی Start را باز کرده و Run را انتخاب کنید. Synaptic را تایپ کرده و Enter را فشار دهید.

در پنجره باز شده از جستجو استفاده کنید و اپلیکیشن های لازم را نصب کنید. این می تواند مرورگر فایرفاکس، ویرایشگر تصویر GIMP، مجموعه آفیس Libre و سایر برنامه های سازگار با لینوکس باشد.

البته این گزینه برای نصب لینوکس را نمی توان راه اندازی تمام عیار سیستم عامل در اندروید نامید. لینوکس مجازی چندین محدودیت دارد، اما اگر از ماوس و صفحه کلید بی‌سیم استفاده می‌کنید (احتمالاً با یک آداپتور OTG و یک هاب USB متصل می‌شوید)، می‌توانید تلفن هوشمند یا تبلت خود را به لپ‌تاپ با عملکرد یک سیستم‌عامل بزرگسالان تبدیل کنید.

روز همگی بخیر.

داستان من با خواندن این مقاله شروع می شود، پس از آن تصمیم گرفتم یک معجزه ساخت تبلت چینی را خریداری کنم: یک سوپر پد. این تبلت به عنوان یک اسباب بازی برای "کمی کندن"، پاره وقت، یک خواننده، یک بازی برای جفت و یک ساعت در یک سفر طولانی گرفته شده است ... بلافاصله توجه می کنم که من دو هارد USB 500 گیگابایتی دارم. و 1 ترابایت، که هر چیزی که برای یک زندگی سرگرم کننده مهم است در آن ذخیره می شود و به ntfs و ext4 تقسیم می شوند. و طبیعتاً تبلت آنها را نمی بیند.

اینجا داوطلب من است

این اولین دلیل برای کاوش عمیق است. پس از مشاهده 200 صفحه انجمن در xda-developers.com، مطمئنا

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

معلومه که نمی تونی اون رو بگیری و نصبش کنی... خب مال ما کجا رفت...

ما نیاز خواهیم داشت:

بیایید به مراحل اصلی بارگذاری اندروید و لینوکس نگاه کنیم
1. اجرای کد رام را روشن و بوت کنید اجرای کد رام را روشن و بوت کنید
2. بوت لودر بوت لودر
3. هسته لینوکس هسته لینوکس
4. فرآیند شروع فرآیند شروع
5. زیگوت و دالویک کنسول (bash، zsh...) / wm(kde، gnome...)
6. سرور سیستم بوت کامل شد
7. بوت کامل شد

همانطور که می بینید، تفاوت ها از مرحله اجرای اولیه شروع می شود.
این ساده ترین چیز برای تغییر است.

صادقانه می نویسم، فکر کردم فقط می توانید از Android init استفاده کنید و محکم به هسته پیچ شده است. و حتی پس از دریافت نمونه ای از یک ramdisk در حال کار از یک تبلت دیگر، فکر نمی کردم شروع شود ...

مطالب ramdiska
bin dev و غیره خانه init init.rc lib linuxrc mnt newroot opt ​​‎proc root sbin sys tmp usr var
در bin / busybox وجود دارد، در /sbin switch_root با پیوند به آن وجود دارد.
کد شروع از ramdisk از zt-180

#!/bin/sh echo شروع از تصویر initram. Echo در انتظار بیدار شدن کارت SD... خواب 3 اکو "نصب rootfs جدید" mount -t ext2 /dev/mmcblk0p2 /newroot && echo OK echo نگه دارید، تعویض ریشه... exec switch_root /newroot /sbin/init echo hrm، به جای exec /bin/ash یک پوسته داشته باشید

تنها چیزی که باقی می ماند این است که ramdisk را در حافظه فلش کنید (من از burntool در xp استفاده کردم) و - voila، مرحله بوت. بله، من به جای ریکاوری، فریمور را فلش کردم، بنابراین برای راه اندازی لینوکس باید کلیدها را هنگام راه اندازی نگه دارید.

بنابراین، مرحله بارگذاری به پایان رسیده است و باید صبور باشید، زیرا کنسول هیچ نشانه ای از زندگی نشان نمی دهد و همه چیز به آرامی بارگذاری می شود.

تنظیم خودکار لاگین برای اولین کنسول
در /etc/init/tty1.conf، آخرین خط را با exec /bin/login -f Yor_Login جایگزین کنید.< /dev/tty1 >/dev/tty1 2>&1 سپس در ~/.bashrc خود می توانید دستوراتی بنویسید که در هنگام ورود خودکار شروع می شوند.
ما در حال مبارزه با سرور X هستیم
برای من قطعاً با صفحه لمسی، xorg.conf و xterm خوب کار نمی کرد ... درایور سیناپسی را حذف کردم و موارد زیر را در ~/.xinitrc قرار دادم:
#!/bin/bash # $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $ # /etc/X11/xinit/xinitrc # # فایل xinitrc جهانی، مورد استفاده در تمام جلسات X شروع شد توسط xinit (startx) # فراخوانی اسکریپت جلسه X سراسری #. /etc/X11/Xsession xclock -geometry 50x50-1+1 & exec xterm -geometry 80x66+0+0 -name ورود به سیستم
مبارزه با محیط کار
من می خواستم kde را نصب کنم زیرا من واقعاً رندر گرافیکی با کتابخانه qt را دوست دارم. فوراً می گویم: بله، نصب و راه اندازی شد، اما چگونه ...
اول، من بلافاصله Autologin را تنظیم کردم:
در /etc/kde4/kdm/kdmrc موارد زیر را پیدا کرده و مطابق با خود تغییر می دهیم
AutoLoginEnable=true # اگر درست است، پس از خروج، به صورت خودکار وارد شوید. در صورت نادرست بودن، ورود خودکار فقط با # زمانی که یک جلسه نمایش راه اندازی می شود، انجام می شود. # پیش فرض نادرست است #AutoLoginAgain=true # تاخیر در چند ثانیه قبل از شروع ورود خودکار. # پیش فرض 0 AutoLoginDelay=3 است # کاربر به طور خودکار وارد می شود. هرگز root را مشخص نکنید! # پیش فرض "" AutoLoginUser=Login # رمز ورود کاربر برای ورود خودکار است. این # مورد نیاز نیست مگر اینکه کاربر به یک دامنه NIS یا Kerberos وارد شده باشد. اگر از این گزینه # استفاده می کنید، به دلایل واضح باید "chmod 600 kdmrc" را انتخاب کنید. # پیش فرض "" AutoLoginPass=رمز عبور است
و همانطور که نوشته شده است، chmod 600 kdmrc را در کنسول زیر روت انجام می دهیم تا افراد بد رمز عبور ما را جاسوسی نکنند.
ثانیاً ، در ورودی محافظ صفحه برای مدت طولانی مشکوک آویزان بود و من که شک داشتم از کنسول startkde را صدا زدم. پس از نمایش طولانی و خسته کننده انواع خطاها، بالاخره پلاسما در حالت نت بوک بارگذاری شد. جلوه های گرافیکی خاموش است، زیرا ما زیر یک فریم بافر نشسته ایم، و در بعضی جاها کاهش سرعت وجود دارد، اما باز هم این kde است و بارگذاری شده است!
تنظیم دقیق همه چیز برای شما
هرکدام مختص به خود را دارند، من هنوز آن را بهینه نکرده ام، اما کارهای زیادی باید انجام شود: سرعت بارگذاری، بهینه سازی فضای کاری. من به دنبال یک wm سبک تر هستم - e16 - اما هنوز آن را اصلی نکرده ام. شما همچنین باید صفحه لمسی را کالیبره کنید، خوشبختانه در حال حاضر یک صفحه کلید مجازی در kde وجود دارد.
من به سمت openbox + نگاه می کنم

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

لینوکس یا نه لینوکس؟

همانطور که می دانید، اندروید بر اساس هسته لینوکس است و شامل مجموعه ای از کتابخانه های استاندارد و ابزارهای خط فرمان معمولی یک توزیع معمولی لینوکس است. با این حال، راه اندازی نرم افزار لینوکس کلاسیک در اینجا به دلایل زیادی از جمله ناسازگاری ABI، عدم وجود مدیر بسته، سیستم امنیتی اختصاصی و عدم وجود بسیاری از اجزای یک سیستم استاندارد لینوکس بسیار دشوار است.

بنابراین، علیرغم وجود کتابخانه استاندارد libc و موارد دیگر در اندروید، پیاده سازی آنها در اکثر موارد با کتابخانه های پروژه گنو ناسازگار است و از نظر عملکرد بسیار کاهش می یابد. به همین دلیل، نرم‌افزار لینوکس حداقل باید به‌طور خاص برای پردازنده‌های اندروید و ARM بازسازی شود، و در بسیاری از موارد وصله شود، و قابلیت‌هایی که در کتابخانه‌ها وجود ندارد، اضافه شود.

BotBrew: لیست دستگاه های پشتیبانی شده

BotBrew روی دستگاه‌های زیر آزمایش شده است: Barnes & Noble NOOK Color، LG P970 Optimus Black، Huawei Ascend M860، HTC Desire، HTC Evo 4G، HTC Evo 3D، HTC Inspire 4G، HTC Droid Eris، HTC Hero، Samsung Galaxy Nexus، Samsung Galaxy S2 (GT-I9100)، Samsung Galaxy Y (GT-S5360)، Motorola Atrix 4G، Motorola Droid/Milestone، Sony Ericsson Xperia X8، Asus EeePad Transformer TF101.

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

خوب، برای کامل کردن تصویر، اندروید به سادگی بسیاری از اجزای استاندارد لینوکس، از جمله، به عنوان مثال، حتی اجزای یکپارچه مانند پشته گرافیکی X Window یا کتابخانه GTK+ را ندارد. البته تلاش هایی برای آوردن همه اینها به اینجا انجام می شود، اما همه چیز از نسخه های آلفای نیمه کاره فراتر نمی رود.

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

پروژه BotBrew بسیار جالب تر به نظر می رسد - در چارچوب آن، یک مدیر بسته و مخزن که برای سیستم های لینوکس کاملاً رایج است در حال توسعه است که با کمک آن می توانید نرم افزار لینوکس را در یک فهرست جداگانه در داخل اندروید نصب کنید. همچنین زمانی اسکریپت های مختلف زیادی اختراع شد که مونتاژ نرم افزار لینوکس مناسب برای کار در داخل اندروید را بر روی برادر بزرگ خود آسان و بدون مشکل غیر ضروری می کند. بقیه مقاله به این دو پروژه اختصاص خواهد یافت.

BotBrew

پروژه BotBrew برای حل بسیاری از مشکلات نصب نرم افزار لینوکس که ممکن است یک کاربر داشته باشد، طراحی شده است و سیستم اندروید را برای پذیرش برنامه هایی که برای آن بیگانه هستند آماده می کند. اساساً سیستم از چهار جزء تشکیل شده است:
  • یک مخزن با برنامه های اندروید از پیش کامپایل شده که با استفاده از آن می توانید بسیاری از برنامه های لینوکس را با استفاده از یک دستور نصب کنید.
  • مدیر بسته، که از Opkg سبک وزن یا dpkg به همراه apt-get در نسخه آزمایشی BotBrew Bazil استفاده می کند.
  • مدیر فرآیند runit، که برای راه اندازی و حفظ عملکرد دیمون ها، در صورت نصب، لازم است.
  • یک سیستم ساخت اختصاصی که شامل تمام ابزارهای مورد نیاز برای کامپایل متقابل برنامه ها با استفاده از هر توزیع لینوکس دسکتاپ است.
برای کار کردن، این معجزه فکر برنامه نویسی به هیچ چیز نیاز ندارد: حقوق ریشه و کمی فضای خالی در حافظه داخلی گوشی هوشمند یا کارت حافظه. علاوه بر این، گزینه اول ترجیح داده می شود، زیرا در مورد SD فایل ها روی یک دیسک مجازی ریخته می شوند که توسط همه هسته ها پشتیبانی نمی شود.


مقداردهی اولیه

در حال حاضر، نسخه کلاسیک BotBrew که از مخزن خود استفاده می کند، به شما اجازه می دهد نرم افزارهایی مانند dcron، GCC، Git، سرور dropbear SSH، مرورگر کنسول Lynx، اسکنر امنیتی Nmap، ابزار پشتیبان گیری rsync، ویرایشگر Vim، وب lighttpd را نصب کنید. سرور، زبان های برنامه نویسی پایتون و روبی، و همچنین ده ها بسته دیگر. ضمناً همه اینها در یک دایرکتوری اختصاصی در حافظه داخلی گوشی هوشمند/تبلت نصب شده است و به هیچ وجه سیستم اصلی را شلوغ نمی کند. به عبارت دیگر، شما می توانید به سادگی با حذف یک دایرکتوری از شر BotBrew و هر چیزی که نصب کرده اید خلاص شوید.

نرم افزار را نصب کنید

بنابراین، چگونه از BotBrew برای نصب نرم افزار لینوکس استفاده می کنید؟ ابتدا به یک بسته با خود برنامه نیاز داریم. در Google Play موجود است (توجه داشته باشید که به ریشه BotBrew نیاز دارید، نه Bazil آزمایشی) و وزن آن کمتر از یک مگابایت است. پس از نصب، دکمه «ادامه» را در پایین صفحه اجرا کنید و روی آن کلیک کنید تا نرم‌افزار تمام مؤلفه‌های لازم برای عملکرد خود، مانند مدیریت بسته کنسول و سایر ابزارهای کمکی (در اصطلاح لینوکس دبیان - بوت استرپ) را دانلود کند. وزن آنها فقط چند مگابایت است، بنابراین نیازی به انتظار طولانی نخواهید بود. پس از اتمام نصب، BotBrew پنجره ای با وب سایت رسمی پروژه نمایش می دهد که می توانید با خیال راحت آن را ببندید.

اکنون در صفحه باید لیستی از بسته های موجود برای نصب را مشاهده کنید. تعداد زیادی از آنها وجود دارد، اما به دلایلی که در بالا توضیح داده شد، برنامه های گرافیکی در بین آنها پیدا نخواهید کرد. اما انواع مختلفی از سرورها، کامپایلرها و مفسرها وجود دارد، بنابراین هرکسی که می‌خواهد به طور جدی با یک گوشی هوشمند "بازی" کند، فضایی برای چرخش دارد. برای نصب یک بسته، کافی است روی نام آن ضربه بزنید و در صفحه بعدی حاوی اطلاعات مربوط به برنامه، روی دکمه «نصب» کلیک کنید.

رقصیدن با تنبور

اگر با BotBrew bootstrap با مشکل مواجه شدید، می توانید آن را به صورت دستی با استفاده از دستور زیر نصب کنید:

Wget http://repo.botbrew.com/anise/bootstrap/install.sh -O - | سو
اگر این کمکی نکرد، می‌توانید تمام نصب‌ها را حذف کنید («Remove BotBrew» در تنظیمات) و سپس این دستور را اجرا کنید.

پس از این، بسته در تب "نصب شده" ظاهر می شود، اما هیچ دکمه "Run" یا چیزی شبیه به آن را مشاهده نخواهید کرد. برنامه باید به طور مستقل از کنسول راه اندازی شود، که البته منطقی است. خود برنامه در داخل ساختار دایرکتوری /data/botbrew نصب شده است که در آن محیط واقعی توزیع لینوکس با دایرکتوری‌های /etc، /usr و دیگران شبیه‌سازی می‌شود. و برای اینکه کاربران را با نیاز به تایپ مسیر کامل دستور عذاب ندهند، توسعه دهندگان BotBrew دستور wrapper را به همین نام ارائه کرده اند. برای استفاده از آن برای راه اندازی، به عنوان مثال، مرورگر کنسول Lynx نصب شده، باید دستور زیر را تایپ کنید:

$ botbrew lynx http://xakep.ru
از طرف دیگر، دایرکتوری /data/botbrew/bin را می توان به متغیر محیطی PATH اضافه کرد، اما این کار باید پس از هر بار شروع ترمینال انجام شود:

$ export PATH="$PATH:/data/botbrew/bin"
به هر حال، با شیاطین و سرویس های مختلف شبکه، اوضاع بسیار بهتر است. پس از شروع، دیمون‌ها بلافاصله راه‌اندازی می‌شوند و می‌توانید گنجاندن آنها را از طریق رابط گرافیکی کنترل کنید، که با کلیک بر روی دکمه «بازی» در پایین رابط BotBrew قابل دسترسی است. برخی از برنامه ها ممکن است نیاز به ایجاد کاربران اضافی و تغییر تنظیمات آنها داشته باشند، این کار را می توان به همان روشی که در یک سیستم لینوکس معمولی انجام داد:

  1. ایجاد کاربر:
    $ botbrew adduser Vasya
  2. باز کردن دسترسی به اینترنت برای کاربر:
    $ botbrew addgroup vasya inet
  3. BotBrew را به کاربر دیگری تغییر دهید:
    $ botbrew su vasya
لطفا توجه داشته باشید که تمامی این تغییرات تنها بر روی محیط مجازی BotBrew تاثیر گذاشته و به هیچ وجه بر سیستم اصلی تاثیر نخواهد گذاشت. این کنسول همچنین می تواند برای نصب برنامه هایی با دور زدن رابط کاربری گرافیکی استفاده شود. برای انجام این کار، باید از مدیر بسته کنسول Opkg استفاده کنید که دستور دستور آن کاملاً با apt-get سازگار است:

$ botbrew opkg dropbear را نصب کنید
عملیات معکوس:

$ botbrew opkg حذف dropbear
برای حفظ "در خط مقدم پیشرفت"، مخزن BotBrew باید هر از چند گاهی با کلیک بر روی دکمه مربوطه در رابط گرافیکی به روز شود (نمی توان آن را با هیچ چیز دیگری اشتباه گرفت). نسخه‌های جدید بسته‌ها در برگه «قابل ارتقا» نمایش داده می‌شوند. فقط روی نام او ضربه بزنید و روی "Upgrade" کلیک کنید.

باتبرو ریحان

همچنین می توانید اپلیکیشنی به نام BotBrew Basil را در بازار پیدا کنید که به عنوان آزمایشی مشخص شده است. در اصل، این هنوز همان BotBrew است، اما با یک تفاوت بسیار مهم. به جای مخازن بومی و مدیر بسته Opkg، از مخازن ARM لینوکس دبیان و مدیر بسته apt-get استفاده می کند. این بدان معناست که میزان نرم افزار قابل نصب با استفاده از "نسخه برزیلی" برنامه بسیار بیشتر است. ده برابر بیشتر.

علاوه بر استفاده از مخازن دبیان، Basil همچنین دارای یک رابط کاربری کمی تغییر یافته است. برای مثال، بلافاصله پس از راه‌اندازی، از شما می‌خواهد که یک پوشه نصب را انتخاب کنید. پیش فرض /data/botbrew-basil است که به نظر من کاملاً منطقی است ، اما می توانید هر دیگری را انتخاب کنید ، از جمله در پارتیشن ext2 کارت حافظه (FAT کار نخواهد کرد).

دومین تفاوت مهم، امکان انتخاب نحوه استفاده از برنامه است که بلافاصله پس از کلیک روی "ادامه" ظاهر می شود. در اینجا چهار گزینه وجود دارد:

  1. از BotBrew در خط فرمان استفاده کنید - اساساً یک آنالوگ نصب به سبک BotBrew معمولی.
  2. از سیستم dpkg/APT - نصب همراه با مخازن apt-get و Debian استفاده کنید. گزینه نصب توصیه شده
  3. اجرای برنامه های پایتون آنالوگ گزینه اول با نصب خودکار پایتون است.
  4. یک دبیان مینیمال نصب کنید - نصب مینیمالیستی دبیان.
نکته دوم و چهارم را توضیح دهم. اولین BotBrew و اولین مورد در این لیست چیزی جز نصب یک سیستم مینیمالیستی لینوکس (شامل تنها چند دستور و کتابخانه) که نرم افزار لینوکس در آن راه اندازی می شود، انجام نمی دهد. با این حال، apt-get، بر خلاف Opkg مینیمالیستی، نیازمند نصب کمابیش کامل لینوکس است. بنابراین با انتخاب گزینه دوم، نوعی میکرولینوکس در گوشی هوشمند خود دریافت خواهید کرد. و اگر می‌توانیم یک میکروورژن نصب کنیم، چرا یک توزیع کم و بیش کامل نصب نکنیم. به همین دلیل نکته چهارم وجود دارد.

پس از بوت استرپ BotBrew Basil، همان رابط مدیریت نصب برنامه که از نسخه کلاسیک برنامه برای ما آشناست، روی صفحه ظاهر می شود و دستور botbrew2 در سیستم ظاهر می شود که با آن می توانید نرم افزار را راه اندازی کنید. در اینجا هیچ تفاوت قابل توجهی در مدیریت وجود ندارد، به جز شاید دستور apt-get به جای opkg و توانایی اتصال مخازن اضافی (از جمله اولین مخزن BotBrew) مستقیماً از طریق رابط نصب برنامه.

بیایید مسائل را به دست خودمان بگیریم

برنامه ها و مخازن از پیش کامپایل شده با بسته های آماده عالی هستند، اما اگر برنامه مورد نیاز شما برای نصب در دسترس نباشد چه؟ از این گذشته، حتی همان BotBrew Basil که به شما امکان می دهد مخازن دبیان را با حجم عظیمی از نرم افزار متصل کنید، به دلیل ماهیت آزمایشی آن روی هر گوشی هوشمندی کار نمی کند.

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

با این حال، ما می توانیم از کار افراد دیگر برای خودکارسازی فرآیند ساخت نرم افزار استفاده کنیم. یکی از توسعه یافته ترین و جالب ترین راه حل ها در این زمینه مجموعه ای از اسکریپت های SCRIPTSET است که توسط کاربر smitna از XDA Developers توسعه یافته است. این به شما اجازه می دهد تا به معنای واقعی کلمه طیف گسترده ای از برنامه ها را تنها در چند دستور جمع آوری کنید، از جمله htop، ImageMagick، iptables، ELinks، Screen، mc، node.js، Samba، strace، QEMU، Parted، SANE (می توان از آن برای چاپ مستقیم به یک چاپگر با تلفن!) و بسیاری دیگر. خود اسکریپت کامپایلر متقابل، تمام وابستگی‌ها و برنامه‌های کاربردی لازم را دانلود می‌کند، وصله‌ها را در صورت لزوم اعمال می‌کند و یک آرشیو آماده برای باز کردن بسته‌بندی روی تلفن ایجاد می‌کند.

SCRIPTSET فقط روی لینوکس کار می کند، اما اگر ویندوز دارید، می توانید اوبونتو را در ماشین مجازی نصب کنید. در مرحله بعد، باید یک ترمینال را باز کنید و ابزارهای لازم برای ساخت کامپایلر متقابل را نصب کنید:

$ sudo apt-get install build-essential cmake autoconf2.13 scons
پس از این، می توانید خود SCRIPTSET را دریافت کرده و آن را باز کنید:

$ cd ~ $ wget http://goo.gl/zvnom -O scriptset-2.6.zip $ unzip scriptset-2.6.zip
در نتیجه باز کردن بسته بندی، ... آرشیو دیگری دریافت خواهیم کرد: scriptset-2.6.tar.bz2. اما این همه چیز نیست، آرشیو بدون پوشه ریشه سنتی برای tar بسته بندی شده است، بنابراین باید خودتان آن را ایجاد کنید. و قبلاً در آن بسته بندی کنید:

$ mkdir اسکریپت $ مجموعه اسکریپت سی دی $ tar -xjf ../scriptset-2.6.tar.bz2

پس از باز کردن بسته بندی، چندین اسکریپت، تنظیمات، و همچنین یک فایل README با اندازه چشمگیر حاوی دستورالعمل های استفاده از اسکریپت ها در دایرکتوری ظاهر می شود. اسکریپت ها بیت اجرایی ندارند (که با توجه به مشکلات قبلی جای تعجب نیست)، بنابراین باید خودتان آن را تنظیم کنید:

$ chmod 755 *.sh

# vi ~/scriptset/configuration.conf // دایرکتوری برای نصب برنامه ها در تلفن هوشمند TARGET_SYSROOT="/data/sysroot" // پردازنده هدف TARGET_MARCH="armv7-a" TARGET_MTUNE="cortex-a9" TARGET_MFARGPUET_F=neon" = "softfp"

این برای مونتاژ صحیح هر برنامه کافی است. پردازنده هدف استاندارد ARMv7 با یک مجموعه دستورالعمل اضافی NEON خواهد بود. این در هر گوشی هوشمندی که در سه تا چهار سال گذشته منتشر شده است نصب می شود. دایرکتوری /data/sysroot برای نصب برنامه ها بر روی گوشی هوشمند استفاده می شود، اما به طرز عجیبی باید در دستگاه دسکتاپ نیز ایجاد شود:

$ sudo mkdir -p /data/sysroot $ sudo chown user:users /data/sysroot $ sudo chmod 777 /data/sysroot
همانطور که نویسنده اسکریپت ها توضیح می دهد، این عمل ضروری است زیرا مسیرهای دایرکتوری های کلیدی در برخی برنامه ها در مرحله ساخت دوخته می شوند. بنابراین، اگر بخواهیم اپلیکیشنی را با استفاده از دایرکتوری فعلی و هر دایرکتوری دیگری به عنوان ریشه بسازیم، به دلیل تفاوت در مسیرها، به سادگی روی گوشی هوشمند کار نخواهد کرد. من مطمئن هستم که حل این مشکل با استفاده از chroot صحیح تر است، اما ایجاد دایرکتوری مورد نظر آسان تر و سریعتر است و پس از اتمام آن را حذف کنید.

در مرحله بعد، ما باید لیست برنامه هایی را که قصد جمع آوری آنها را داریم مشخص کنیم. برای انجام این کار فایل package_selection.conf را باز کرده و در گزینه های لازم گزینه no را به yes تغییر دهید. به عنوان مثال، برای ساخت bash، ImageMagick و Screen، باید سه خط زیر را تغییر دهید:

# vi ~/scriptset/package_selection.conf BASH=بله IMAGEMAGICK=بله SCREEN=بله
به خاطر داشته باشید که تنظیمات بین خطوط # ALWAYS NEEDED قابل تغییر نیستند. این برنامه ها و کتابخانه ها همیشه مورد نیاز هستند و بدون آنها برنامه های کاربردی دیگر به سادگی ساخته نمی شوند. اکنون می توانید برنامه ها را کامپایل کنید. برای انجام این کار، فقط اسکریپت build.sh را بدون آرگومان اجرا کنید:

$./build.sh
اگر تمام بسته‌های لازم نصب شده باشند و کامپایلر هیچ خطایی در حین ساخت ایجاد نکرده باشد، در نتیجه ساخت، دو بایگانی در فهرست فعلی ظاهر می‌شوند: cs-sysroot.tar.bz2 و android-mysysroot.tar.bz2. اولی محیط مورد نیاز برای اجرای برنامه ها است که توسط کامپایلر متقابل ایجاد شده است و دومی خود مجموعه ای از برنامه ها است. هر دوی این آرشیوها باید به کارت حافظه گوشی هوشمند منتقل شوند و سپس با اجرای شبیه ساز ترمینال روی آن یا اتصال از طریق ADB، دو دستور را اجرا کنید:

$ tar xjf /sdcard/cs-sysroot.tar.bz2 $ tar xjf /sdcard/android-mysysroot.tar.bz2
در نتیجه، دایرکتوری /data/sysroot در حافظه داخلی گوشی هوشمند ظاهر می شود که برنامه ها در آن قرار می گیرند. آنها باید از همان ترمینال راه اندازی شوند که مسیر کامل را نشان می دهد. مثلا:

$ /data/sysroot/usr/bin/bash
خوب، یا پس از راه اندازی ترمینال، /data/sysroot/usr/bin را به PATH اضافه کنید:

$ export PATH="$PATH:/data/sysroot/usr/bin"

نتیجه گیری

با وجود تفاوت‌های نسبتاً جدی بین Android و توزیع معمولی لینوکس، نصب برنامه‌های کنسول لینوکس بر روی تلفن هوشمند چندان دشوار نیست. متأسفانه هنوز در مورد برنامه های گرافیکی صحبتی نشده است، اما در حال حاضر پروژه هایی برای پورت کتابخانه Qt و سرور گرافیکی Wayland به اندروید وجود دارد و امیدوارم به زودی به یک راه حل کارآمد دست پیدا کنیم.


اولین بار در مجله Hacker مورخ 08/2013 منتشر شد.

بهترین مقالات در این زمینه