Pengenalan
Artikel ini bertujuan untuk perhatian pentadbir sistem yang menyediakan tempat kerja biasa pada komputer yang menjalankan Windows 10, termasuk pembangun perisian.
Perlu diingatkan bahawa terdapat masalah tertentu yang berkaitan dengan kemustahilan untuk mengintegrasikan perisian yang diperoleh daripada kedai dalam talian Microsoft Store untuk digunakan dalam imej Windows 10 tersuai. Tanpa pergi ke butiran, saya akan menjelaskan bahawa masalah ini berkaitan dengan fakta bahawa program yang dipasang dari Microsoft Store berkomunikasi dengan akaun perkhidmatan Pentadbir, dan apabila penciptaan imej tersuai selesai oleh utiliti sysprep
kesilapan berlaku disebabkan oleh keadaan ini.
Kaedah yang dibincangkan dalam artikel ini mengelakkan masalah ini apabila menyediakan imej OS Windows 10 dengan subsistem WSL2 pra-konfigurasi, serta imej OS Ubuntu 20.04 pra-disediakan dan dikonfigurasikan dengan GUI Plasma KDE, yang seterusnya boleh mempunyai sendiri. set perisian tersuai.
Terdapat banyak contoh dan tutorial di Internet untuk menyediakan subsistem WSL (iaitu WSL1 dan WSL2 yang agak baharu), dengan menyediakan antara muka GUI untuk sistem OS berasaskan linux daripada Ubuntu 16.04 hingga Ubuntu 20.04, tetapi ini terutamanya berkaitan desktop berasaskan pada yang dipanggil. "ringan" xfce4, yang mempunyai batasan yang boleh difahami dalam tetapan pengguna. Tetapi setakat GUI Plasma KDE untuk Ubuntu 20.04, tidak banyak maklumat yang ditemui di internet. Tetapi pilihan inilah yang memberikan pengguna akhir set tetapan yang hampir tidak terhad untuk kedua-dua penampilan sistem dan tetapan perkakasan, sudah tentu, dengan mengambil kira keupayaan penyepaduan semasa sistem linux yang dilaksanakan dalam subsistem WSL2.
Memasang set perisian yang diperlukan dan mengkonfigurasi WSL2
Kami menyemak versi Windows semasa, untuk ini, dalam bar carian Windows, masukkan arahan winver
dan kami mendapat sesuatu seperti ini:
Adalah penting bahawa versi OS ialah 1903 atau 1909 (versi OS yang ditentukan mestilah dengan kemas kini kumulatif KB4566116 dipasang), atau 2004 (nombor binaan tidak kurang daripada 19041), maklumat selebihnya tidak penting. Jika nombor versi kurang, anda disyorkan untuk menaik taraf kepada versi Windows terkini untuk menghasilkan semula keputusan dengan betul dalam artikel ini.
Untuk kemudahan tindakan selanjutnya, pasang Terminal Windows percuma menggunakan Microsoft Store (terdapat juga kemungkinan memuat turun dari sumber lain):
Kami memasang X Server X410 melalui Microsoft Store yang sama, perisian ini dibayar, tetapi terdapat tempoh percuma selama 15 hari, yang cukup untuk pelbagai ujian.
Sebagai alternatif percuma kepada X410
Di mana-mana tempat yang mudah pada cakera, kami mencipta direktori di mana kami akan menyimpan fail kami. Sebagai contoh, mari kita buat direktori C:wsl
.
Ubuntu_2004.2020.424.0_x64
menjadi sesuatu yang lebih boleh diterima, seperti Ubuntu-20.04
dan salin ke direktori C:wsl
(selepas ini secara ringkas wsl
).
wsl
pelayan bunyi merentas platform PulseAudio v.1.1., kami juga membuat pembetulan pada fail konfigurasinya.
Dalam fail wslpulseaudio-1.1etcpulsedefault.pa
seksyen Load audio drivers statically
edit baris:
load-module module-waveout sink_name=output source_name=input record=0
dan dalam bahagian Network access
edit baris:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
Dalam fail wslpulseaudio-1.1etcpulsedaemon.conf
nyahkomen dan tukar baris
exit-idle-time = -1
Kami mengkonfigurasi subsistem WSL2 mengikut
Sekiranya perlu
Kami melancarkan Terminal Windows dan pilih mod Prompt Perintah dengan menekan kekunci Ctrl+Shift+2
.
Pertama sekali, kami menetapkan mod operasi WSL2, untuk ini kami memasukkan arahan:
wsl --set-default-version 2
Tukar kepada direktori pemuat but kendiri Ubuntu 20.04, dalam kes saya ini wslUbuntu-20.04
dan jalankan fail ubuntu2004.exe
. Apabila digesa untuk nama pengguna, masukkan nama pengguna engineer
(anda boleh memasukkan nama lain), masukkan kata laluan anda dan sahkan kata laluan yang dimasukkan untuk akaun yang ditentukan:
Gesaan terminal muncul, kernel Ubuntu 20.04 dipasang. Mari semak ketepatan tetapan mod WSL2, untuk ini, dalam Terminal Windows, pilih tab Windows PowerShell dan masukkan arahan:
wsl -l -v
hasil pelaksanaan sepatutnya seperti ini:
Kami mengkonfigurasi tembok api Microsoft Defender, i.e. lumpuhkannya untuk rangkaian awam:
Menyediakan Ubuntu 20.04
Dalam Terminal Windows, pilih tab Prompt Perintah sekali lagi dan pasang kemas kini untuk Ubuntu 20.04. Untuk melakukan ini, pada baris arahan, masukkan:
sudo apt update && sudo apt upgrade βy
Pasang desktop KDE Plasma:
sudo apt install kubuntu-desktop -y
pemasangan mengambil masa sehingga 30 minit, bergantung pada prestasi komputer dan lebar jalur saluran akses Internet, apabila digesa oleh pemasang, kami mengesahkan OK
.
Pasang penyetempatan dan kamus Rusia Ubuntu 20.04. Untuk melakukan ini, pada baris arahan, 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 terkini desktop KDE Plasma:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Kami menambah set aplikasi konsol kami sendiri, sebagai contoh mc
ΠΈ neofetch
:
sudo apt install mc neofetch -y
Kami menyemak apa yang berlaku, masukkan ke dalam baris arahan neofetch
, lihat tangkapan skrin:
Mengedit fail konfigurasi WSL /etc/wsl.conf
:
sudo nano /etc/wsl.conf
salin teks ke dalam tetingkap 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
), sahkan operasi dan keluar dari editor teks (Ctrl+X
).
Mengeksport imej Ubuntu-20.04 tersuai ke direktori yang kami buat wsl
. Untuk melakukan ini, dalam Terminal Windows, sekali lagi pilih tab Windows PowerShell dan masukkan arahan:
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
imej yang dibuat akan membantu kami mengautomasikan operasi melancarkan / memasang semula Ubuntu 20.04 yang dikonfigurasikan, jika perlu, ia akan membolehkan kami memindahkannya dengan mudah ke komputer lain.
Menyediakan fail kelawar dan pintasan ke desktop Windows
Menggunakan editor Notepad ++, buat fail kelawar (diperlukan dalam pengekodan OEM-866 untuk output aksara Cyrillic yang betul):
fail Install-Ubuntu-20.04-plasma-desktop.bat
- direka untuk mengautomasikan pemasangan awal imej tercipta Ubuntu 20.04 pada komputer dengan subsistem WSL2 yang telah dikonfigurasikan dan pelayan X. Jika nama pengguna dan kata laluan berbeza daripada yang dinyatakan dalam contoh, maka anda perlu membuat perubahan yang sesuai pada fail kelawar 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
fail Reinstall-Ubuntu-20.04-plasma-desktop.bat
- direka untuk memasang semula imej Ubuntu 20.04 yang disediakan pada 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
fail Set-default-user.bat
- untuk menetapkan pengguna lalai.
@echo off
set /p answer=ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Π² Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Π£ΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ %answer% Π² Ubuntu-20.04 ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ!
pause
fail Start-Ubuntu-20.04-plasma-desktop.bat
- pelancaran sebenar 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
fail Start-Ubuntu-20.04-terminal.bat
- melancarkan terminal grafik 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 menyediakan pintasan yang menunjuk kepada fail kelawar yang sepadan. Kemudian kandungan direktori wsl
kelihatan seperti ini:
Melancarkan Desktop Plasma KDE
Kami menyemak bahawa semua langkah persediaan telah selesai, kami cuba melancarkan jalan pintas Plasma-desktop
. Permintaan kata laluan muncul, masukkan kata laluan untuk akaun dan ... tetingkap ditutup. Pertama kali okey. Kami cuba lagi - dan kami melihat bar tugas KDE Plasma yang biasa. Kami menyesuaikan penampilan bar tugas, dalam contoh, untuk kemudahan penggunaan, panel dialihkan ke sebelah kanan skrin dan berpusat. Kami menyemak tetapan penyetempatan, jika perlu, tambahkan bahasa Rusia:
Jika perlu, kami membawa pintasan untuk aplikasi linux yang dipasang ke bar tugas KDE Plasma.
Jika Ubuntu 20.04 memerlukan anda untuk log keluar daripada akaun pengguna anda untuk menggunakan perubahan pada tetapan, atau anda perlu memulakan semula OS, untuk melakukan ini, dalam Terminal Windows, masukkan arahan:
wsl -d Ubuntu20.04 --shutdown
Dengan label Plasma-desktop
atau Konsole
anda boleh menjalankan GUI KDE Plasma Ubuntu 20.04. Sebagai contoh, pasang dengan Konsole
Editor grafik GIMP:
Selepas pemasangan selesai, jalankan dari Konsole
Editor grafik GIMP:
GIMP berfungsi, itulah yang saya ingin periksa.
Dan berikut ialah cara pelbagai aplikasi linux berfungsi dalam KDE Plasma dalam WSL2:
bar tugas KDE Plasma tersuai berada di sebelah kanan skrin. dan video dalam tetingkap Firefox dimainkan dengan bunyi.
Jika perlu, anda boleh mengkonfigurasi akses kepada Ubuntu20.04 dengan SSH
ΠΈ RDP
, untuk ini anda perlu memasang perkhidmatan yang sesuai dengan arahan:
sudo apt install ssh xrdp -y
nota: untuk membolehkan capaian kata laluan oleh SSH
anda perlu mengedit fail /etc/ssh/sshd_config
, iaitu parameter PasswordAuthentication no
mesti ditetapkan kepada PasswordAuthentication yes
, simpan perubahan dan but semula Ubuntu20.04.
Setiap kali anda memulakan Ubuntu20.04, alamat ip dalaman berubah, sebelum menyediakan akses jauh, anda perlu menyemak alamat ip semasa menggunakan arahan ip a
:
Sehubungan itu, alamat ip ini mesti dimasukkan dalam tetapan sesi SSH
ΠΈ RDP
sebelum bermula.
Inilah rupa akses jauh SSH
menggunakan MobaXterm:
Dan inilah rupa akses jauh RDP
:
Menggunakan pelayan x vcxsrv dan bukannya x410
Melancarkan dan menyediakan vcxsrv
, tetapkan kotak pilihan yang sesuai dengan teliti:
Menyimpan konfigurasi yang dikonfigurasikan dalam direktori wslvcxsrv
dengan nama standard config.xlaunch
.
Mengedit fail kelawar Start-Ubuntu-20.04-plasma-desktop.bat
ΠΈ Start-Ubuntu-20.04-terminal.bat
mengikut arahan mereka.
Melancarkan jalan pintas Plasma-desktop
, dan inilah yang kami dapat:
Desktop KDE Plasma menutup sepenuhnya desktop Windows, untuk bertukar antara aplikasi windows linux dan windows kami menggunakan kombinasi kekunci yang terkenal Alt+Tab
, yang tidak begitu mudah.
Di samping itu, ciri pelayan X yang tidak menyenangkan telah didedahkan vcxsrv
- ia ranap apabila melancarkan beberapa aplikasi, khususnya GIMP atau Penulis LibreOffice yang sama. Mungkin kita harus menunggu sehingga pemaju mengalih keluar "pepijat" yang diperhatikan, tetapi ini tidak pasti ... Jadi, untuk mendapatkan hasil yang boleh diterima, lebih baik menggunakan X Server Microsoft x410.
Kesimpulan
Namun, kita mesti memberi penghormatan kepada Microsoft, produk WSL2 ternyata cukup berkesan, dan pada pendapat saya yang tidak berpengalaman, sangat berjaya. Dan setakat yang saya tahu, pemaju terus "menyelesaikan" secara intensif, dan mungkin - dalam satu atau dua tahun, subsistem ini akan muncul dalam semua kesempurnaan fungsinya.
Sumber: www.habr.com