Aplikasi Linux di Chrome OS

click fraud protection

Aplikasi Linux akan segera tersedia di Chrome OS, dimulai dengan Google Pixelbook, berkat Project Crostini. Apa itu Crostini dan mengapa begitu penting? Kami mendalami perubahan terbesar pada Chrome OS sejak integrasi aplikasi Android.

Inilah semua yang perlu Anda ketahui tentang pengembangan fungsionalitas aplikasi Linux rahasia Google selama setahun di Chrome OS, juga dikenal sebagai Project Crostini.

Singkatnya, ini adalah cara untuk menjalankan aplikasi Linux biasa di Chrome OS tanpa mengorbankan keamanan atau mengaktifkan mode pengembang. Yang (belum tersedia) negara pengaturan resmi yaitu untuk "Menjalankan alat, editor, dan IDE Linux di Chromebook Anda".

Crostini adalah puncak dari pengembangan selama beberapa tahun yang memungkinkan fungsionalitas berjalan cukup aman untuk memenuhi standar keamanan tinggi Chrome OS. Untuk memahami mengapa itu hanya muncul, yang terbaik adalah melihat apa yang muncul sebelumnya.

Menempatkan Crostini dalam konteks – zaman kegelapan Chrome OS

Sebelum aplikasi Android hadir, tidak banyak fungsi offline apalagi aplikasi produktivitas yang berguna di Chrome OS. Mengapa orang waras membeli Chromebook? “Ini hanya browser web,” adalah kata penutup dari setiap ulasan Chromebook. Toko Web Chrome sebanyak yang Anda dapatkan, tetapi pemilihan aplikasi sangat buruk dan jarang diperbarui. Para petualang bisa mencoba menjalankan aplikasi Android menggunakan alat bernama

tukang las ARC, tapi itu untung-untungan dan kinerjanya buruk.

Untuk mengatasi batasan offline, pengguna yang frustrasi menghapus Chrome OS dan menginstal Linux atau menggunakan alat open source crouton untuk menyiapkan lingkungan desktop secara bersamaan [mis. Ubuntu Unity] yang bekerja di atas kernel Chrome OS.

Memasang Crouton, perangkat sumber terbuka, yang sebelumnya merupakan cara de-facto untuk mengakses aplikasi Linux di Chrome OS, akan segera ditinggalkan

Menjalankan distribusi pengganti GNU/Linux atau Crouton memerlukan sedikit pengetahuan dan sering kali penuh dengan bug—dan tidak ada opsi yang ramah pengguna atau aman. Tekan tombol yang salah dan Anda akan menghapus perangkat Anda atau merusaknya, dan jika Anda membiarkan lingkungan Crouton Anda tidak terenkripsi, setiap pengguna tamu dapat mengaksesnya.

Integrasi aplikasi Android, menetapkan preseden

Aplikasi Android hadir di Chrome OS pada tahun 2016 dan merupakan lompatan besar dalam fungsi luring, tetapi mengaktifkan fungsi ini bukan hanya plug-and-play. Satu-satunya cara itu bisa bekerja pada OS yang menghargai keamanan adalah jika itu di-sandbox secara efektif.

Solusi baru yang dipilih pengembang Chrome OS adalah containerisasi, sebuah cara untuk membundel aplikasi ke dalam paket mandiri yang dapat dieksekusi. Menggunakan wadah dan lebih dari beberapa penyesuaian, mereka berhasil mendapatkan lingkungan Android lengkap dan sebagainya dependensinya untuk dijalankan dalam wadah, terpisah dari Chrome OS lainnya namun berjalan di tempat yang sama inti.

Tetapi aplikasi Android biasanya tidak dikembangkan dengan mempertimbangkan faktor bentuk desktop/laptop. Tambahkan pengalaman sentuh yang buruk di Chrome OS ke dalam campuran dan Anda akan mendapatkan sesi produktivitas yang membuat frustrasi jika aplikasi berfungsi sama sekali.

Sakit kepala dengan kompatibilitas—Aplikasi Android di Chrome OS

Sementara aplikasi Android membantu menjembatani kesenjangan produktivitas sejauh ini, masih ada kerinduan untuk perpustakaan besar aplikasi desktop lengkap. Seperti masalah Android awal, cukup membuka kemampuan untuk menjalankan aplikasi Linux meningkatkan permukaan serangan Chrome OS karena aplikasi jahat dapat memiliki akses ke semua yang ada di tuan rumah OS. Jadi kali ini para pengembang merancang fungsionalitas aplikasi Linux sesederhana mungkin, di atas apa yang telah mereka pelajari dengan Android.

Pertahanan secara mendalam

Seperti namanya, Crostini seperti Crouton, tetapi bukannya memiliki ruang pengguna yang tidak aman di samping Chrome OS, ada dua dinding di antaranya. Dinding pertama adalah Termina VM, sebuah implementasi Chrome OS KVM (Kernel-based Virtual Machine). Setelah VM itu dimulai, ia memasang dinding kedua—wadah—yang kemudian memiliki aplikasi yang benar-benar ingin Anda jalankan. Jadi, saat Anda ingin menjalankan aplikasi desktop Klondike yang lengkap, aplikasi ini berjalan dalam container-inside-a-VM.

Para pengembang belum membuat dokumentasi publik yang dapat dicerna secara khusus dari sudut pandang non-teknis, tetapi dari bacaan awam saya yang tidak resmi, perangkat lunak arsitektur untuk Chrome OS sekarang mungkin terlihat seperti ini [catatan: semua bekerja sendiri, jelas bukan dokumen resmi tim Chrome OS, mungkin sama sekali tidak benar, tolong jangan sakiti aku]:

Seperti apa menurut kami arsitektur Crostini. Bukan dokumen resmi.

Singkatnya, komponen VM memiliki ruang pengguna dan perangkat virtual yang terpisah (vCPU, IP, MAC, dll.), dan wadahnya adalah aplikasi terpaket yang menggunakan sumber daya tersebut. Pada titik ini, saya harus menambahkan peringatan bahwa komponen VM sebenarnya tidak meniru perangkat keras apa pun.

Hanya orang kaya… untuk saat ini

Beberapa, seperti komunitas di Reddit's /r/Crostini, sudah mulai mengutak-atik Crostini pada mereka Google Pixelbook. Sayangnya Pixelbook adalah satu-satunya perangkat yang memiliki fungsi Crostini sejauh ini, tetapi tanda-tanda menunjuk ke perangkat lain, bahkan perangkat dengan sistem-on-chip ARM, menerima dukungan di masa mendatang. Tapi mungkin belum cukup untuk mesin 32-bit. Ada juga petunjuk bahwa beberapa bagian fungsionalitas VM diperlukan untuk menjalankan Crostini tidak akan tersedia untuk perangkat dengan versi kernel yang lebih lama.

Jika Anda sudah sejauh ini, Anda mungkin bertanya-tanya: Apa yang bisa saya jalankan? Keberhasilan telah dibatasi. Pengembang Chrome telah mengisyaratkan bahwa mereka menjalankan Visual Studio. Pengguna Reddit telah membuat WINE dan Android Studio berfungsi, dan ChromeUnboxed sangat berguna demo video. Tapi kita mungkin tidak akan mengetahui kemampuan penuh—dan batasan—sebelum Google benar-benar menampilkan sesuatu. Yang kami tahu adalah itu aplikasi bersifat persisten, artinya Anda dapat melanjutkan di mana Anda tinggalkan dan pengembang sedang berupaya membuatnya tersedia di daftar aplikasi terbaru Anda.

Apa selanjutnya? Beberapa hal yang perlu dipertimbangkan

Jika Anda berada di saluran pengembang di Chromebook selain Pixelbook, aplikasi Terminal mungkin telah hadir di Chromebook Anda. Anda mungkin melihat kesalahan "gagal memulai pramutamu". Itu karena fungsionalitas VM belum diaktifkan di perangkat selain Pixelbook….

Kami belum tahu bagaimana sumber daya dialokasikan dan jenis overhead apa yang dihasilkan aplikasi bersarang ini. Ide bermain game di game Steam yang kompatibel dengan Linux sangat menarik, tetapi jika akselerasi GPU tidak tersedia, untuk saat ini, itu tidak boleh dilakukan.

Kami tidak tahu batasan apa yang akan dihasilkan oleh celah udara host/kontainer (jika ada). Komunikasi antara wadah dan Chrome OS dikontrol, jadi apakah itu akan menimbulkan latensi atau bahkan menonaktifkan beberapa periferal?

Kami memiliki banyak pertanyaan yang belum terjawab, dan hanya masalah waktu sampai semuanya terungkap. Banyak yang yakin Google I/O 2018 dalam beberapa minggu akan menjadi pengungkapan besar—masuk akal karena ini adalah konferensi pengembang. Sementara itu, pantau terus selagi kami memantau Crostini.


Sumber:

Maksim Lin – Wadah Chrome OS

Chrome Git - bundel wadah ARC, vm_tools, proyek-termina, crosvm