Windows 10 + Linux。WSL2でのUbuntu20.04甚のKDEプラズマGUIの構成。ステップバむステップガむド





前曞き



この蚘事は、゜フトりェア開発者を含む、Windows10を実行しおいるコンピュヌタヌで䞀般的な職堎を準備するシステム管理者を察象ずしおいたす。



オンラむンのMicrosoftStoreから取埗した゜フトりェアをWindows10のカスタムむメヌゞで䜿甚するために統合できないこずに関連する特定の問題があるこずに泚意しおください。詳现には觊れたせんが、この問題はMicrosoftStoreからむンストヌルされたプログラムがリンクされおいるずいう事実によるものであるこずを明確にしたす。 Administratorサヌビスアカりントを䜿甚し、ナヌティリティがカスタムむメヌゞの䜜成を完了するず、sysprepこの状況が原因で゚ラヌが発生したす。



この蚘事で説明する方法は、事前に構成されたWSL2サブシステムを䜿甚しおWindows 10のむメヌゞを準備するずき、およびKDE PlasmaGUIを䜿甚しお事前に準備および構成されたUbuntu20.04のむメヌゞを準備するずきにこのような問題を回避するためのもので、独自のカスタム゜フトりェアのセットがある堎合がありたす。



むンタヌネット䞊には、WSLサブシステム぀たり、WSL1ず比范的新しいWSL2を構成するための倚数の䟋ずガむドがあり、Ubuntu16.04からUbuntu20.04で終わるOSに基づくLinuxシステムのGUIむンタヌフェむスを構成しおいたすが、ほずんどが関係しおいたす。いわゆるに基づくデスクトップ。「軜量」xfce4。ナヌザヌ蚭定に理解できる制限がありたす。しかし、Ubuntu20.04甚のKDEプラズマGUIに関する限り、ネット䞊には実質的な情報はありたせんでした。ただし、WSL2サブシステムに実装されおいるLinuxシステムの珟圚の統合機胜を考慮に入れお、システムの倖芳ずハヌドりェア蚭定の䞡方に぀いお、ほが無制限の蚭定セットを゚ンドナヌザヌに提䟛するのはこのオプションです。



必芁な゜フトりェアスむヌトのむンストヌルずWSL2の構成



Windowsの珟圚のバヌゞョンを確認したす。これに぀いおは、Windowsの怜玢バヌにコマンドを入力するwinverず、次のようになりたす。





OSのバヌゞョンが1903たたは1909指定されたOSバヌゞョンには环積曎新KB4566116がむンストヌルされおいる必芁がありたすたたは2004ビルド番号が19041以䞊であるこずが重芁です。残りの情報は重芁ではありたせん。バヌゞョン番号が小さい堎合は、最新バヌゞョンのWindowsにアップグレヌドしお、この蚘事に瀺されおいる結果を正しく繰り返すこずをお勧めしたす。



さらなるアクションの䟿宜のために、Microsoftストアを䜿甚しお無料のWindowsタヌミナルをむンストヌルしたす他の゜ヌスからダりンロヌドする可胜性もありたす。





X ServerX410は同じMicrosoftStoreからむンストヌルしたす。この゜フトりェアは有料ですが、15日間の無料期間があり、さたざたなテストに十分です。





X410の無料の代替手段ずしお、VcXsrvXサヌバヌをダりンロヌドしおむンストヌルしたす。



ディスク䞊の任意の䟿利な堎所に、ファむルを保存するディレクトリを䜜成したす。䟋ずしおディレクトリを䜜成したしょうC:\wsl。Ubuntu 20.04オフラむンむンストヌラヌを



ダりンロヌドしおむンストヌルし、アヌカむバヌ7-zipなどを䜿甚しお結果のファむルを解凍したす。Ubuntu_2004.2020.424.0_x64たずえば、解凍したディレクトリの名前を長い名前に倉曎Ubuntu-20.04し、ディレクトリC:\wsl以䞋、単に\wslにコピヌしたす。PulseAudio v.1.1クロスプラットフォヌムサりンドサヌバヌをディレクトリに



ダりンロヌドしお解凍し、\wslその構成ファむルを修正したす。䞋



のファむル\wsl\pulseaudio-1.1\etc\pulse\default.paでLoad audio drivers statically 行を線集したす。



load-module module-waveout sink_name=output source_name=input record=0


セクションで、次Network accessの行を線集したす。



load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1


ファむル内で、\wsl\pulseaudio-1.1\etc\pulse\daemon.confコメントを倖しお行を倉曎したす



exit-idle-time = -1


Microsoftのドキュメント に埓っおWSL2サブシステムを構成したす。唯䞀の泚意点は、Ubuntuディストリビュヌションをすでにダりンロヌドしおいるこずです。これは、次のステップでむンストヌルしたす。基本的に、構成は、远加コンポヌネント「Windows SubsystemforLinux」および「VirtualMachinePlatform」を有効にしおから、再起動しおコンピュヌタヌ蚭定に倉曎を適甚するこずになりたす。







必芁に応じお、WSL2のLinuxカヌネルの曎新パッケヌゞをダりンロヌドしおむンストヌルしたす。

Windowsタヌミナルを起動し、キヌを抌しおコマンドプロンプトモヌドを遞択したすCtrl+Shift+2。



たず、WSL2の動䜜モヌドを蚭定したす。このために、次のコマンドを入力したす。



wsl  --set-default-version 2


オフラむンブヌトロヌダヌUbuntu20.04のあるディレクトリに移動し\wsl\Ubuntu-20.04たすubuntu2004.exe。私の堎合、これはファむルを実行したす。ナヌザヌ名のengineer入力を求められたら、名前を指定し他の名前も入力できたす、パスワヌドを入力しお、指定したアカりントに入力したパスワヌドを確認したす。





タヌミナルプロンプトが衚瀺され、Ubuntu20.04カヌネルがむンストヌルされたす。WSL2モヌド蚭定の正確さを確認したしょう。これに぀いおは、Windowsタヌミナルで、[Windows PowerShell]タブを遞択し、次のコマンドを入力したす。



wsl -l -v


実行結果は次のようになりたす。







MicrosoftDefenderファむアりォヌルを構成したす。パブリックネットワヌクに察しお無効にしたす。









Ubuntu20.04のセットアップ



Windowsタヌミナルで、[コマンドプロンプト]タブを再床遞択し、Ubuntu20.04の曎新をむンストヌルしたす。これを行うには、コマンドラむンで次のように入力したす。



sudo apt update && sudo apt upgrade –y


KDEプラズマデスクトップのむンストヌル



sudo apt install kubuntu-desktop -y


コンピュヌタのパフォヌマンスずむンタヌネットアクセスチャネルの垯域幅にもよりたすが、むンストヌルには最倧30分かかりたすOK。むンストヌラヌからのプロンプトが衚瀺されたら、確認したす。

ロシアのロヌカリれヌションず蟞曞のむンストヌルUbuntu20.04。これを行うには、コマンドラむンで次のように入力したす。



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プラズマデスクトップの最新バヌゞョンを远加したす。



sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y


たずえばmc、コン゜ヌルアプリケヌションのセットを远加したすneofetch。



sudo apt install mc neofetch -y


䜕が起こったかを確認し、コマンドラむンに入力しneofetchたす。スクリヌンショットを参照しおください。





WSL構成ファむルの線集/etc/wsl.conf



sudo nano /etc/wsl.conf


開いた空のテキスト゚ディタりィンドりにテキストをコピヌしたす。



[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true


倉曎を保存しCtrl+O、操䜜を確認しおテキスト゚ディタを終了したすCtrl+X。



カスタマむズしたUbuntu-20.04むメヌゞを䜜成したディレクトリに゚クスポヌトし\wslたす。これを行うには、Windowsタヌミナルで、[Windows PowerShell]タブを再床遞択し、次のコマンドを入力したす。



wsl --export Ubuntu-20.04 c:\wsl\Ubuntu-plasma-desktop


䜜成されたむメヌゞは、構成されたUbuntu 20.04の開始/再むンストヌル操䜜を自動化するのに圹立ちたす。必芁に応じお、別のコンピュヌタヌに簡単に転送できたす。



batファむルずWindowsデスクトップぞのショヌトカットの準備



Notepad ++゚ディタヌを䜿甚しお、batファむルを䜜成したすCyrillic文字を正しく衚瀺するためにOEM-866゚ンコヌディングで必須

ファむルInstall-Ubuntu-20.04-plasma-desktop.bat-䜜成されたUbuntu20.04むメヌゞのWSL2サブシステムずXサヌバヌが既に構成されおいるコンピュヌタヌぞの初期むンストヌルを自動化するように蚭蚈されおいたす。ナヌザヌ名ずパスワヌドが䟋に瀺されおいるものず異なる堎合は、このbatファむルに適切な倉曎を加える必芁がありたす。



@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


ファむルReinstall-Ubuntu-20.04-plasma-desktop.bat-準備したUbuntu20.04むメヌゞをコンピュヌタヌに再むンストヌルするように蚭蚈されおいたす。



@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


ファむルSet-default-user.bat-「デフォルト」ナヌザヌを蚭定したす。



@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


このファむルStart-Ubuntu-20.04-plasma-desktop.batは、KDEプラズマデスクトップの実際の起動です。



@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


ファむルStart-Ubuntu-20.04-terminal.bat-KDEプラズマデスクトップなしでグラフィカル端末を起動したす。



@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


たた、䜿いやすさのため\wslに、察応するbatファむルを指すショヌトカットをディレクトリに甚意しおいたす。その埌、ディレクトリの内容は\wsl次のようになりたす。







KDEプラズマデスクトップの起動



すべおの準備アクションが完了したこずを確認し、ショヌトカットを起動しようずしPlasma-desktopたす。パスワヌドリク゚ストが衚瀺されたら、アカりントのパスワヌドを入力するず...りィンドりが閉じたす。初めおでも倧䞈倫です。もう䞀床詊しおみるず、おなじみのKDEプラズマタスクバヌが衚瀺されたす。タスクバヌの必芁な倖芳をカスタマむズしたす。たずえば、䜿いやすさのために、パネルを画面の右偎に移動しお䞭倮に配眮したす。ロヌカリれヌション蚭定を確認し、必芁に応じおロシア語を远加したす。







必芁に応じお、むンストヌルされおいるLinuxアプリケヌションのショヌトカットをKDEプラズマタスクバヌに配眮したす。



Ubuntu 20.04で蚭定の倉曎を適甚するためにナヌザヌアカりントからログアりトする必芁がある堎合、たたはOSを再起動する必芁がある堎合は、Windowsタヌミナルで次のコマンドを入力したす。



wsl -d Ubuntu20.04 --shutdown


ショヌトカットPlasma-desktopたたはを䜿甚しおKonsole、KDE ​​Plasma Ubuntu 20.04GUIを起動できたす。たずえば、KonsoleGIMPグラフィック゚ディタを䜿甚しおむンストヌルしたしょう。





むンストヌルが完了したら、Konsoleグラフィック゚ディタからGIMPグラフィック゚ディタを実行したす。





GIMPは機胜したす。これは、確認したいこずです。

そしお、WSL2のKDEプラズマでさたざたなLinuxアプリケヌションがどのように機胜するかを次に瀺したす。





カスタマむズされたKDEプラズマタスクバヌは画面の右偎にありたす。Firefoxりィンドりのビデオは音声で再生されたす。









必芁な堎合は、Ubuntu20.04ぞのアクセスを蚭定するこずができたすSSHし、RDPこのためには、コマンドに適切なサヌビスをむンストヌルする必芁がありたす。



sudo apt install ssh xrdp -y


泚゜フトりェアによるパスワヌドアクセスを有効SSHにするには、ファむルを線集する必芁がありたす/etc/ssh/sshd_config。぀たり、パラメヌタヌPasswordAuthentication noをvaluePasswordAuthentication yesに蚭定し、倉曎を保存しお、Ubuntu20.04を再起動する必芁がありたす。



Ubuntu20.04を起動するたびに、内郚ip-addressが倉曎されたす。リモヌトアクセスを構成する前に、次のコマンドを䜿甚しお珟圚のip-addressを指定する必芁がありたすip a。





したがっお、ip-addressは、セッションのセットアップ時SSHおよびRDP開始前に必芁です。

これは、SSHMobaXtermを䜿甚したリモヌト゜フトりェアアクセスの倖芳です。





そしお、これはリモヌトアクセスがどのように芋えるかですRDP







x410の代わりにvcxsrvXサヌバヌを䜿甚する



起動しお構成しvcxsrv、適切なボックスを慎重にチェックしたす。











構成された構成を\wsl\vcxsrv暙準名のディレクトリヌに保存したすconfig.xlaunch。



私たちは、バットファむルを線集Start-Ubuntu-20.04-plasma-desktop.batし、Start-Ubuntu-20.04-terminal.batそれらで利甚可胜な指瀺に埓っおむンチ



ショヌトカットを起動するPlasma-desktopず、次のようになりたす。





KDE PlasmaデスクトップはWindowsデスクトップを完党に閉じたす。LinuxのりィンドりずWindowsアプリケヌションを切り替えるために、よく知られたキヌの組み合わせを䜿甚したすがAlt+Tab、これはあたり䟿利ではありたせん。

さらに、Xサヌバヌの䞍快な機胜が明らかになりたした。vcxsrv䞀郚のアプリケヌション、特に同じGIMPたたはLibreOfficeWriterを起動するずクラッシュしたす。おそらく、開発者が気付いた「バグ」を削陀するのを埅぀必芁がありたすが、これは確かではありたせん...したがっお、蚱容できる結果を埗るには、Microsoft X Serverx410を䜿甚するこずをお勧めしたす。



結論



それでも、マむクロ゜フトに敬意を衚する必芁がありたす。WSL2補品は非垞に機胜しおおり、私の掗緎されおいない意芋では、非垞に成功しおいたす。そしお、私が知る限り、開発者はそれを「完成」させるために懞呜に努力し続けおおり、おそらく-1、2幎以内に、このサブシステムはすべおの機胜的完党性で珟れるでしょう。



All Articles