Bagaimana cara kerja "Bash on windows 10" yang baru?

25

Saya membaca secara online bahwa Ubuntu dan bash akan datang ke windows 10. Saya juga membaca bahwa itu bukan emulator atau mesin virtual yang berjalan di atas windows, tetapi sesuatu yang lain. Jadi bagaimana tepatnya semua itu bisa bersatu? Dan apakah itu benar-benar akan menjadi stabil dan ramah pengguna seperti bash di ubuntu?

Maaverik
sumber
Itu tidak benar-benar memberikan gambaran yang bagus tentang apa yang sebenarnya terjadi di bawah tenda.
Maaverik
@maaverik Sejak itu kami telah menghasilkan serangkaian posting blog dan video yang menyertai menjelaskan internal WSL. Lihat jawaban saya di bawah ini untuk tautan :)
Rich Turner

Jawaban:

21

Ini bukan emulator dengan cara yang sama seperti WINE Bukan Emulator. Dengan kata lain, mereka telah menambahkan antarmuka kernel Linux ke kernel Windows mereka. Ketika sebuah aplikasi mencoba menggunakan kernel Linux, itu akan diterjemahkan ke dalam sistem panggilan Windows asli dan setiap tanggapan dari kernel diterjemahkan ke dalam respon Linux asli. Jadi aplikasi berpikir itu berjalan pada kernel Linux dan karenanya tidak perlu dimodifikasi.

Namun, ini murni teknologi Windows jadi jika Anda ingin lebih detail, Anda harus mendapatkannya dari kelompok dukungan Windows atau sesuatu. Windows terus menjadi OS berpemilik, jadi saya akan mengharapkan sejumlah detail yang terbatas.

Dan apakah itu benar-benar akan menjadi stabil dan ramah pengguna seperti bash di ubuntu?

Dari perspektif Ubuntu, kami hanya menjalankan pada kernel Linux primitif, sebanding dengan menjalankan desktop modern pada server X primitif. Jika Anda hanya menggunakan fitur yang didukung oleh kernel palsu, maka itu akan stabil dan ramah pengguna. Jika Anda menggunakan fitur yang tidak didukung, itu akan menjadi tidak stabil.

Ini tidak akan mendekati pengalaman Ubuntu yang lengkap dalam waktu dekat.

Jo-Erlend Schinstad
sumber
2
"Bukan emulator" mungkin termasuk dalam tanda kutip; seperti Wine, ini adalah emulator, tidak hanya di tingkat perangkat keras tetapi di tingkat API. Keduanya menghasilkan kehilangan kinerja tergantung pada apa yang Anda lakukan (yaitu berapa banyak panggilan sistem yang Anda lakukan).
thomasrutter
2
@thomasrutter Maaf saya tidak setuju. Definisi 'emulator' Anda terlalu longgar. Di bawah interpretasi seperti ini, kita harus memanggil proksi juga emulator (tetapi tidak). Sebuah emulator, menurut definisi, mengemulasi sesuatu. WSL (dan proksi) tidak meniru hal-hal, mereka mengubah dan meneruskan hal-hal dan mengembalikan respons.
Segfault
21

Bagi mereka yang penasaran bagaimana cara kerja Subsistem Windows untuk Linux (WSL) dan cara menjalankan binari Linux ELF-64 asli, kami telah menerbitkan serangkaian posting blog dan menyertai video yang menjelaskan arsitektur WSL, proses, syscalls, dan dukungan sistem file .

Scott Hanselman juga melakukan walkthrough video yang bagus yang mencakup proses instalasi dan cara mengkonfigurasi Bash di Ubuntu pada Windows:

HTH

Turner Kaya
sumber
3
Link pertama tidak bekerja lagi, saya pikir itu telah pindah di sini: blogs.msdn.microsoft.com/commandline/...
dpritch
Tangkapan yang bagus - terima kasih. Memperbaiki tautan ke titik di tautan singkat kami.
Rich Turner
2

Bagian bash bekerja sangat baik di WSL.

Bagian kernel tidak ada di sana. Misalnya tidak ada /sys/class/backlight/intel_backlight/brightnessAnda dapat mengakses untuk mengatur kecerahan layar. Ada perintah Powershell yang dapat Anda panggil dengan mudah untuk melakukannya jika Anda tidak keberatan dengan nama field COBOL yang sangat panjang. MS Powershell dapat dipanggil langsung dari dalam bash. Jadi Anda bisa mengatakan fitur Windows yang kuat sekarang dibangun ke bash. Dengan cara yang sama MS Powershell dapat memanggil bash saya percaya. Jadi jika Powershell benar mendapat akses ke fungsi seperti grep, awk, head, tail, dll

GUI untuk Ubuntu Desktop ( gedit, nautilus, dll) hanya bekerja setelah menginstal VcXsrvatau sesuatu yang serupa.

Berbagi file antara Linux dan Windows WSL rumit untuk diatur. Ketika ketika memindahkan file antara folder WSL + Linux NTFS yang dibagikan, saya memiliki "keanehan" izin file baik karena ketidaktahuan saya atau kekurangan perangkat lunak.

Kecepatan jauh lebih lambat di WSL daripada di Ubuntu. Anda benar-benar dapat melihat karakter layar cat oleh karakter ketika Anda menjalankan calatau toilet: Apa perbedaan antara windows bash dan cygwin?

Saya pikir WSL adalah produk yang bagus dan saya senang bermain-main dengannya ketika dual-boot ke Windows-World. Ini tidak akan pernah menjadi produk hebat karena MS kekurangan dana dan mereka benar-benar tidak ingin memiliki Distro Free-Ware Linux yang hebat. Jika Anda memiliki cukup RAM, Anda mungkin akan lebih bahagia dengan VM. Dengan hanya 8 GB saya sendiri dan harga RAM naik hingga pertengahan 2019 atau lebih, saya akan dengan senang hati bertahan dengan WSL dan melupakan upgrade RAM 32 GB untuk saat ini.

Saya telah mengunjungi beberapa forum MS dan saya harus mengatakan Rich Turner dan anggota tim WSL-nya adalah beberapa profesional terbaik yang pernah saya lihat.

WinEunuuchs2Unix
sumber