هل تعلم أنه يمكنك تشغيل سطر أوامر Linux على جهاز iOS؟ قد تسأل ، "لماذا يجب علي استخدام التطبيقات النصية على iPhone؟" سؤال عادل. ولكن إذا كنت تقرأ موقع Opensource.com ، فربما تعرف الإجابة: يريد مستخدمو Linux أن يكونوا قادرين على استخدامه على أي جهاز ويريدون استخدام إعداداتهم الخاصة.
لكن الأهم من ذلك كله أنهم يتوقون إلى حل المشكلات المعقدة.
لديّ جهاز iPad 2 Mini يبلغ من العمر سبع سنوات والذي لا يزال جيدًا لقراءة الكتب الإلكترونية والمهام الأخرى. ومع ذلك ، أريد أيضًا استخدامه للوصول إلى سطر أوامر التطبيقات باستخدام مجموعة البرامج والنصوص الخاصة بي ، والتي لا يمكنني العمل بدونها. أحتاج إلى بيئة اعتدت عليها ، بالإضافة إلى بيئة التطوير القياسية الخاصة بي. وهنا كيف تمكنت من تحقيق ذلك.
الاتصال بلوحة المفاتيح
العمل مع سطر الأوامر للبرمجة من خلال لوحة المفاتيح على الشاشة للهاتف أو الجهاز اللوحي أمر غير مريح تمامًا. أوصي بتوصيل لوحة مفاتيح خارجية ، إما عن طريق البلوتوث أو باستخدام محول اتصال الكاميرا لتوصيل لوحة مفاتيح سلكية (اخترت الأخير). ينتج عن توصيل لوحة مفاتيح مقسمة Kinesis Advantage بجهاز iPhone 6 جهاز غريب يبدو
تثبيت shell على iOS
لتشغيل نظام Linux يعمل بكامل طاقته على iOS ، هناك خياران:
- غلاف آمن (SSH) متصل بجهاز Linux
- تشغيل نظام افتراضي باستخدام Alpine Linux مع iSH ، وهو مفتوح المصدر ولكن يجب تثبيته باستخدام تطبيق TestFlight الخاص بشركة Apple
بدلاً من ذلك ، هناك نوعان من تطبيقات المحاكاة الطرفية مفتوحة المصدر التي توفر القدرة على العمل مع أدوات مفتوحة المصدر في بيئة محدودة. هذا هو الخيار الأكثر تجريدًا - في الواقع ، هذه ليست طريقة تشغيل Linux ، ولكن أدوات Linux. توجد قيود شديدة عند العمل مع هذه التطبيقات ، لكنك تحصل على وظائف سطر أوامر جزئية.
قبل الانتقال إلى الحلول المعقدة ، سأفكر في أبسط طريقة.
الخيار 1: Shell in the Sandbox
إحدى أسهل الطرق هي تثبيت تطبيق iOS
تقريبا نفس الوظيفة
الخيار 2: SSH
خطوة أخرى بعد تنزيل التطبيق هي إعداد عميل SSH. لفترة طويلة ، تمكنا من استخدام أي من العديد من تطبيقات عميل iOS SSH للاتصال بخادم يعمل بنظام Linux أو BSD. ميزة استخدام SSH هي أنه يمكن تشغيل أي توزيع على الخادم بأي برنامج. أنت تعمل عن بُعد ويتم نقل نتائج عملك ببساطة إلى المحاكي الطرفي على جهاز iOS الخاص بك.
الخيار 3: تشغيل Linux
يعد استخدام SSH للاتصال بخادم في نظام Linux طريقة رائعة للوصول إلى سطر الأوامر ، ولكنه يتطلب خادمًا خارجيًا واتصالًا بالشبكة. هذه ليست أكبر عقبة ، لكن لا يمكن تجاهلها تمامًا ، لذلك قد تحتاج إلى العمل مع Linux بدون خادم.
إذا كانت هذه هي حالتك ، فستحتاج إلى اتخاذ خطوة أخرى إلى الأمام.
تشغيل Alpine Linux مع iSH
ميزة مهمة: تطبيق تجريبي. نظرًا لأن iSH هو تطبيق اختبار حاليًا ، فلا تتوقع أداء ثابتًا وموثوقًا به. تطبيقات TestFlight محدودة الوقت. سيستمر تصميمي الحالي لمدة 60 يومًا فقط. هذا يعني أنه بعد 60 يومًا ، سيتم طردي وسيتعين عليّ العودة إلى المرحلة التالية من اختبار iSH. علاوة على ذلك ، سأفقد جميع ملفاتي إذا لم أقوم بتصديرها باستخدام الملفات على iOS أو نسخها إلى مضيف Git أو
تثبيت iSH
ابدأ بالتثبيت
باستخدام الرابط ، سيقوم TestFlight بتثبيت تطبيق iSH على جهازك. كما هو الحال مع أي تطبيق آخر ، ستظهر أيقونة على الشاشة.
إدارة الحزم
يقوم iSH بتشغيل محاكي x86 مع Alpine Linux. Alpine هو توزيع صغير الحجم يقل حجمه عن 5 ميغا بايت. كانت هذه أول مرة أعمل فيها مع Alpine ، لذلك اعتقدت أن البساطة ستكون مزعجة ، لكنني أحببتها حقًا.
يستخدم Alpine مدير الحزم
كيفية تثبيت الحزمة:
apk add package
كيفية إزالة الحزمة:
apk del package
كيفية اكتشاف أوامر ومعلومات أخرى:
apk --help
تحديث مدير الحزم:
apk update
apk upgrade
تثبيت محرر نصوص
محرر النصوص القياسي في Alpine هو Vi ، لكنني أفضل Vim ، لذلك قمت بتثبيته:
apk add vim
إذا رغبت في ذلك ، يمكنك تثبيت Nano أو Emacs.
تغيير شل
لا أعرف عنك ، لكني كنت بحاجة
تركيب الأسماك:
apk add fish
إذا كنت بحاجة إلى Bash بإكمالها التلقائي وصفحات الدليل ، فقم بتثبيتها:
apk add bash bash-doc bash-completion
عادةً ما تعني أيديولوجية Alpine المبسطة أن بعض البرامج التي تكون حزمة واحدة في التوزيعات الأخرى سيتم تقسيمها إلى عدة حزم أصغر. وهذا يعني أيضًا أنه يمكنك ضبط النظام وتقليص حجمه بالطريقة التي تريدها تمامًا.
لمزيد من المعلومات حول تثبيت Bash ، راجع
تغيير الغلاف الافتراضي
بمجرد تثبيت fish ، يمكنك التبديل إليه مؤقتًا عن طريق الكتابة fish
والذهاب إلى القشرة. لكني أريد أن أجعل الأسماك هي الصدفة الافتراضية والأمر chsh
، الذي استخدمته في التوزيعات الأخرى ، لم ينجح.
أولاً ، دعنا نتعرف على مكان تثبيت الأسماك:
which fish
هذا ما حدث لي:
/usr/bin/fish
بعد ذلك ، قم بتغيير غلاف تسجيل الدخول إلى الصيد. يمكنك استخدام أي محرر تريده. إذا كنت مبتدئًا ، فقم بتثبيت Nano (باستخدام الأمر apk add nano
) حتى تتمكن من تحرير ملفات التكوين وحفظها عبر CTRL + X ، قم بالتأكيد والخروج.
لكنني استخدمت Vim:
vim /etc/passwd
خطي الأول كان:
root:x:0:0:root:/root:/bin/ash
لجعل الأسماك هي الغلاف الافتراضي ، قم بتغيير هذا السطر إلى ما يلي:
root:x:0:0:root:/root:/usr/bin/fish
ثم احفظ الملف واخرج.
أنا متأكد من أن هناك طريقة جيدة لتغيير مسار الصدفة بحيث يمكن استخدامها على الفور. لكني لا أعرفه ، لذا أوصي بالعودة إلى متصفح التطبيق ، وفرض الخروج من الغلاف ، وللتأكد ، أوقف تشغيل iPad أو iPhone وأعد تشغيله. افتح iSH مرارًا وتكرارًا ، بالإضافة إلى الرسالة "مرحبًا بك في Alpine!" ومعلومات حول الإطلاق من apk ، سترى رسالة ترحيب تسجيل الدخول القياسية للأسماك: مرحبًا بكم في الأسماك ، الصدفة التفاعلية الودية. مرحا!
إعداد بايثون ونقطة
قررت أن أضيف
apk add python3
على الرغم من أن Python 2.x قديم ، إلا أنه يمكنك تثبيته أيضًا:
apk add python
قم بتثبيت مدير حزم Python يسمى pip و
python3 -m ensurepip --default-pip
سيستغرق تثبيت مدير الحزم وتكوينه بعض الوقت ، لذا كن صبورًا.
يمكنك بعد ذلك تنزيل أداة لنقل الملفات عبر الشبكة
apk add curl
كتيبات القراءة
يستخدم Fish ميزة الإكمال التلقائي المضمنة استنادًا إلى صفحات الدليل. مثل مستخدمي سطر الأوامر الآخرين ، أستخدم الدليل man
، و Alpine لم يتم تثبيته. لذلك قمت بتثبيته مع جهاز استدعاء طرفي
apk add man man-pages less less-doc
بالإضافة إلى الرجل ، أستخدم الرائع
لقد قمت بتثبيته مع نقطة:
pip install tldr
فريق tldr
يتصل بالويب لجلب الصفحات عندما يواجه طلبًا لصفحة جديدة. إذا كنت بحاجة إلى معرفة كيفية استخدام أمر ما ، فيمكنك كتابة شيء مثل tldr curl
واحصل على وصف بلغة إنجليزية بسيطة وأمثلة جيدة عن كيفية استخدام الأمر.
بالطبع ، يمكن أتمتة كل أعمال التثبيت هذه باستخدام
معلومات إضافية
يحتوي iSH Wiki على صفحة "
تشرح صفحة ويكي أخرى كيف
يمكنك أيضًا تثبيت Git (نعم! apk add git
) وادفع عملك إلى مستودع بعيد أو ادفعه إلى الخادم عبر SSH. وبالطبع ، يمكنك تنزيل وتشغيل أي عدد من المشاريع الرائعة مفتوحة المصدر من GitHub.
يمكن العثور على مزيد من المعلومات حول iSH على هذه الروابط:
كإعلان
فدسينا تقدم
المصدر: www.habr.com