
คุณรู้หรือไม่ว่าคุณสามารถเรียกใช้คำสั่งผ่านบรรทัดคำสั่งได้? 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 . มัน เชลล์คำสั่งแบบแซนด์บ็อกซ์ที่รองรับคำสั่งมากกว่า 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 โดยไม่มีเซิร์ฟเวอร์
หากเป็นกรณีของคุณ คุณจะต้องก้าวไปอีกขั้นหนึ่ง เป็นบริการที่เป็นกรรมสิทธิ์สำหรับการติดตั้งแอปพลิเคชันที่พัฒนาแล้วก่อนที่จะเผยแพร่ใน Apple App Store คุณสามารถติดตั้งแอป TestFlight ได้จาก App Store จากนั้นใช้แอปทดสอบ แอปใน TestFlight อนุญาตให้ผู้ทดสอบเบต้าในจำนวนจำกัด (ปกติสูงสุด 10 คน) ทำงานร่วมกับพวกเขาได้ในระยะเวลาที่จำกัด หากต้องการดาวน์โหลดแอปพลิเคชันทดสอบ คุณต้องไปจากอุปกรณ์ของคุณไปยังลิงก์ที่ปกติจะอยู่บนเว็บไซต์ของผู้พัฒนาแอปพลิเคชันทดสอบ
การเปิดตัว Alpine Linux ด้วย iSH
เป็นแอปพลิเคชัน TestFlight แบบโอเพ่นซอร์สที่เปิดตัวเครื่องเสมือนพร้อมการแจกจ่ายแบบสำเร็จรูป (ใช้ความพยายามเพียงเล็กน้อย คุณก็สามารถเรียกใช้การแจกแจงอื่นๆ ได้)
คุณลักษณะที่สำคัญ: การประยุกต์ใช้การทดลอง. เนื่องจากปัจจุบัน iSH เป็นแอปพลิเคชันทดสอบ อย่าคาดหวังการทำงานที่คงที่และเชื่อถือได้ แอปพลิเคชัน TestFlight มีกำหนดเวลา โครงสร้างปัจจุบันของฉันจะมีอายุการใช้งานเพียง 60 วันเท่านั้น ซึ่งหมายความว่าหลังจาก 60 วัน ฉันจะถูกกำจัด และจะต้องเข้าร่วมการทดสอบ iSH รอบถัดไปอีกครั้ง นอกจากนี้ ฉันจะสูญเสียไฟล์ทั้งหมดของฉัน เว้นแต่ฉันจะส่งออกโดยใช้ไฟล์บน iOS หรือคัดลอกไปยังโฮสต์ Git หรือ . กล่าวอีกนัยหนึ่ง: อย่าคาดหวังว่าสิ่งนี้จะทำงานต่อไป! อย่าใส่อะไรที่สำคัญกับคุณเข้าไปในระบบ! ถอยกลับไปยังตำแหน่งอื่น!
การติดตั้ง iSH
เริ่มต้นด้วยการติดตั้ง จากแอพสโตร์ จากนั้นติดตั้ง iSH จากเว็บไซต์แอปพลิเคชัน มีวิธีการติดตั้งอื่นโดยใช้ AltStore แต่ฉันยังไม่ได้ลอง หรือหากคุณมีบัญชีนักพัฒนาแบบชำระเงิน คุณสามารถดาวน์โหลดพื้นที่เก็บข้อมูล iSH ได้จาก GitHub และติดตั้งด้วยตนเอง
การใช้ลิงก์ TestFlight จะติดตั้งแอปพลิเคชัน iSH บนอุปกรณ์ของคุณ เช่นเดียวกับแอปพลิเคชันอื่นๆ ไอคอนจะปรากฏบนหน้าจอ
การจัดการแพ็คเกจ
iSH รันโปรแกรมจำลอง x86 ด้วย Alpine LinuxAlpine เป็นระบบปฏิบัติการขนาดเล็กมาก มีขนาดไม่ถึง 5 MB นี่เป็นครั้งแรกที่ผมใช้ Alpine ดังนั้นผมจึงคิดว่าความเรียบง่ายของมันอาจทำให้รำคาญ แต่จริงๆ แล้วผมชอบมันมาก

อัลไพน์ใช้ตัวจัดการแพ็คเกจ ซึ่งง่ายกว่า apt หรือ pacman
วิธีติดตั้งแพ็คเกจ:
apk add packageวิธีลบแพ็คเกจ:
apk del packageวิธีค้นหาคำสั่งและข้อมูลอื่นๆ:
apk --helpอัปเดตตัวจัดการแพ็คเกจ:
apk update
apk upgradeการติดตั้งโปรแกรมแก้ไขข้อความ
โปรแกรมแก้ไขข้อความเริ่มต้นของ Alpine คือ Vi แต่ฉันชอบ Vim ดังนั้นฉันจึงติดตั้งมัน:
apk add vimหากต้องการคุณสามารถติดตั้ง Nano หรือ Emacs ได้
การเปลี่ยนแปลงเชลล์
ฉันไม่รู้เกี่ยวกับคุณ แต่ฉันต้องการ . คนอื่นชอบ หรือ . อย่างไรก็ตาม อัลไพน์ใช้ขี้เถ้า! Ash เป็นทางแยกของเปลือก Dash ซึ่งตัวมันเองเป็นทางแยกของเถ้าดั้งเดิมหรือ . ลำดับความสำคัญของเธอคือความเร็ว ฉันตัดสินใจแลกความเร็วกับการเติมข้อความอัตโนมัติ สี การควบคุมปุ่ม 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 ด้วย: ยินดีต้อนรับสู่ปลาเปลือกโต้ตอบที่เป็นมิตร. ไชโย!

การตั้งค่า 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นอกจากผู้ชายแล้วฉันยังใช้ความงดงามอีกด้วย ซึ่งมีหน้าคู่มือที่เรียบง่ายและขับเคลื่อนโดยชุมชน
ฉันติดตั้งโดยใช้ pip:
pip install tldr ทีม tldr เชื่อมต่อกับเว็บเพื่อดึงข้อมูลเพจเมื่อพบคำขอเพจใหม่ หากคุณต้องการทราบวิธีใช้คำสั่งคุณสามารถเขียนได้ประมาณนี้ tldr curl และรับคำอธิบายเป็นภาษาอังกฤษธรรมดาและตัวอย่างการใช้คำสั่งที่ดี
แน่นอนว่างานติดตั้งทั้งหมดนี้สามารถทำได้โดยอัตโนมัติ หรือสคริปต์การติดตั้ง แต่จริงๆ แล้วสิ่งนี้ไม่สอดคล้องกับอุดมการณ์ของ Alpine จริงๆ - ปรับแต่งการติดตั้งขั้นต่ำให้ตรงตามความต้องการของคุณ นอกจากนี้มันใช้เวลานานมากใช่ไหม?
ข้อมูลเพิ่มเติม
iSH Wiki มีหน้า "" พร้อมรายงานว่าแพ็กเกจใดที่กำลังทำงานอยู่ โดยวิธีการก็คือ .
หน้าวิกิอีกหน้าจะอธิบายวิธีการ จากแอปไฟล์ iOS นี่เป็นวิธีหนึ่งที่คุณสามารถย้ายและคัดลอกไฟล์ได้
คุณยังสามารถติดตั้ง Git ได้ (ใช่! apk add git ) และผลักดันงานของคุณไปยังพื้นที่เก็บข้อมูลระยะไกลหรือถ่ายโอนไปยังเซิร์ฟเวอร์ผ่าน SSH และแน่นอน คุณสามารถดาวน์โหลดและรันโปรเจ็กต์โอเพ่นซอร์สที่ยอดเยี่ยมจำนวนเท่าใดก็ได้จาก GitHub
ข้อมูลเพิ่มเติมเกี่ยวกับ iSH สามารถดูได้ที่ลิงก์เหล่านี้:
เป็นโฆษณา
วสินา ข้อเสนอ หรือ Windowsเราใช้แต่เพียงอย่างเดียว แผงควบคุมเซิร์ฟเวอร์ที่ดีที่สุดในการออกแบบของตัวเองและเป็นหนึ่งในศูนย์ข้อมูลที่ดีที่สุดในรัสเซียและสหภาพยุโรป รีบสั่งเลย!
ที่มา: will.com
