เปิดใช้งานบรรทัดคำสั่ง Linux บน iOS

เปิดใช้งานบรรทัดคำสั่ง Linux บน iOS

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

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

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

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

การใช้บรรทัดคำสั่งในการเขียนโปรแกรมผ่านแป้นพิมพ์บนหน้าจอของโทรศัพท์หรือแท็บเล็ตนั้นค่อนข้างไม่สะดวก ผมขอแนะนำให้เชื่อมต่อแป้นพิมพ์ภายนอก ไม่ว่าจะผ่านบลูทูธหรือใช้อะแดปเตอร์กล้องเพื่อเชื่อมต่อแป้นพิมพ์แบบมีสาย (ผมเลือกแบบหลัง) เมื่อเชื่อมต่อแป้นพิมพ์แยก 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 แบบโอเพ่นซอร์สที่เปิดตัวเครื่องเสมือนพร้อมการแจกจ่ายแบบสำเร็จรูป อัลไพน์ Linux (ใช้ความพยายามเพียงเล็กน้อย คุณก็สามารถเรียกใช้การแจกแจงอื่นๆ ได้)

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

การติดตั้ง iSH

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

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

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

iSH รันโปรแกรมจำลอง x86 ด้วย Alpine LinuxAlpine เป็นระบบปฏิบัติการขนาดเล็กมาก มีขนาดไม่ถึง 5 MB นี่เป็นครั้งแรกที่ผมใช้ 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 อีกครั้ง และคราวนี้ นอกเหนือจากข้อความ "ยินดีต้อนรับสู่ Alpine!" และข้อมูลเกี่ยวกับการเปิดใช้งานจากไฟล์ APK แล้ว คุณจะเห็นข้อความต้อนรับการเข้าสู่ระบบมาตรฐานของ fish ด้วย: ยินดีต้อนรับสู่ปลาเปลือกโต้ตอบที่เป็นมิตร. ไชโย!

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

เปิดใช้งานบรรทัดคำสั่ง Linux บน iOS

ที่มา: will.com

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster