pengantar
Artikel ini ditujukan untuk perhatian administrator sistem yang menyiapkan tempat kerja pada komputer yang menjalankan Windows 10, termasuk pengembang perangkat lunak.
Perlu dicatat bahwa ada masalah tertentu terkait dengan ketidakmampuan untuk mengintegrasikan perangkat lunak yang diperoleh dari Microsoft Store on-line untuk digunakan dalam gambar kustom Windows 10. Tanpa merinci, saya akan mengklarifikasi bahwa masalah ini disebabkan oleh fakta bahwa program yang diinstal dari Microsoft Store ditautkan dengan akun layanan Administrator, dan ketika utilitas selesai membuat gambar kustom
sysprep
, terjadi kesalahan karena keadaan ini.
Metode yang dibahas dalam artikel ini untuk menghindari masalah seperti itu saat menyiapkan gambar Windows 10 dengan subsistem WSL2 yang telah dikonfigurasi sebelumnya, serta dengan gambar Ubuntu 20.04 yang telah disiapkan dan dikonfigurasi sebelumnya dengan KDE Plasma GUI, yang pada gilirannya mungkin memiliki perangkat lunak kustomnya sendiri.
Di Internet ada banyak contoh dan panduan untuk mengkonfigurasi subsistem WSL (yaitu WSL1 dan WSL2 yang relatif baru), dengan mengkonfigurasi antarmuka GUI untuk sistem linux berdasarkan OS yang dimulai dari Ubuntu 16.04 hingga Ubuntu 20.04, tetapi yang paling penting adalah desktop berdasarkan apa yang disebut. Xfce4 "Ringan", yang memiliki batasan yang dapat dimengerti dalam pengaturan pengguna. Tetapi sejauh menyangkut KDE Plasma GUI untuk Ubuntu 20.04, tidak ada informasi penting di internet. Tetapi opsi inilah yang memberikan pengguna akhir seperangkat pengaturan yang hampir tidak terbatas untuk tampilan sistem dan pengaturan untuk peralatan, tentu saja, dengan mempertimbangkan kemampuan integrasi sistem linux saat ini yang diimplementasikan dalam subsistem WSL2.
Menginstal rangkaian perangkat lunak yang diperlukan dan mengkonfigurasi WSL2
Kami memeriksa versi Windows saat ini, untuk ini, di bilah pencarian Windows, masukkan perintah
winver
dan dapatkan sesuatu seperti berikut:
Penting bahwa OS memiliki versi 1903 atau 1909 (versi OS yang ditentukan harus dengan pembaruan kumulatif KB4566116 diinstal), atau 2004 (nomor versi tidak kurang dari 19041), informasi lainnya tidak menjadi masalah. Jika nomor versi lebih rendah, Anda disarankan untuk meningkatkan ke versi terbaru Windows untuk mengulangi hasil yang disajikan dalam artikel ini dengan benar.
Untuk kenyamanan tindakan selanjutnya, instal Terminal Windows gratis menggunakan Microsoft Store (ada juga kemungkinan untuk 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, unduh dan instal server VcXsrv X.
Di tempat mana pun yang nyaman di disk, buat direktori tempat kami akan menyimpan file kami. Mari buat direktori sebagai contoh
C:\wsl
.
Unduh dan instal penginstal offline Ubuntu 20.04, keluarkan file yang dihasilkan menggunakan pengarsip (misalnya 7-zip). Kami mengganti nama direktori yang belum dibuka dengan nama yang panjang
Ubuntu_2004.2020.424.0_x64
menjadi sesuatu yang lebih dapat diterima, misalnya, Ubuntu-20.04
dan menyalinnya ke direktori C:\wsl
(selanjutnya cukup \wsl
).
Unduh dan
\wsl
buka paket server suara lintas platform PulseAudio v.1.1 ke dalam direktori , dan lakukan juga koreksi pada file konfigurasinya.
Di file di
\wsl\pulseaudio-1.1\etc\pulse\default.pa
bawahLoad audio drivers statically
edit baris:
load-module module-waveout sink_name=output source_name=input record=0
dan di bagian tersebut,
Network access
edit baris:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
Di file,
\wsl\pulseaudio-1.1\etc\pulse\daemon.conf
hapus komentar dan ubah baris
exit-idle-time = -1
Kami mengkonfigurasi subsistem WSL2 sesuai dengan dokumentasi Microsoft. Satu-satunya komentar adalah bahwa kami telah mengunduh distribusi Ubuntu, dan kami akan menginstalnya di langkah berikutnya. Pada dasarnya, konfigurasi bermuara pada mengaktifkan komponen tambahan "Subsistem Windows untuk Linux" dan "Platform Mesin Virtual", dan kemudian melakukan boot ulang untuk menerapkan perubahan pada pengaturan komputer:
Jika perlu, unduh dan instal paket pembaruan untuk kernel Linux di WSL2.
Luncurkan Terminal Windows dan pilih mode 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
Buka direktori dengan bootloader Ubuntu 20.04 offline, dalam kasus saya, ini
\wsl\Ubuntu-20.04
dan jalankan file ubuntu2004.exe
. Saat diminta nama pengguna, saya tentukan nama engineer
(Anda dapat memasukkan nama lain), masukkan kata sandi Anda dan konfirmasi kata sandi yang dimasukkan untuk akun yang ditentukan:
Perintah terminal muncul, kernel Ubuntu 20.04 telah diinstal. Mari kita periksa kebenaran pengaturan mode WSL2, untuk ini, di Terminal Windows, pilih tab Windows PowerShell dan masukkan perintah:
wsl -l -v
hasil eksekusinya harus seperti ini:
Kami mengkonfigurasi firewall Microsoft Defender, mis. nonaktifkan untuk jaringan publik:
Menyiapkan Ubuntu 20.04
Di Terminal Windows, pilih lagi tab Command Prompt dan instal pembaruan untuk Ubuntu 20.04. Untuk melakukan ini, pada baris perintah, masukkan:
sudo apt update && sudo apt upgrade –y
Menginstal desktop KDE Plasma:
sudo apt install kubuntu-desktop -y
penginstalan membutuhkan waktu hingga 30 menit, tergantung pada kinerja komputer dan bandwidth saluran akses Internet, ketika diminta oleh penginstal, kami mengonfirmasi
OK
.
Menginstal lokalisasi dan kamus Rusia Ubuntu 20.04. Untuk melakukan ini, pada baris perintah, masukkan:
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
Menambahkan satu set aplikasi konsol, misalnya
mc
, dan neofetch
:
sudo apt install mc neofetch -y
Kami memeriksa apa yang terjadi, masukkan ke dalam baris perintah
neofetch
, lihat tangkapan layar:
Mengedit file konfigurasi WSL
/etc/wsl.conf
:
sudo nano /etc/wsl.conf
salin teks ke dalam 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
), konfirmasikan operasi dan keluar dari editor teks ( Ctrl+X
).
Kami mengekspor gambar Ubuntu-20.04 yang disesuaikan ke direktori yang kami buat
\wsl
. Untuk melakukan ini, di Terminal Windows, pilih lagi tab Windows PowerShell dan masukkan perintah:
wsl --export Ubuntu-20.04 c:\wsl\Ubuntu-plasma-desktop
gambar yang dibuat akan membantu kami mengotomatiskan operasi startup / penginstalan ulang dari Ubuntu 20.04 yang dikonfigurasi, jika perlu, ini akan memungkinkan kami untuk dengan mudah mentransfernya ke komputer lain.
Mempersiapkan file bat dan shortcut ke desktop Windows
Menggunakan editor Notepad ++, buat file bat (wajib dalam pengkodean OEM-866 untuk tampilan yang benar dari karakter Cyrillic):
File
Install-Ubuntu-20.04-plasma-desktop.bat
- dirancang untuk mengotomatiskan penginstalan awal dari image Ubuntu 20.04 yang dibuat pada komputer dengan subsistem WSL2 dan server X yang sudah dikonfigurasi. Jika nama pengguna dan kata sandi berbeda dari yang ditunjukkan dalam contoh, maka 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:\wsl\Ubuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Ubuntu-20.04 !
echo «root» ,
echo «engineer», : «password».
pause
File
Reinstall-Ubuntu-20.04-plasma-desktop.bat
- dimaksudkan untuk menginstal ulang image Ubuntu 20.04 yang telah disiapkan 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:\wsl\Ubuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Ubuntu-20.04 !
pause
File
Set-default-user.bat
- untuk mengatur pengguna "default".
@echo off
set /p answer= Ubuntu (engineer):
c:\wsl\Ubuntu-20.04\ubuntu2004.exe config --default-user %answer%
cls
echo %answer% Ubuntu-20.04 !
pause
File tersebut
Start-Ubuntu-20.04-plasma-desktop.bat
adalah 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:\wsl\vcxsrv\config.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:\wsl\pulseaudio-1.1\bin\pulseaudio.exe" --use-pid-file=false -D > nul
c:\wsl\Ubuntu-20.04\Ubuntu2004.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
File
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:\wsl\vcxsrv\config.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:\wsl\pulseaudio-1.1\bin\pulseaudio.exe" --use-pid-file=false -D > nul
c:\wsl\Ubuntu-20.04\Ubuntu2004.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
Selain itu, untuk kemudahan penggunaan, kami
\wsl
menyiapkan pintasan di direktori yang menunjuk ke file bat yang sesuai. Setelah itu, isi direktorinya \wsl
terlihat seperti ini:
Meluncurkan Desktop Plasma KDE
Kami memeriksa bahwa semua tindakan persiapan telah selesai, kami mencoba meluncurkan pintasan
Plasma-desktop
. Permintaan kata sandi muncul, masukkan kata sandi untuk akun dan ... jendela ditutup. Tidak apa-apa saat pertama kali. Mencoba lagi, kami melihat bilah tugas KDE Plasma yang sudah dikenal. Kami mengkonfigurasi tampilan bilah tugas yang diperlukan, misalnya, untuk kemudahan penggunaan, panel dipindahkan ke sisi kanan layar dan ditengah. Kami memeriksa pengaturan lokalisasi, jika perlu, tambahkan bahasa Rusia:
Jika perlu, letakkan pintasan untuk aplikasi linux yang diinstal pada bilah tugas KDE Plasma.
Jika Ubuntu 20.04 mengharuskan Anda untuk keluar dari akun pengguna untuk menerapkan perubahan ke pengaturan, atau Anda perlu memulai ulang OS, untuk melakukan ini, masukkan perintah di Terminal Windows:
wsl -d Ubuntu20.04 --shutdown
Menggunakan pintasan
Plasma-desktop
atau, Konsole
Anda dapat meluncurkan GUI KDE Plasma Ubuntu 20.04. Misalnya, mari instal menggunakan Konsole
editor grafis GIMP:
Setelah penginstalan selesai, jalankan
Konsole
editor grafis GIMP dari editor grafis:
GIMP berfungsi, yang ingin Anda periksa.
Dan inilah cara kerja berbagai aplikasi linux di KDE Plasma di WSL2:
bilah tugas Plasma KDE yang disesuaikan ada di sisi kanan layar. dan video di jendela Firefox diputar dengan suara.
Jika perlu, Anda dapat mengonfigurasi akses ke Ubuntu20.04 dengan
SSH
dan RDP
, untuk ini Anda perlu menginstal layanan yang sesuai dengan perintah:
sudo apt install ssh xrdp -y
catatan: untuk mengaktifkan akses kata sandi oleh perangkat lunak,
SSH
Anda perlu mengedit file /etc/ssh/sshd_config
, yaitu, parameter PasswordAuthentication no
harus disetel ke nilai PasswordAuthentication yes
, simpan perubahan, dan mulai ulang Ubuntu20.04.
Setiap kali Anda memulai Ubuntu20.04, alamat ip internal berubah, sebelum mengonfigurasi akses jarak jauh, Anda perlu menentukan alamat ip saat ini menggunakan perintah
ip a
:
Karenanya, alamat ip diperlukan dalam pengaturan sesi
SSH
dan RDP
sebelum memulai.
Beginilah tampilan akses
SSH
perangkat lunak jarak jauh menggunakan MobaXterm:
Dan seperti inilah tampilan akses jarak jauh
RDP
:
Menggunakan server vcxsrv X sebagai ganti x410
Luncurkan dan konfigurasi
vcxsrv
, centang kotak yang sesuai:
Kami menyimpan konfigurasi yang dikonfigurasi dalam direktori
\wsl\vcxsrv
dengan nama standar config.xlaunch
.
Kami mengedit file bat
Start-Ubuntu-20.04-plasma-desktop.bat
dan Start-Ubuntu-20.04-terminal.bat
sesuai dengan instruksi yang tersedia di dalamnya.
Kami meluncurkan pintasan
Plasma-desktop
, dan inilah yang kami dapatkan:
Desktop KDE Plasma menutup sepenuhnya desktop Windows, kami menggunakan kombinasi tombol terkenal untuk beralih antara jendela aplikasi linux dan windows
Alt+Tab
, yang sangat tidak nyaman.
Selain itu, fitur yang tidak menyenangkan dari X-server terungkap
vcxsrv
- ia macet saat meluncurkan beberapa aplikasi, khususnya GIMP atau LibreOffice Writer yang sama. Mungkin Anda harus menunggu pengembang untuk menghapus "bug" yang diketahui, tetapi ini tidak pasti ... Jadi untuk mendapatkan hasil yang dapat diterima, lebih baik menggunakan Microsoft X Server x410.
Kesimpulan
Tetap saja, kita harus memberi penghormatan kepada Microsoft, produk WSL2 ternyata cukup berfungsi, dan, menurut pendapat saya yang tidak canggih, sangat sukses. Dan sejauh yang saya tahu, para pengembang terus bekerja keras untuk "menyelesaikannya", dan mungkin - dalam satu atau dua tahun, subsistem ini akan muncul dengan semua kelengkapan fungsionalnya.