
pengenalan
Artikel ini ditujukan untuk para administrator sistem yang menyiapkan workstation standar pada komputer yang menjalankan sistem operasi tertentu. Windows 10, termasuk untuk pengembang perangkat lunak.
Perlu dicatat bahwa ada masalah khusus terkait ketidakmampuan untuk mengintegrasikan perangkat lunak yang diperoleh dari Microsoft Store untuk digunakan dalam citra kustom. Windows 10Tanpa membahas detailnya, saya akan mengklarifikasi bahwa masalah ini terkait dengan fakta bahwa program yang diinstal dari Microsoft Store dikaitkan dengan akun layanan Administrator, dan ketika utilitas selesai membuat citra kustom. sysprep kesalahan terjadi karena keadaan ini.
Metode yang dibahas dalam artikel ini memungkinkan Anda untuk menghindari masalah ini saat mempersiapkan citra sistem operasi. Windows 10 dengan subsistem WSL2 yang telah dikonfigurasi sebelumnya, serta citra OS yang telah disiapkan dan dikonfigurasi sebelumnya. Ubuntu 20.04 dengan GUI KDE Plasma, yang pada gilirannya dapat memiliki perangkat lunak penggunanya sendiri.
Terdapat banyak sekali contoh dan panduan di internet untuk menyiapkan subsistem WSL (yaitu WSL1 dan WSL2 yang relatif baru), dengan pengaturan antarmuka GUI untuk sistem Linux berdasarkan OS mulai dari versi tertentu. Ubuntu 16.04 dan berakhir Ubuntu 20.04, tetapi ini sebagian besar menyangkut desktop berbasis xfce4 yang disebut "ringan", yang memiliki keterbatasan yang dapat dimengerti dalam pengaturan pengguna. Tetapi untuk GUI KDE Plasma untuk Ubuntu Hingga 20.04 April, belum ditemukan informasi signifikan secara daring. Namun, versi khusus ini menyediakan pengguna akhir dengan serangkaian opsi kustomisasi yang hampir tak terbatas baik untuk tampilan sistem maupun pengaturan perangkat keras, dengan mempertimbangkan kemampuan integrasi sistem Linux saat ini yang diimplementasikan dalam subsistem WSL2.
Menginstal perangkat lunak yang diperlukan dan mengonfigurasi WSL2
Memeriksa versi saat ini Windows, untuk ini di bilah pencarian Windows masukkan perintah winver dan kami mendapatkan sesuatu seperti ini:
Penting agar versi OS Anda adalah 1903 atau 1909 (versi OS ini harus memiliki pembaruan kumulatif KB4566116 yang terpasang), atau 2004 (nomor build minimal 19041). Jika tidak, hal itu tidak penting. Jika nomor versinya lebih rendah, kami sarankan untuk meningkatkan ke versi terbaru untuk memastikan hasil yang dijelaskan dalam artikel ini direplikasi dengan benar. Windows.
Untuk memudahkan tindakan selanjutnya, kami menyediakan versi gratisnya. Windows Terminal, menggunakan Microsoft Store (Anda juga dapat mengunduh dari sumber lain):
Kami menginstal X Server X410 melalui Microsoft Store yang sama, perangkat lunak ini berbayar, tetapi ada periode gratis 15 hari, yang cukup untuk berbagai pengujian.
Sebagai alternatif gratis untuk X410 dan instal server VcXsrv X.
Di tempat yang nyaman di disk, kami membuat direktori tempat kami akan menyimpan file kami. Sebagai contoh, mari buat direktori C:wsl.
dan instal penginstal mandiri. Ubuntu 20.04 April, ekstrak file hasil kompresi menggunakan program pengarsipan (misalnya 7-zip). Ganti nama direktori yang telah diekstrak dengan nama yang panjang. Ubuntu_2004.2020.424.0_x64 menjadi sesuatu yang lebih dapat diterima, seperti Ubuntu-20.04 dan salin ke direktori C:wsl (selanjutnya sederhana wsl).
dan bongkar ke direktori wsl server suara lintas platform PulseAudio v.1.1., kami juga melakukan koreksi pada file konfigurasinya.
Dalam file wslpulseaudio-1.1etcpulsedefault.pa bagian Load audio drivers statically mengedit baris:
load-module module-waveout sink_name=output source_name=input record=0
dan di bagian Network access mengedit baris:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
Dalam file wslpulseaudio-1.1etcpulsedaemon.conf batalkan komentar dan ubah baris
exit-idle-time = -1
Kami mengonfigurasi subsistem WSL2 sesuai dengan Microsoft. Satu-satunya kendala adalah distribusinya. Ubuntu Kami sudah mengunduhnya, dan akan menginstalnya pada langkah selanjutnya. Pada dasarnya, pengaturan ini hanya melibatkan pengaktifan komponen tambahan dari "Subsistem". Windows untuk Linux" dan "Platform Mesin Virtual", lalu mulai ulang komputer untuk menerapkan perubahan pada pengaturan komputer:
Jika perlu, dan instal paket pembaruan kernel. Linux di WSL2.
Meluncurkan Windows Terminal dan pilih mode operasi Command Prompt dengan menekan tombol. Ctrl+Shift+2.
Pertama-tama, kami mengatur mode operasi WSL2, untuk ini kami memasukkan perintah:
wsl --set-default-version 2
Masuk ke direktori tempat bootloader mandiri berada. Ubuntu 20.04, dalam kasus saya adalah wslUbuntu-20.04 dan jalankan file ubuntu2004.exe. Saat diminta nama pengguna, masukkan nama pengguna engineer (Anda dapat memasukkan nama lain), masukkan kata sandi Anda dan konfirmasikan kata sandi yang dimasukkan untuk akun yang ditentukan:
Prompt terminal muncul, kernel Ubuntu Versi 20.04 sudah terpasang. Mari kita periksa apakah mode WSL2 sudah dikonfigurasi dengan benar. Untuk melakukan ini, Windows Terminal, pilih bookmark. Windows Buka PowerShell dan masukkan perintah:
wsl -l -v
hasil eksekusi harus seperti ini:
Kami mengonfigurasi firewall Pertahanan Microsoft, mis. nonaktifkan untuk jaringan publik:
pengaturan Ubuntu 20.04
Π Windows Di Terminal, pilih tab Command Prompt lagi dan instal pembaruan untuk Ubuntu 20.04. Untuk melakukan ini, masukkan perintah berikut di baris perintah:
sudo apt update && sudo apt upgrade βy
Instal desktop KDE Plasma:
sudo apt install kubuntu-desktop -y
penginstalan memakan waktu hingga 30 menit, tergantung pada kinerja komputer dan bandwidth saluran akses Internet, saat diminta oleh penginstal, kami mengonfirmasi OK.
Menginstal lokalisasi dan kamus bahasa Rusia Ubuntu 20.04. Untuk melakukan ini, masukkan perintah berikut di baris perintah:
sudo apt install language-pack-ru language-pack-kde-ru -y
sudo apt install libreoffice-l10n-ru libreoffice-help-ru -y
sudo apt install hunspell-ru mueller7-dict -y
sudo update-locale LANG=ru_RU.UTF-8
sudo dpkg-reconfigure locales # ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ru_RU.UTF-8 UTF-8, ΡΠΌ. ΡΠΊΡΠΈΠ½ΡΠΎΡΡ Π½ΠΈΠΆΠ΅.
sudo apt-get install --reinstall locales
Tambahkan versi terbaru desktop KDE Plasma:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Kami menambahkan kumpulan aplikasi konsol kami sendiri, misalnya mc ΠΈ neofetch:
sudo apt install mc neofetch -y
Kami memeriksa apa yang terjadi, masuk ke baris perintah neofetch, lihat tangkapan layar:
Mengedit file konfigurasi WSL /etc/wsl.conf:
sudo nano /etc/wsl.conf
salin teks ke jendela editor teks kosong yang terbuka:
[automount]
enabled = true
root = /mnt
options = Β«metadata,umask=22,fmask=11Β»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
Simpan perubahan (Ctrl+O), konfirmasi operasi dan keluar dari editor teks (Ctrl+X).
Mengekspor gambar yang telah dikonfigurasi Ubuntu-20.04 dalam katalog yang kami buat wsl. Untuk tujuan ini di Windows Terminal, pilih bookmark lagi. Windows Buka PowerShell dan masukkan perintah:
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
Citra yang dibuat akan membantu kita mengotomatiskan operasi peluncuran/instal ulang yang telah dikonfigurasi. Ubuntu Versi 20.04, jika perlu, akan memungkinkan Anda untuk dengan mudah mentransfernya ke komputer lain.
Menyiapkan file batch dan pintasan desktop Windows
Menggunakan editor Notepad ++, buat file bat (diperlukan dalam pengkodean OEM-866 untuk keluaran karakter Cyrillic yang benar):
berkas Install-Ubuntu-20.04-plasma-desktop.bat β dirancang untuk mengotomatiskan instalasi awal dari citra yang dibuat Ubuntu 20.04 pada komputer dengan subsistem WSL2 dan server X yang telah dikonfigurasi sebelumnya. Jika nama pengguna dan kata sandi berbeda dari yang ditentukan dalam contoh, Anda perlu melakukan perubahan yang sesuai pada file .bat ini:
@echo off
wsl --set-default-version 2
cls
echo ΠΠΆΠΈΠ΄Π°ΠΉΡΠ΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Ubuntu-20.04 ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½!
echo ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Β«rootΒ» Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ,
echo Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Β«engineerΒ», ΠΏΠ°ΡΠΎΠ»Ρ: Β«passwordΒ».
pause
berkas Reinstall-Ubuntu-20.04-plasma-desktop.bat β dirancang untuk menginstal ulang citra yang telah disiapkan Ubuntu 20.04 di komputer.
@echo off
wsl --unregister Ubuntu-20.04
wsl --set-default-version 2
cls
echo ΠΠΆΠΈΠ΄Π°ΠΉΡΠ΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Ubuntu-20.04 ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½!
pause
berkas Set-default-user.bat - untuk mengatur pengguna default.
@echo off
set /p answer=ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Π² Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Π£ΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ %answer% Π² Ubuntu-20.04 ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ!
pause
berkas Start-Ubuntu-20.04-plasma-desktop.bat - peluncuran sebenarnya dari desktop KDE Plasma.
@echo off
echo ===================================== ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ============================================
echo ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ GUI Ubuntu 20.04 Π² WSL2 Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ X Server.
echo ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ VcXsrv Windows X Server Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ
echo ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅ Start-Ubuntu-20.04-plasma-desktop.bat, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ "config.xlaunch" ΠΈ
echo "vcxsrv.exe", ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ "x410".
echo ============================================================================================
rem start "" /B "c:wslvcxsrvconfig.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.exe run "if [ -z "$(pidof plasmashell)" ]; then cd ~ ; export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export LIBGL_ALWAYS_INDIRECT=1 ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &> /dev/null ; sudo service ssh start ; sudo service xrdp start ; plasmashell ; pkill '(gpg|ssh)-agent' ; fi;"
rem taskkill.exe /F /T /IM vcxsrv.exe > nul
taskkill.exe /F /T /IM x410.exe > nul
taskkill.exe /F /IM pulseaudio.exe > nul
berkas Start-Ubuntu-20.04-terminal.bat - meluncurkan terminal grafis tanpa desktop KDE Plasma.
@echo off
echo ===================================== ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ============================================
echo ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ GUI Ubuntu 20.04 Π² WSL2 Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ X Server.
echo ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ VcXsrv Windows X Server Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ
echo ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅ Start-Ubuntu-20.04-plasma-desktop.bat, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ "config.xlaunch" ΠΈ
echo "vcxsrv.exe", ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ "x410".
echo ============================================================================================
rem start "" /B "c:wslvcxsrvconfig.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.exe run "cd ~ ; export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; export LIBGL_ALWAYS_INDIRECT=1 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &> /dev/null ; sudo service ssh start ; sudo service xrdp start ; konsole ; pkill '(gpg|ssh)-agent' ;"
taskkill.exe /F /T /IM x410.exe > nul
rem taskkill.exe /F /T /IM vcxsrv.exe > nul
taskkill.exe /F /IM pulseaudio.exe > nul
Juga untuk kemudahan penggunaan dalam katalog wsl kami menyiapkan pintasan yang menunjuk ke file kelelawar yang sesuai. Kemudian isi direktori wsl adalah sebagai berikut:
Meluncurkan Desktop Plasma KDE
Kami memeriksa bahwa semua langkah persiapan telah selesai, kami mencoba meluncurkan pintasan Plasma-desktop. Permintaan kata sandi muncul, masukkan kata sandi untuk akun tersebut dan ... jendela ditutup. Tidak apa-apa pertama kali. Kami mencoba lagi - dan kami melihat bilah tugas KDE Plasma yang sudah dikenal. Kami menyesuaikan tampilan bilah tugas, misalnya, untuk kemudahan penggunaan, panel dipindahkan ke sisi kanan layar dan di tengah. Kami memeriksa pengaturan pelokalan, jika perlu, tambahkan bahasa Rusia:
Jika perlu, kami membawa pintasan untuk aplikasi linux yang diinstal ke bilah tugas KDE Plasma.
Jika Ubuntu Versi 20.04 mengharuskan Anda untuk keluar dari akun pengguna Anda untuk menerapkan perubahan pada pengaturan, atau Anda perlu me-reboot sistem operasi, untuk hal ini. Windows Di Terminal, masukkan perintah:
wsl -d Ubuntu20.04 --shutdown
Dengan jalan pintas Plasma-desktop ΠΈΠ»ΠΈ Konsole Anda dapat menjalankan GUI KDE Plasma. Ubuntu 20.04. Misalnya, kita akan menginstal menggunakan Konsole Editor grafis GIMP:
Setelah instalasi selesai, jalankan dari Konsole Editor grafis GIMP:
GIMP berfungsi, yang ingin saya periksa.
Dan inilah cara kerja berbagai aplikasi linux di KDE Plasma di WSL2:
bilah tugas KDE Plasma yang disesuaikan ada di sisi kanan layar. dan video di jendela Firefox diputar dengan suara.
Jika perlu, Anda dapat mengkonfigurasi akses ke Ubuntu20.04 sampai SSH ΠΈ RDP, untuk ini Anda perlu menginstal layanan yang sesuai dengan perintah:
sudo apt install ssh xrdp -y
catatan: untuk mengaktifkan akses kata sandi oleh SSH Anda perlu mengedit file /etc/ssh/sshd_config, yaitu parameternya PasswordAuthentication no harus diatur ke PasswordAuthentication yes, simpan perubahan dan mulai ulang Ubuntu20.04.
Setiap kali saya menyalakannya UbuntuPada tanggal 20.04 April, alamat IP internal berubah. Sebelum mengatur akses jarak jauh, Anda perlu memeriksa alamat IP saat ini menggunakan perintah berikut. ip a:
Karenanya, alamat ip ini harus dimasukkan dalam pengaturan sesi SSH ΠΈ RDP sebelum memulai.
Seperti inilah tampilan akses jarak jauh SSH menggunakan MobaXterm:
Dan seperti inilah tampilan akses jarak jauh RDP:
Menggunakan x server vcxsrv bukan x410
Meluncurkan dan menyiapkan vcxsrv, setel kotak centang yang sesuai dengan hati-hati:




Menyimpan konfigurasi yang dikonfigurasi dalam direktori wslvcxsrv dengan nama standar config.xlaunch.
Mengedit file bat Start-Ubuntu-20.04-plasma-desktop.bat ΠΈ Start-Ubuntu-20.04-terminal.bat sesuai dengan instruksi mereka.
Meluncurkan pintasan Plasma-desktop, dan inilah yang kami dapatkan:
Desktop KDE Plasma sepenuhnya menutupi desktop. WindowsUntuk beralih antara jendela aplikasi Linux dan Windows, kita menggunakan kombinasi tombol yang sudah dikenal. Alt+Tab, yang sangat tidak nyaman.
Selain itu, fitur yang tidak menyenangkan dari server X terungkap vcxsrv - macet saat meluncurkan beberapa aplikasi, khususnya GIMP atau LibreOffice Writer yang sama. Mungkin kita harus menunggu hingga pengembang menghapus "bug" yang diperhatikan, tetapi ini belum pasti ... Jadi, untuk mendapatkan hasil yang dapat diterima, lebih baik menggunakan X Server Microsoft x410.
Kesimpulan
Tetap saja, kami harus memberi penghormatan kepada Microsoft, produk WSL2 ternyata cukup berfungsi, dan menurut pendapat saya yang tidak berpengalaman, sangat sukses. Dan setahu saya, para developer terus gencar "menyelesaikannya", dan mungkin - dalam satu atau dua tahun, subsistem ini akan muncul dengan segala kelengkapan fungsionalnya.
Sumber: www.habr.com
