การเปิดตัวบรรทัดคำสั่ง Linux บน iOS

การเปิดตัวบรรทัดคำสั่ง Linux บน iOS

คุณรู้ไหมว่าคุณสามารถรันบรรทัดคำสั่ง Linux บนอุปกรณ์ iOS ได้? คุณอาจจะถามว่า “ทำไมฉันจึงควรใช้แอปส่งข้อความบน iPhone ของฉัน” คำถามที่ยุติธรรม แต่ถ้าคุณอ่าน Opensource.com คุณอาจรู้คำตอบ: ผู้ใช้ Linux ต้องการใช้งานบนอุปกรณ์ใด ๆ และต้องการปรับแต่งด้วยตนเอง

แต่เหนือสิ่งอื่นใด พวกเขากระหายในการแก้ปัญหาที่ซับซ้อน

ฉันมี iPad 2 Mini อายุเจ็ดขวบซึ่งยังค่อนข้างดีสำหรับการอ่านหนังสืออิเล็กทรอนิกส์และงานอื่นๆ อย่างไรก็ตาม ฉันต้องการใช้เพื่อเข้าถึงบรรทัดคำสั่งของแอปพลิเคชันด้วยชุดโปรแกรมและสคริปต์ของฉัน โดยที่ฉันไม่สามารถทำงานได้ ฉันต้องการสภาพแวดล้อมที่ฉันคุ้นเคย รวมถึงสภาพแวดล้อมการพัฒนามาตรฐานของฉัน และนี่คือวิธีที่ฉันจัดการเพื่อให้บรรลุเป้าหมายนี้

การเชื่อมต่อกับแป้นพิมพ์

การทำงานกับบรรทัดคำสั่งสำหรับการเขียนโปรแกรมผ่านแป้นพิมพ์บนหน้าจอของโทรศัพท์หรือแท็บเล็ตนั้นค่อนข้างไม่สะดวก ฉันแนะนำให้เชื่อมต่อแป้นพิมพ์ภายนอกผ่าน Bluetooth หรือใช้อะแดปเตอร์เชื่อมต่อกล้องเพื่อเชื่อมต่อแป้นพิมพ์แบบมีสาย (ฉันเลือกอย่างหลัง) เมื่อคุณเชื่อมต่อคีย์บอร์ดแยก Kinesis Advantage เข้ากับ iPhone 6 คุณจะได้รับอุปกรณ์แปลกๆ ที่มีลักษณะคล้ายกัน ไซเบอร์เด็คขององค์กร จากความคลาสสิก สวมบทบาท ชาโดว์รัน.

การติดตั้งเชลล์บน iOS

หากต้องการใช้งานระบบ Linux ที่มีคุณสมบัติครบถ้วนบน iOS มีสองตัวเลือก:

  • Secure Shell (SSH) เชื่อมต่อกับคอมพิวเตอร์ Linux
  • การใช้งานระบบเสมือนโดยใช้ Alpine Linux พร้อม iSH ซึ่งเป็นโอเพ่นซอร์ส แต่ต้องติดตั้งโดยใช้แอปพลิเคชัน TestFlight ที่เป็นกรรมสิทธิ์ของ Apple

อีกทางเลือกหนึ่ง มีแอปพลิเคชันจำลองเทอร์มินัลโอเพ่นซอร์สสองตัวที่ให้ความสามารถในการทำงานกับเครื่องมือโอเพ่นซอร์สในสภาพแวดล้อมที่จำกัด นี่เป็นตัวเลือกที่แยกส่วนมากที่สุด จริงๆ แล้ว นี่คือวิธีใช้งานเครื่องมือ Linux ไม่ใช่ Linux มีข้อจำกัดด้านคุณลักษณะที่รุนแรงเมื่อทำงานกับแอปพลิเคชันเหล่านี้ แต่คุณจะได้รับฟังก์ชันบรรทัดคำสั่งบางส่วน

ก่อนที่จะไปยังวิธีแก้ปัญหาที่ซับซ้อน ฉันจะดูวิธีที่ง่ายที่สุดก่อน

ตัวเลือกที่ 1: เชลล์แซนด์บ็อกซ์

วิธีที่ง่ายที่สุดวิธีหนึ่งคือการติดตั้งแอป iOS LibTerm. มัน โอเพ่นซอร์ส เชลล์คำสั่งแบบแซนด์บ็อกซ์ที่รองรับคำสั่งมากกว่า 80 คำสั่งในราคาศูนย์ดอลลาร์ มันมาพร้อมกับ Python 2.7, Python 3.7, Lua, C, Clang และอีกมากมาย

มีฟังก์ชั่นประมาณเดียวกัน เอ-เชลล์ซึ่งนักพัฒนาอธิบายไว้ว่าเป็น "อินเทอร์เฟซผู้ใช้ทดสอบสำหรับแพลตฟอร์มอินพุตหน้าจอ" มีการโพสต์แหล่งที่มาของ a-Shell โอเพนซอร์สอยู่ระหว่างการพัฒนา ให้การเข้าถึงระบบไฟล์ และมาพร้อมกับ Lua, Python, Tex, Vim, JavaScript, C และ C++ รวมถึง Clang และ Clang++ มันยังช่วยให้คุณ pip ติดตั้งแพ็คเกจ Python ได้

ตัวเลือกที่ 2: SSH

อีกขั้นของการดาวน์โหลดแอปคือการตั้งค่าไคลเอ็นต์ SSH เป็นเวลานานแล้วที่เราสามารถใช้แอปไคลเอ็นต์ SSH สำหรับ iOS เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้ Linux หรือ BSD ได้ ข้อดีของการใช้ SSH คือเซิร์ฟเวอร์สามารถเรียกใช้การแจกจ่ายด้วยซอฟต์แวร์ใดก็ได้ คุณทำงานจากระยะไกลและผลงานของคุณจะถูกถ่ายโอนไปยังโปรแกรมจำลองเทอร์มินัลบนอุปกรณ์ iOS ของคุณ

เปลือกกะพริบ เป็นแอปพลิเคชัน SSH แบบชำระเงินยอดนิยม โอเพนซอร์ส. หากคุณเพิกเฉยต่อหน้าจอเล็กๆ ของอุปกรณ์ การใช้ซอฟต์แวร์นี้ก็คล้ายกับการเชื่อมต่อกับเซิร์ฟเวอร์ผ่านบรรทัดคำสั่งอื่นๆ Blink Terminal ดูดีมาก มีธีมสำเร็จรูปมากมาย และความสามารถในการสร้างธีมของคุณเอง รวมถึงความสามารถในการปรับแต่งและเพิ่มแบบอักษรใหม่

ตัวเลือกที่ 3: เรียกใช้ Linux

การใช้ SSH เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ Linux เป็นวิธีที่ดีในการเข้าถึงบรรทัดคำสั่ง แต่ต้องใช้เซิร์ฟเวอร์ภายนอกและการเชื่อมต่อเครือข่าย นี่ไม่ใช่อุปสรรคที่ใหญ่ที่สุด แต่ก็ไม่สามารถละเลยได้ทั้งหมด ดังนั้นคุณอาจต้องใช้งาน Linux โดยไม่มีเซิร์ฟเวอร์

หากเป็นกรณีของคุณ คุณจะต้องก้าวไปอีกขั้นหนึ่ง TestFlight เป็นบริการที่เป็นกรรมสิทธิ์สำหรับการติดตั้งแอปพลิเคชันที่พัฒนาแล้วก่อนที่จะเผยแพร่ใน Apple App Store คุณสามารถติดตั้งแอป TestFlight ได้จาก App Store จากนั้นใช้แอปทดสอบ แอปใน TestFlight อนุญาตให้ผู้ทดสอบเบต้าในจำนวนจำกัด (ปกติสูงสุด 10 คน) ทำงานร่วมกับพวกเขาได้ในระยะเวลาที่จำกัด หากต้องการดาวน์โหลดแอปพลิเคชันทดสอบ คุณต้องไปจากอุปกรณ์ของคุณไปยังลิงก์ที่ปกติจะอยู่บนเว็บไซต์ของผู้พัฒนาแอปพลิเคชันทดสอบ

ใช้งาน Alpine Linux ด้วย iSH

ISH เป็นแอปพลิเคชัน TestFlight แบบโอเพ่นซอร์สที่เปิดตัวเครื่องเสมือนพร้อมการแจกจ่ายแบบสำเร็จรูป อัลไพน์ลินุกซ์ (ใช้ความพยายามเพียงเล็กน้อย คุณก็สามารถเรียกใช้การแจกแจงอื่นๆ ได้)

คุณลักษณะที่สำคัญ: การประยุกต์ใช้การทดลอง. เนื่องจากปัจจุบัน iSH เป็นแอปพลิเคชันทดสอบ อย่าคาดหวังการทำงานที่คงที่และเชื่อถือได้ แอปพลิเคชัน TestFlight มีกำหนดเวลา โครงสร้างปัจจุบันของฉันจะมีอายุการใช้งานเพียง 60 วันเท่านั้น ซึ่งหมายความว่าหลังจาก 60 วัน ฉันจะถูกกำจัด และจะต้องเข้าร่วมการทดสอบ iSH รอบถัดไปอีกครั้ง นอกจากนี้ ฉันจะสูญเสียไฟล์ทั้งหมดของฉัน เว้นแต่ฉันจะส่งออกโดยใช้ไฟล์บน iOS หรือคัดลอกไปยังโฮสต์ Git หรือ ผ่านทาง SSH. กล่าวอีกนัยหนึ่ง: อย่าคาดหวังว่าสิ่งนี้จะทำงานต่อไป! อย่าใส่อะไรที่สำคัญกับคุณเข้าไปในระบบ! ถอยกลับไปยังตำแหน่งอื่น!

การติดตั้ง iSH

เริ่มต้นด้วยการติดตั้ง TestFlight จากแอพสโตร์ จากนั้นติดตั้ง iSH ได้รับลิงค์การติดตั้งแล้ว จากเว็บไซต์แอปพลิเคชัน มีวิธีการติดตั้งอื่นโดยใช้ AltStore แต่ฉันยังไม่ได้ลอง หรือหากคุณมีบัญชีนักพัฒนาแบบชำระเงิน คุณสามารถดาวน์โหลดพื้นที่เก็บข้อมูล iSH ได้จาก GitHub และติดตั้งด้วยตนเอง

การใช้ลิงก์ TestFlight จะติดตั้งแอปพลิเคชัน iSH บนอุปกรณ์ของคุณ เช่นเดียวกับแอปพลิเคชันอื่นๆ ไอคอนจะปรากฏบนหน้าจอ

การจัดการแพ็คเกจ

iSH รันโปรแกรมจำลอง x86 พร้อม Alpine Linux Alpine เป็น distro เล็กๆ ที่มีขนาดไม่ถึง 5MB นี่เป็นครั้งแรกที่ฉันทำงานกับ Alpine ดังนั้นฉันจึงคิดว่าความเรียบง่ายคงจะน่ารำคาญ แต่จริงๆ แล้วฉันชอบมันมาก

การเปิดตัวบรรทัดคำสั่ง Linux บน iOS
อัลไพน์ใช้ตัวจัดการแพ็คเกจ APKซึ่งง่ายกว่า apt หรือ pacman

วิธีติดตั้งแพ็คเกจ:

apk add package

วิธีลบแพ็คเกจ:

apk del package

วิธีค้นหาคำสั่งและข้อมูลอื่นๆ:

apk --help

อัปเดตตัวจัดการแพ็คเกจ:

apk update
apk upgrade

การติดตั้งโปรแกรมแก้ไขข้อความ

โปรแกรมแก้ไขข้อความเริ่มต้นของ Alpine คือ Vi แต่ฉันชอบ Vim ดังนั้นฉันจึงติดตั้งมัน:

apk add vim

หากต้องการคุณสามารถติดตั้ง Nano หรือ Emacs ได้

การเปลี่ยนแปลงเชลล์

ฉันไม่รู้เกี่ยวกับคุณ แต่ฉันต้องการ ตู้ปลา. คนอื่นชอบ ทุบตี หรือ zsh. อย่างไรก็ตาม อัลไพน์ใช้ขี้เถ้า! Ash เป็นทางแยกของเปลือก Dash ซึ่งตัวมันเองเป็นทางแยกของเถ้าดั้งเดิมหรือ เปลือก Almquist. ลำดับความสำคัญของเธอคือความเร็ว ฉันตัดสินใจแลกความเร็วกับการเติมข้อความอัตโนมัติ สี การควบคุมปุ่ม Vim และไวยากรณ์ที่เน้นที่ฉันชอบและรู้จากเปลือกปลาในตัว

การติดตั้งปลา:

apk add fish

หากคุณต้องการ Bash ที่มีการเติมข้อความอัตโนมัติและหน้าคู่มือ ให้ติดตั้ง:

apk add bash bash-doc bash-completion

อุดมการณ์แบบมินิมอลลิสต์ของ Alpine มักจะหมายความว่าบางโปรแกรมที่รวมอยู่ในแพ็คเกจอื่น ๆ จะถูกแบ่งออกเป็นแพ็คเกจเล็ก ๆ หลายแพ็คเกจ นอกจากนี้ยังหมายความว่าคุณสามารถปรับแต่งและลดขนาดระบบของคุณได้ตามที่คุณต้องการ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้ง Bash โปรดดู บทช่วยสอนนี้.

การเปลี่ยนเชลล์เริ่มต้น

หลังจากติดตั้งปลาแล้ว คุณสามารถสลับไปใช้ปลาได้ชั่วคราวโดยเข้าไป fish และเข้าไปในเปลือก แต่ฉันต้องการให้ปลาเป็นเชลล์เริ่มต้นและคำสั่ง chshซึ่งฉันใช้กับการแจกแจงอื่น ๆ ใช้งานไม่ได้

ขั้นแรกเราค้นหาว่าติดตั้งปลาไว้ที่ไหน:

which fish

นี่คือสิ่งที่ฉันได้รับ:

/usr/bin/fish

จากนั้นเปลี่ยนล็อกอินเชลล์เป็นฟิช คุณสามารถใช้โปรแกรมแก้ไขใดก็ได้ที่สะดวกสำหรับคุณ หากคุณเป็นมือใหม่ให้ติดตั้ง Nano (ด้วยคำสั่ง apk add nano) เพื่อให้คุณสามารถแก้ไขไฟล์การกำหนดค่าและบันทึกผ่าน CTRL+X ยืนยันและออก

แต่ฉันใช้เป็นกลุ่ม:

vim /etc/passwd

บรรทัดแรกของฉันเป็นเช่นนี้:

root:x:0:0:root:/root:/bin/ash

หากต้องการให้ปลาเป็นเปลือกหอยเริ่มต้น ให้เปลี่ยนบรรทัดนี้เป็นดังนี้:

root:x:0:0:root:/root:/usr/bin/fish

จากนั้นบันทึกไฟล์และออก

ฉันแน่ใจว่ามีวิธีที่ดีในการเปลี่ยนเส้นทางไปยังเชลล์เพื่อให้สามารถใช้งานได้ทันที แต่ฉันไม่รู้ ดังนั้นฉันแนะนำให้กลับไปที่เบราว์เซอร์แอปพลิเคชัน บังคับออกจากเชลล์ และเพื่อความปลอดภัย ให้ปิดและรีสตาร์ท iPad หรือ iPhone ของคุณ เปิด iSH อีกครั้งและตอนนี้ นอกเหนือจากข้อความ “ยินดีต้อนรับสู่อัลไพน์!” และข้อมูลเกี่ยวกับการเปิดตัวจาก apk คุณจะเห็นข้อความต้อนรับการเข้าสู่ระบบปลามาตรฐาน: ยินดีต้อนรับสู่ปลาเปลือกโต้ตอบที่เป็นมิตร. ไชโย!

การเปิดตัวบรรทัดคำสั่ง Linux บน iOS

การตั้งค่า Python และ pip

ฉันตัดสินใจที่จะเพิ่ม หลาม (เวอร์ชัน 3.x) ไม่ใช่แค่เขียนโค้ดเท่านั้น แต่ยังเป็นเพราะผมใช้โปรแกรม Python หลายโปรแกรมด้วย มาติดตั้งกัน:

apk add python3

แม้ว่า Python 2.x จะล้าสมัย แต่คุณสามารถติดตั้งได้:

apk add python

มาติดตั้งตัวจัดการแพ็คเกจ Python ชื่อ pip และ เครื่องมือติดตั้ง:

python3 -m ensurepip --default-pip

จะใช้เวลาสักครู่ในการติดตั้งและกำหนดค่าตัวจัดการแพ็คเกจ ดังนั้นให้รอสักครู่

จากนั้นคุณสามารถดาวน์โหลดเครื่องมือเพื่อถ่ายโอนไฟล์ผ่านเครือข่ายได้ โค้ง:

apk add curl

การอ่านคู่มือ

Fish ใช้การเติมข้อความอัตโนมัติในตัวตามหน้าคน เช่นเดียวกับผู้ใช้บรรทัดคำสั่งอื่นๆ ฉันใช้คู่มือนี้ manแต่ไม่ได้ติดตั้งในอัลไพน์ ดังนั้นฉันจึงติดตั้งด้วยเทอร์มินัลเพจเจอร์ น้อยลง:

apk add man man-pages less less-doc

นอกจากผู้ชายแล้วฉันยังใช้ความงดงามอีกด้วย โครงการหน้า tldrซึ่งมีหน้าคู่มือที่เรียบง่ายและขับเคลื่อนโดยชุมชน

ฉันติดตั้งโดยใช้ pip:

pip install tldr

ทีม tldr เชื่อมต่อกับเว็บเพื่อดึงข้อมูลเพจเมื่อพบคำขอเพจใหม่ หากคุณต้องการทราบวิธีใช้คำสั่งคุณสามารถเขียนได้ประมาณนี้ tldr curl และรับคำอธิบายเป็นภาษาอังกฤษธรรมดาและตัวอย่างการใช้คำสั่งที่ดี

แน่นอนว่างานติดตั้งทั้งหมดนี้สามารถทำได้โดยอัตโนมัติ ดอทไฟล์ หรือสคริปต์การติดตั้ง แต่จริงๆ แล้วสิ่งนี้ไม่สอดคล้องกับอุดมการณ์ของ Alpine จริงๆ - ปรับแต่งการติดตั้งขั้นต่ำให้ตรงตามความต้องการของคุณ นอกจากนี้มันใช้เวลานานมากใช่ไหม?

ข้อมูลเพิ่มเติม

iSH Wiki มีหน้า "งานอะไร" พร้อมรายงานว่าแพ็กเกจใดที่กำลังทำงานอยู่ โดยวิธีการก็คือ npm ไม่ทำงานในขณะนี้.

หน้าวิกิอีกหน้าจะอธิบายวิธีการ เข้าถึงไฟล์ iSH จากแอปไฟล์ iOS นี่เป็นวิธีหนึ่งที่คุณสามารถย้ายและคัดลอกไฟล์ได้

คุณยังสามารถติดตั้ง Git ได้ (ใช่! apk add git ) และผลักดันงานของคุณไปยังพื้นที่เก็บข้อมูลระยะไกลหรือถ่ายโอนไปยังเซิร์ฟเวอร์ผ่าน SSH และแน่นอน คุณสามารถดาวน์โหลดและรันโปรเจ็กต์โอเพ่นซอร์สที่ยอดเยี่ยมจำนวนเท่าใดก็ได้จาก GitHub

ข้อมูลเพิ่มเติมเกี่ยวกับ iSH สามารถดูได้ที่ลิงก์เหล่านี้:

เป็นโฆษณา

วสินา ข้อเสนอ เซิร์ฟเวอร์เสมือนบน Linux หรือวินโดวส์ เราใช้แต่เพียงผู้เดียว อุปกรณ์ที่มีตราสินค้าแผงควบคุมเซิร์ฟเวอร์ที่ดีที่สุดในการออกแบบของตัวเองและเป็นหนึ่งในศูนย์ข้อมูลที่ดีที่สุดในรัสเซียและสหภาพยุโรป รีบสั่งเลย!

การเปิดตัวบรรทัดคำสั่ง Linux บน iOS

ที่มา: will.com

เพิ่มความคิดเห็น