Giriş
Bu makale, yazılım geliştiriciler de dahil olmak üzere, Windows 10 çalıştıran bilgisayarlarda tipik çalışma ortamları hazırlayan sistem yöneticilerinin dikkatine yöneliktir.
Özel bir Windows 10 görüntüsünde kullanılmak üzere Microsoft Store çevrimiçi mağazasından alınan yazılımı entegre etmenin imkansızlığıyla ilgili belirli bir sorun olduğu belirtilmelidir.Ayrıntılara girmeden, bu sorunun şu gerçeğiyle ilgili olduğunu açıklığa kavuşturacağım: Microsoft Store'dan yüklenen programlar, Yönetici hizmet hesabıyla iletişim kurar ve yardımcı program tarafından özel görüntü oluşturma tamamlandığında sysprep
Bu durumdan dolayı hatalar oluşur.
Bu makalede ele alınan yöntem, önceden yapılandırılmış bir WSL10 alt sistemine sahip bir Windows 2 işletim sistemi görüntüsünün yanı sıra KDE Plazma GUI'ye sahip önceden hazırlanmış ve yapılandırılmış bir Ubuntu 20.04 işletim sistemi görüntüsü hazırlarken bu sorunu ortadan kaldırır; özel yazılım seti.
Ubuntu 1'ten Ubuntu 2'e kadar linux tabanlı işletim sistemi sistemleri için bir GUI arabirimi kurarak WSL alt sistemlerini (yani WSL16.04 ve nispeten yeni WSL20.04) kurmak için İnternette birçok örnek ve öğretici vardır, ancak bu esas olarak masaüstü tabanlı sözde. Kullanıcı ayarlarında anlaşılır sınırlamaları olan "hafif" xfce4. Ancak Ubuntu 20.04 için KDE Plazma GUI'si söz konusu olduğunda, internette çok fazla bilgi bulunamadı. Ancak, WSL2 alt sisteminde uygulanan linux sistemlerinin mevcut entegrasyon yeteneklerini dikkate alarak, son kullanıcıya hem sistemin görünümü hem de donanım ayarları için neredeyse sınırsız bir ayar seti sağlayan bu seçenektir.
Gerekli yazılım setini kurma ve WSL2'yi yapılandırma
Windows'un mevcut sürümünü kontrol ediyoruz, bunun için Windows arama çubuğuna komutu girin winver
ve şöyle bir şey elde ederiz:
İşletim sistemi sürümünün 1903 veya 1909 (belirtilen işletim sistemi sürümleri KB4566116 toplu güncelleştirme yüklü olmalıdır) veya 2004 (yapı numarası en az 19041) olması önemlidir, bilgilerin geri kalanı önemli değildir. Sürüm numarası bundan daha azsa, bu makaledeki sonuçları doğru şekilde yeniden oluşturmak için Windows'un en son sürümüne yükseltmeniz önerilir.
Diğer eylemlerin rahatlığı için Microsoft Mağazasını kullanarak ücretsiz Windows Terminalini kurun (diğer kaynaklardan indirme olasılığı da vardır):
X Server X410'u aynı Microsoft Store üzerinden kuruyoruz, bu yazılım ücretli, ancak çeşitli testler için yeterli olan 15 günlük ücretsiz bir süre var.
X410'a ücretsiz bir alternatif olarak
Diskin uygun herhangi bir yerinde dosyalarımızı saklayacağımız bir dizin oluşturuyoruz. Örnek olarak bir dizin oluşturalım. C:wsl
.
Ubuntu_2004.2020.424.0_x64
gibi daha kabul edilebilir bir şeye Ubuntu-20.04
ve dizine kopyalayın C:wsl
(bundan sonra basitçe wsl
).
wsl
platformlar arası ses sunucusu PulseAudio v.1.1., yapılandırma dosyalarında da düzeltmeler yapıyoruz.
Dosyada wslpulseaudio-1.1etcpulsedefault.pa
bölüm Load audio drivers statically
satırı düzenle:
load-module module-waveout sink_name=output source_name=input record=0
ve bölümde Network access
satırı düzenle:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
Dosyada wslpulseaudio-1.1etcpulsedaemon.conf
açıklamayı kaldır ve satırı değiştir
exit-idle-time = -1
WSL2 alt sistemini şuna göre yapılandırıyoruz:
Eğer gerekirse,
Windows Terminal'i başlatıyoruz ve tuşlara basarak Komut İstemi modunu seçiyoruz. Ctrl+Shift+2
.
Her şeyden önce, WSL2 çalışma modunu ayarlıyoruz, bunun için şu komutu giriyoruz:
wsl --set-default-version 2
Ubuntu 20.04 bağımsız önyükleyici dizinine geçin, benim durumumda bu wslUbuntu-20.04
ve dosyayı çalıştırın ubuntu2004.exe
. Bir kullanıcı adı sorulduğunda, kullanıcı adını girin engineer
(başka bir isim girebilirsiniz), şifrenizi girin ve belirtilen hesap için girilen şifreyi onaylayın:
Bir terminal istemi belirir, Ubuntu 20.04 çekirdeği yüklenir. WSL2 modu ayarlarının doğruluğunu kontrol edelim, bunun için Windows Terminalinde Windows PowerShell sekmesini seçip şu komutu girelim:
wsl -l -v
yürütme sonucu şöyle olmalıdır:
Microsoft Defender güvenlik duvarını yapılandırıyoruz, yani. genel ağ için devre dışı bırakın:
Ubuntu 20.04'ün Kurulumu
Windows Terminalinde, Komut İstemi sekmesini tekrar seçin ve Ubuntu 20.04 için güncellemeleri yükleyin. Bunu yapmak için komut satırına şunu girin:
sudo apt update && sudo apt upgrade –y
KDE Plazma masaüstünü kurun:
sudo apt install kubuntu-desktop -y
kurulum, bilgisayarın performansına ve İnternet erişim kanalının bant genişliğine bağlı olarak 30 dakika kadar sürer, yükleyici tarafından istendiğinde onaylıyoruz OK
.
Rusça yerelleştirmeyi ve sözlükleri Ubuntu 20.04'ü yükleyin. Bunu yapmak için komut satırına şunu girin:
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
KDE Plazma masaüstünün en son sürümünü ekleyin:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Kendi konsol uygulamalarımızı ekliyoruz, örneğin mc
и neofetch
:
sudo apt install mc neofetch -y
Ne olduğunu kontrol ediyoruz, komut satırına giriyoruz neofetch
, ekran görüntüsüne bakın:
WSL yapılandırma dosyasını düzenleme /etc/wsl.conf
:
sudo nano /etc/wsl.conf
metni açılan boş metin düzenleyici penceresine kopyalayın:
[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
değişiklikleri Kaydet (Ctrl+O
), işlemi onaylayın ve metin düzenleyiciden çıkın (Ctrl+X
).
Özelleştirilmiş Ubuntu-20.04 görüntüsünü oluşturduğumuz dizine dışa aktarma wsl
. Bunu yapmak için Windows Terminalinde tekrar Windows PowerShell sekmesini seçin ve şu komutu girin:
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
oluşturulan görüntü, yapılandırılmış Ubuntu 20.04'ü başlatma / yeniden yükleme işlemlerini otomatikleştirmemize yardımcı olacak, gerekirse başka bir bilgisayara kolayca aktarmamızı sağlayacaktır.
Yarasa dosyalarını ve kısayolları Windows masaüstüne hazırlama
Notepad ++ düzenleyicisini kullanarak yarasa dosyaları oluşturun (Kiril karakterlerinin doğru çıktısı için OEM-866 kodlamasında gereklidir):
Dosya Install-Ubuntu-20.04-plasma-desktop.bat
- önceden yapılandırılmış bir WSL20.04 alt sistemi ve bir X sunucusu olan bir bilgisayarda oluşturulan Ubuntu 2 görüntüsünün ilk kurulumunu otomatikleştirmek için tasarlanmıştır. Kullanıcı adı ve parola örnekte belirtilenlerden farklıysa, bu yarasa dosyasında uygun değişiklikleri yapmanız gerekir:
@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
Dosya Reinstall-Ubuntu-20.04-plasma-desktop.bat
- Ubuntu 20.04'ün hazırlanan görüntüsünü bilgisayara yeniden yüklemek için tasarlanmıştır.
@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
Dosya Set-default-user.bat
- varsayılan kullanıcıyı ayarlamak için.
@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause
Dosya Start-Ubuntu-20.04-plasma-desktop.bat
- KDE Plazma masaüstünün gerçek lansmanı.
@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
Dosya Start-Ubuntu-20.04-terminal.bat
- KDE Plazma masaüstü olmadan bir grafik terminalin başlatılması.
@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
Ayrıca katalogda kullanım kolaylığı için wsl
ilgili bat dosyalarına işaret eden kısayollar hazırlıyoruz. Daha sonra dizinin içeriği wsl
выглядит следующим образом:
KDE Plazma Masaüstünü Başlatma
Tüm hazırlık adımlarının tamamlanıp tamamlanmadığını kontrol ediyoruz, kısayolu başlatmaya çalışıyoruz Plasma-desktop
. Bir şifre talebi belirir, hesabın şifresini girin ve ... pencere kapanır. İlk sefer tamam. Tekrar deniyoruz - ve tanıdık KDE Plazma görev çubuğunu görüyoruz. Görev çubuğunun görünümünü özelleştiriyoruz, örnekte kullanım kolaylığı için panel ekranın sağ tarafına taşınmış ve ortalanmıştır. Yerelleştirme ayarlarını kontrol ediyoruz, gerekirse Rusça dilini ekliyoruz:
Gerekirse kurulu linux uygulamaları için kısayolları KDE Plazma görev çubuğuna getiriyoruz.
Ubuntu 20.04, ayarlarda değişiklikleri uygulamak için kullanıcı hesabınızdan çıkış yapmanızı gerektiriyorsa veya işletim sistemini yeniden başlatmanız gerekiyorsa, bunu yapmak için Windows Terminal'de şu komutu girin:
wsl -d Ubuntu20.04 --shutdown
etiketli Plasma-desktop
veya Konsole
KDE Plazma Ubuntu 20.04 GUI'yi çalıştırabilirsiniz. Örneğin, ile yükleyin Konsole
GIMP grafik düzenleyici:
Kurulum tamamlandıktan sonra, şuradan çalıştırın: Konsole
GIMP grafik düzenleyici:
GIMP çalışıyor, kontrol etmek istediğim şey buydu.
Çeşitli linux uygulamalarının WSL2'deki KDE Plazma'da nasıl çalıştığı aşağıda açıklanmıştır:
özelleştirilmiş KDE Plazma görev çubuğu ekranın sağ tarafındadır. ve Firefox penceresindeki video sesli olarak oynatılır.
Gerekirse, Ubuntu20.04'e erişimi şu şekilde yapılandırabilirsiniz: SSH
и RDP
, bunun için uygun hizmetleri şu komutla yüklemeniz gerekir:
sudo apt install ssh xrdp -y
not: tarafından şifre erişimini etkinleştirmek için SSH
dosyayı düzenlemeniz gerekiyor /etc/ssh/sshd_config
, yani parametre PasswordAuthentication no
olarak ayarlanmalıdır PasswordAuthentication yes
, değişiklikleri kaydedin ve Ubuntu20.04'ü yeniden başlatın.
Ubuntu20.04'ü her başlattığınızda, dahili ip adresi değişir, uzaktan erişimi kurmadan önce, komutu kullanarak mevcut ip adresini kontrol etmeniz gerekir. ip a
:
Buna göre, oturum ayarlarında bu ip adresi girilmelidir. SSH
и RDP
başlamadan önce.
Uzaktan erişim böyle görünüyor SSH
MobaXterm'i kullanarak:
İşte uzaktan erişim böyle görünüyor RDP
:
x410 yerine x server vcxsrv kullanma
Çalıştırma ve kurulum vcxsrv
, uygun onay kutularını dikkatlice ayarlayın:
Yapılandırılan yapılandırmayı dizine kaydetme wslvcxsrv
standart adla config.xlaunch
.
Yarasa dosyalarını düzenleme Start-Ubuntu-20.04-plasma-desktop.bat
и Start-Ubuntu-20.04-terminal.bat
onların talimatlarına göre.
Kısayolu başlatma Plasma-desktop
ve şunu elde ederiz:
KDE Plazma masaüstü, Windows masaüstünü tamamen kapatır, linux pencereleri ve Windows uygulamaları arasında geçiş yapmak için iyi bilinen tuş kombinasyonunu kullanırız Alt+Tab
, bu pek uygun değil.
Ayrıca X sunucusunun hoş olmayan bir özelliği de ortaya çıktı. vcxsrv
- bazı uygulamaları, özellikle aynı GIMP veya LibreOffice Writer'ı çalıştırdığınızda çöküyor. Belki de geliştiriciler fark edilen "hataları" kaldırana kadar beklemeliyiz, ancak bu kesin değil ... Bu nedenle, kabul edilebilir sonuçlar elde etmek için X Sunucusu Microsoft x410'u kullanmak daha iyidir.
Sonuç
Yine de Microsoft'a haraç ödemeliyiz, WSL2 ürünü oldukça işe yaradı ve deneyimsiz görüşüme göre çok başarılı oldu. Ve bildiğim kadarıyla, geliştiriciler onu yoğun bir şekilde "bitirmeye" devam ediyor ve belki de - bir veya iki yıl içinde, bu alt sistem tüm işlevsel bütünlüğüyle ortaya çıkacak.
Kaynak: habr.com