pengenalan
Artikel ini ditujukan untuk perhatian administrator sistem yang menyiapkan tempat kerja biasa di komputer yang menjalankan Windows 10, termasuk pengembang perangkat lunak.
Perlu dicatat bahwa ada masalah tertentu yang terkait dengan ketidakmungkinan mengintegrasikan perangkat lunak yang diperoleh dari toko online Microsoft Store untuk digunakan dalam gambar khusus Windows 10. Tanpa merinci, saya akan mengklarifikasi bahwa masalah ini terkait dengan fakta bahwa program yang diinstal dari Microsoft Store berkomunikasi dengan akun layanan Administrator, dan saat pembuatan gambar kustom diselesaikan oleh utilitas sysprep
kesalahan terjadi karena keadaan ini.
Metode yang dibahas dalam artikel ini menghindari masalah ini saat menyiapkan image OS Windows 10 dengan subsistem WSL2 yang telah dikonfigurasi sebelumnya, serta image OS Ubuntu 20.04 yang telah disiapkan dan dikonfigurasi sebelumnya dengan GUI Plasma KDE, yang pada gilirannya dapat memilikinya sendiri set perangkat lunak kustom.
Ada banyak contoh dan tutorial di Internet untuk menyiapkan subsistem WSL (yaitu WSL1 dan WSL2 yang relatif baru), dengan menyiapkan antarmuka GUI untuk sistem OS berbasis linux dari Ubuntu 16.04 hingga Ubuntu 20.04, tetapi ini terutama menyangkut desktop berbasis pada 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 banyak informasi yang ditemukan di internet. Tetapi opsi inilah yang memberi pengguna akhir serangkaian pengaturan yang hampir tidak terbatas untuk tampilan sistem dan pengaturan perangkat keras, tentu saja, dengan mempertimbangkan kemampuan integrasi saat ini dari sistem linux yang diimplementasikan dalam subsistem WSL2.
Menginstal perangkat lunak yang diperlukan dan mengonfigurasi WSL2
Kami memeriksa versi Windows saat ini, untuk ini, di bilah pencarian Windows, masukkan perintah winver
dan kami mendapatkan sesuatu seperti ini:
Penting bahwa versi OS adalah 1903 atau 1909 (versi OS yang ditentukan harus dengan pembaruan kumulatif KB4566116 diinstal), atau 2004 (nomor build tidak kurang dari 19041), informasi lainnya tidak masalah. Jika nomor versi kurang, disarankan agar Anda memutakhirkan ke versi Windows terbaru untuk mereproduksi hasil dengan benar di artikel ini.
Untuk kenyamanan tindakan lebih lanjut, instal Terminal Windows gratis menggunakan Microsoft Store (ada juga kemungkinan 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
Di tempat yang nyaman di disk, kami membuat direktori tempat kami akan menyimpan file kami. Sebagai contoh, mari buat direktori C:wsl
.
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
).
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
Jika perlu,
Kami meluncurkan Terminal Windows dan memilih 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
Ubah ke direktori bootloader mandiri Ubuntu 20.04, dalam kasus saya ini 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 20.04 diinstal. Mari kita periksa kebenaran pengaturan mode WSL2, untuk ini, di Terminal Windows, pilih tab Windows PowerShell dan masukkan perintah:
wsl -l -v
hasil eksekusi harus seperti ini:
Kami mengonfigurasi firewall Pertahanan Microsoft, 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
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
.
Instal lokalisasi dan kamus bahasa 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
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 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:wslUbuntu-plasma-desktop
gambar yang dibuat akan membantu kami mengotomatiskan operasi peluncuran / penginstalan ulang Ubuntu 20.04 yang dikonfigurasi, jika perlu, ini akan memungkinkan kami untuk dengan mudah mentransfernya ke komputer lain.
Mempersiapkan file bat dan pintasan ke 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 penginstalan awal gambar Ubuntu 20.04 yang dibuat di komputer dengan subsistem WSL2 yang sudah dikonfigurasi dan server X. Jika nama pengguna dan kata sandi berbeda dari yang ditentukan 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: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 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: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 20.04 mengharuskan Anda keluar dari akun pengguna untuk menerapkan perubahan pada pengaturan, atau Anda perlu memulai ulang OS, untuk melakukan ini, di Terminal Windows, masukkan perintah:
wsl -d Ubuntu20.04 --shutdown
Dengan jalan pintas Plasma-desktop
ΠΈΠ»ΠΈ Konsole
Anda dapat menjalankan KDE Plasma Ubuntu 20.04 GUI. Misalnya, instal dengan 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 mengonfigurasi akses ke Ubuntu20.04 dengan 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 reboot Ubuntu20.04.
Setiap kali Anda memulai Ubuntu20.04, alamat ip internal berubah, sebelum mengatur akses jarak jauh, Anda perlu memeriksa alamat ip saat ini menggunakan perintah 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 menutup desktop Windows, untuk beralih antara aplikasi windows linux dan windows kami menggunakan kombinasi tombol yang terkenal 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