แอป Linux จะพร้อมใช้งานบน Chrome OS เร็วๆ นี้ โดยเริ่มจาก Google Pixelbook ต้องขอบคุณ Project Crostini Crostini คืออะไรและเหตุใดจึงสำคัญ? เราเจาะลึกถึงการเปลี่ยนแปลงครั้งใหญ่ที่สุดใน Chrome OS นับตั้งแต่รวมแอป Android
ต่อไปนี้คือทั้งหมดที่คุณต้องรู้เกี่ยวกับการพัฒนาฟังก์ชันการทำงานของแอป Linux อย่างลับๆ ตลอดทั้งปีของ Google ใน Chrome OS หรือที่รู้จักในชื่อ Project Crostini
โดยสรุป นี่เป็นวิธีเรียกใช้แอปพลิเคชัน Linux ทั่วไปบน Chrome OS โดยไม่กระทบต่อความปลอดภัยหรือเปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์ (ยังไม่มีให้บริการ) สถานะการตั้งค่าอย่างเป็นทางการ นั่นคือ "เรียกใช้เครื่องมือ Linux ตัวแก้ไข และ IDE บน Chromebook ของคุณ"
Crostini เป็นจุดสุดยอดของการพัฒนาหลายปีที่ทำให้ฟังก์ชันการทำงานทำงานได้อย่างปลอดภัยเพียงพอที่จะเป็นไปตามมาตรฐานความปลอดภัยระดับสูงของ Chrome OS เพื่อให้เข้าใจว่าทำไมมันถึงเพิ่งปรากฏขึ้น วิธีที่ดีที่สุดคือดูว่ามีอะไรเกิดขึ้นมาก่อน
ใส่ Crostini ในบริบท – ยุคมืดของ Chrome OS
ก่อนที่แอป Android จะมาถึงที่เกิดเหตุ ฟังก์ชันการทำงานออฟไลน์มีไม่มากนัก ไม่ต้องพูดถึงแอปเพิ่มประสิทธิภาพการทำงานที่มีประโยชน์ใน Chrome OS ทำไมคนมีสติถึงซื้อ Chromebook “มันเป็นเพียงเว็บเบราว์เซอร์” เป็นคำพูดปิดท้ายของการรีวิว Chromebook ทุกครั้ง Chrome เว็บสโตร์มีมากพอๆ กับที่คุณจะได้รับ แต่แอปที่เลือกได้ค่อนข้างแย่และไม่ค่อยได้รับการอัปเดต นักผจญภัยสามารถลองรันแอพพลิเคชั่น Android โดยใช้เครื่องมือที่เรียกว่า
เครื่องเชื่อมอาร์คแต่นั่นก็โดนหรือพลาดและประสิทธิภาพก็แย่เพื่อหลีกเลี่ยงข้อจำกัดด้านออฟไลน์ ผู้ใช้ที่หงุดหงิดต้องล้าง Chrome OS และติดตั้ง Linux หรือใช้เครื่องมือโอเพ่นซอร์ส ครูตัน เพื่อตั้งค่าสภาพแวดล้อมเดสก์ท็อปพร้อมกัน [เช่น Ubuntu Unity] ที่ทำงานบนเคอร์เนล Chrome OS
การเรียกใช้การกระจาย GNU/Linux หรือ Crouton ทดแทนนั้นจำเป็นต้องใช้ความรู้ความชำนาญเล็กน้อยและมักจะเต็มไปด้วยข้อบกพร่อง และตัวเลือกทั้งสองก็ไม่เป็นมิตรต่อผู้ใช้หรือมีความปลอดภัยเป็นพิเศษ กดปุ่มผิดและคุณจะล้างข้อมูลอุปกรณ์ของคุณหรือปิดเครื่อง และหากคุณปล่อยให้สภาพแวดล้อม Crouton ของคุณไม่มีการเข้ารหัส ผู้ใช้ทั่วไปก็สามารถเข้าถึงได้
การรวมแอป Android ไว้เป็นแบบอย่าง
แอป Android เปิดตัวบน Chrome OS ในปี 2559 และถือเป็นก้าวกระโดดครั้งใหญ่ในด้านฟังก์ชันการทำงานแบบออฟไลน์ แต่การเปิดใช้งานฟังก์ชันนี้ไม่ใช่แค่ Plug-and-Play เท่านั้น วิธีเดียวที่จะสามารถทำงานบนระบบปฏิบัติการที่ให้ความสำคัญกับความปลอดภัยได้ก็คือถ้ามันถูกแซนด์บ็อกซ์อย่างมีประสิทธิภาพ
โซลูชันใหม่ที่นักพัฒนา Chrome OS เลือกคือ การบรรจุภาชนะซึ่งเป็นวิธีรวมแอปพลิเคชันไว้ในแพ็คเกจปฏิบัติการแบบสแตนด์อโลน การใช้คอนเทนเนอร์และการปรับแต่งมากกว่าสองสามครั้ง พวกเขาจัดการเพื่อให้ได้สภาพแวดล้อม Android เต็มรูปแบบและทั้งหมด การขึ้นต่อกันในการทำงานในคอนเทนเนอร์ ซึ่งแยกออกจากส่วนที่เหลือของ Chrome OS ที่ยังทำงานบนคอนเทนเนอร์เดียวกัน เคอร์เนล
แต่โดยปกติแล้วแอป Android จะไม่ได้รับการพัฒนาโดยคำนึงถึงฟอร์มแฟคเตอร์ของเดสก์ท็อป/แล็ปท็อป เพิ่มประสบการณ์การสัมผัสที่ไม่ดีบน Chrome OS ลงในส่วนผสม และคุณจะมีเซสชันประสิทธิภาพการทำงานที่น่าหงุดหงิดหากแอปใช้งานได้เลย
แม้ว่าแอป Android จะช่วยลดช่องว่างด้านประสิทธิภาพการทำงานจนถึงขณะนี้ แต่ก็ยังมีความโหยหาคลังแอปเดสก์ท็อปเต็มรูปแบบจำนวนมหาศาล เช่นเดียวกับปัญหา Android เบื้องต้น เพียงแค่เปิดความสามารถในการรันแอพพลิเคชั่น Linux เท่านั้น เพิ่มพื้นที่การโจมตีของ Chrome OS เนื่องจากแอปพลิเคชันที่เป็นอันตรายสามารถเข้าถึงทุกสิ่งบน ระบบปฏิบัติการโฮสต์ ในครั้งนี้ นักพัฒนาได้ออกแบบฟังก์ชันการทำงานของแอป Linux ให้แยกส่วนที่สุดเท่าที่จะเป็นไปได้ นอกเหนือจากสิ่งที่พวกเขาได้เรียนรู้จาก Android แล้ว
การป้องกันในเชิงลึก
ตามชื่อที่สื่อถึง Crostini ก็เหมือนกับ Crouton แต่แทนที่จะมีพื้นที่ผู้ใช้ที่ไม่ปลอดภัยนั่งอยู่ข้างๆ Chrome OS กลับมีกำแพงสองอันกั้นระหว่างพวกเขา ผนังแรกคือ Termina VM ซึ่งเป็นการใช้งาน Chrome OS KVM (เครื่องเสมือนที่ใช้เคอร์เนล) เมื่อ VM นั้นเริ่มทำงาน มันจะสร้างกำแพงที่สองขึ้นมา ซึ่งเป็นคอนเทนเนอร์ ซึ่งมีแอปที่คุณต้องการเรียกใช้จริง ๆ ดังนั้นเมื่อคุณต้องการเรียกใช้แอปเดสก์ท็อป Klondike ที่มีคุณสมบัติครบถ้วน แอปนั้นจะทำงานในคอนเทนเนอร์ภายใน a-VM
นักพัฒนาไม่ได้จัดทำเอกสารที่เปิดเผยต่อสาธารณะโดยเฉพาะจากมุมมองที่ไม่ใช่ทางเทคนิค แต่จากการอ่านของคนธรรมดาสามัญของฉันซอฟต์แวร์ สถาปัตยกรรมสำหรับ Chrome OS ตอนนี้น่าจะเป็นแบบนี้ [หมายเหตุ: ทั้งหมดเป็นงานของตัวเอง ไม่ใช่เอกสารอย่างเป็นทางการของทีมงาน Chrome OS แน่นอน อาจจะไม่จริงเลย โปรดอย่า ทำร้ายฉัน]:
กล่าวโดยสรุป ส่วนประกอบ VM มีพื้นที่ผู้ใช้และอุปกรณ์เสมือนแยกต่างหาก (vCPU, IP, MAC ฯลฯ) และคอนเทนเนอร์นั้นเป็นแอปแพ็กเกจที่ใช้ทรัพยากรเหล่านั้น ณ จุดนี้ ฉันควรเพิ่มข้อแม้ที่ส่วนประกอบ VM ไม่ได้จำลองฮาร์ดแวร์ใด ๆ จริงๆ.
คนรวยเท่านั้น…สำหรับตอนนี้
บางคนชอบชุมชนที่ Reddit's /r/Crostiniได้เริ่มปรับแต่งกับ Crostini แล้ว Google Pixelbook. น่าเสียดายที่ จนถึงขณะนี้ Pixelbook เป็นอุปกรณ์เดียวที่มีฟังก์ชัน Crostiniแต่สัญญาณชี้ไปที่อุปกรณ์อื่นๆ แม้กระทั่งอุปกรณ์ที่มีระบบ ARM บนชิป จะได้รับการสนับสนุนในอนาคต แต่บางที ยังไม่ใช่สำหรับเครื่อง 32 บิต. นอกจากนี้ยังมีคำแนะนำว่าฟังก์ชันการทำงานของ VM บางส่วนจำเป็นต้องใช้ Crostini จะไม่สามารถใช้งานได้กับอุปกรณ์ที่มีเคอร์เนลเวอร์ชันเก่ากว่า.
หากคุณมาไกลขนาดนี้ คุณอาจสงสัยว่า: ฉันจะวิ่งอะไรได้บ้าง ความสำเร็จมีจำกัด นักพัฒนา Chrome ได้บอกเป็นนัยว่าพวกเขาใช้งาน Visual Studio อยู่ ผู้ใช้ Reddit ทำให้ WINE และ Android Studio ใช้งานได้ และ ChromeUnboxed ก็มีประโยชน์เช่นกัน วิดีโอสาธิต. แต่เราอาจไม่ทราบความสามารถและข้อจำกัดทั้งหมดก่อนที่ Google จะแสดงบางสิ่งบางอย่างจริงๆ สิ่งที่เรารู้ก็คือว่า แอพยังคงอยู่ซึ่งหมายความว่าคุณสามารถดำเนินการต่อจากจุดที่คุณค้างไว้ได้ และนักพัฒนาซอฟต์แวร์กำลังทำงานเพื่อให้สามารถใช้งานได้ในรายการแอปล่าสุดของคุณ
อะไรต่อไป? ประเด็นที่ควรพิจารณา
หากคุณอยู่ในช่องนักพัฒนาซอฟต์แวร์บน Chromebook อื่นที่ไม่ใช่ Pixelbook แอป Terminal อาจมาถึง Chromebook ของคุณแล้ว คุณอาจเห็นข้อผิดพลาด "ไม่สามารถเริ่มเจ้าหน้าที่อำนวยความสะดวก" นั่นเป็นเพราะว่ายังไม่ได้เปิดใช้งานฟังก์ชัน VM บนอุปกรณ์อื่นที่ไม่ใช่ Pixelbook...
เรายังไม่ทราบว่ามีการจัดสรรทรัพยากรอย่างไร และแอปที่ซ้อนกันเหล่านี้ผลิตค่าใช้จ่ายประเภทใด แนวคิดในการเล่นเกมบน Steam ที่เข้ากันได้กับ Linux นั้นน่าดึงดูดใจ แต่หากไม่มีการเร่งความเร็วของ GPU ในตอนนี้ก็ไม่ต้องทำอะไรเลย
เราไม่ทราบว่าช่องว่างอากาศของโฮสต์/คอนเทนเนอร์จะทำให้เกิดข้อจำกัดอะไรบ้าง (ถ้ามี) การสื่อสารระหว่างคอนเทนเนอร์และ Chrome OS ได้รับการควบคุม ดังนั้นจะทำให้เกิดความล่าช้าหรือแม้กระทั่งปิดการใช้งานอุปกรณ์ต่อพ่วงบางอย่างหรือไม่
เรามีคำถามมากมายที่ยังไม่มีคำตอบ และเป็นเพียงเรื่องของเวลาจนกว่าทุกอย่างจะถูกเปิดเผย หลายคนมีความมั่นใจ กูเกิล ไอ/โอ 2018 ในอีกไม่กี่สัปดาห์จะมีการเปิดเผยครั้งใหญ่ มันสมเหตุสมผลแล้วเพราะเป็นการประชุมนักพัฒนา ในระหว่างนี้ โปรดคอยติดตามขณะที่เราติดตาม Crostini
แหล่งที่มา:
Maksim Lin – คอนเทนเนอร์ Chrome OS
โครเมียม Git - ชุดคอนเทนเนอร์ ARC, vm_tools, โครงการสิ้นสุด, ครอสวีม