Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー

導入

この記事は、ソフトウェア開発者を含む、Windows 10 を実行するコンピューター上で一般的な職場を準備するシステム管理者を対象としています。

Microsoft Store オンライン ストアから入手したソフトウェアをカスタム Windows 10 イメージで使用するために統合できないことに関連する特定の問題があることに注意してください。詳細には立ち入りませんが、この問題が次の事実に関連していることを明確にします。 Microsoft Store からインストールされたプログラムは管理者サービス アカウントと通信し、ユーティリティによるカスタム イメージの作成が完了すると sysprep このような状況によりエラーが発生します。

この記事で説明する方法では、事前構成された WSL10 サブシステムを使用して Windows 2 OS イメージを準備するとき、および KDE Plasma GUI を使用して事前に準備および構成された Ubuntu 20.04 OS イメージを準備するときに、この問題が回避されます。KDE Plasma GUI には独自のものを含めることができます。カスタム ソフトウェアのセット。

Ubuntu 1 から Ubuntu 2 までの Linux ベースの OS システム用の GUI インターフェイスをセットアップする、WSL サブシステム (つまり、WSL16.04 と比較的新しい WSL20.04) をセットアップするための例やチュートリアルがインターネット上にたくさんありますが、これは主にデスクトップ ベースに関するものです。いわゆる。 「軽量」xfce4 には、ユーザー設定に当然の制限があります。 しかし、Ubuntu 20.04 の KDE Plasma GUI に関する限り、ネット上にはあまり情報がありません。 ただし、WSL2 サブシステムに実装されている Linux システムの現在の統合機能を考慮して、システムの外観とハードウェア設定の両方について、ほぼ無制限の設定セットをエンド ユーザーに提供するのはこのオプションです。

必要なソフトウェアのセットをインストールし、WSL2 を構成する

Windows の現在のバージョンを確認するには、Windows の検索バーに次のコマンドを入力します。 winver そして次のような結果が得られます:

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
OS バージョンが 1903 または 1909 (指定された OS バージョンには累積的な更新プログラム KB4566116 がインストールされている必要があります)、または 2004 (ビルド番号が 19041 以上) であることが重要であり、残りの情報は重要ではありません。 バージョン番号がそれより前の場合は、この記事の結果を正しく再現するために Windows の最新バージョンにアップグレードすることをお勧めします。

さらなるアクションの便宜のために、Microsoft Store を使用して無料の Windows Terminal をインストールします (他のソースからダウンロードする可能性もあります)。

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
同じ Microsoft Store を通じて X Server X410 をインストールします。このソフトウェアは有料ですが、15 日間の無料期間があり、さまざまなテストには十分です。

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
X410 の無料代替品として ダウンロード そして、VcXsrv X サーバーをインストールします。

ディスク上の任意の場所に、ファイルを保存するディレクトリを作成します。 例として、ディレクトリを作成してみましょう C:wsl.

ダウンロード中 Ubuntu 20.04 スタンドアロン インストーラーをインストールし、アーカイバー (7-zip など) を使用して結果のファイルを解凍します。 解凍したディレクトリの名前を長い名前に変更します。 Ubuntu_2004.2020.424.0_x64 より受け入れられるものに変える Ubuntu-20.04 それをディレクトリにコピーします C:wsl (以下、単に wsl).

ダウンロード中 そしてディレクトリに解凍します wsl クロスプラットフォーム サウンド サーバー PulseAudio v.1.1. の設定ファイルも修正しました。

ファイル内 wslpulseaudio-1.1etcpulsedefault.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


ファイル内 wslpulseaudio-1.1etcpulsedaemon.conf コメントを解除して行を変更します

exit-idle-time = -1


次に従って WSL2 サブシステムを構成します。 ドキュメンテーション マイクロソフト。 唯一の注意点は、Ubuntu ディストリビューションをすでにダウンロードしているため、次のステップでインストールすることです。 基本的に、構成は、追加コンポーネント「Linux 用 Windows サブシステム」と「仮想マシン プラットフォーム」を有効にし、再起動してコンピューター設定に変更を適用することになります。

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー

必要に応じて、 ダウンロード そして、WSL2 に Linux カーネル サービス パックをインストールします。
Windows ターミナルを起動し、キーを押してコマンド プロンプト モードを選択します。 Ctrl+Shift+2.

まず最初に、WSL2 動作モードを設定します。このために、次のコマンドを入力します。

wsl  --set-default-version 2


Ubuntu 20.04 スタンドアロン ブートローダー ディレクトリに変更します。私の場合、これは次のとおりです。 wslUbuntu-20.04 ファイルを実行します ubuntu2004.exe。 ユーザー名の入力を求められたら、ユーザー名を入力します engineer (他の名前を入力できます)、パスワードを入力し、指定したアカウントの入力したパスワードを確認します。

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
ターミナル プロンプトが表示され、Ubuntu 20.04 カーネルがインストールされます。 WSL2 モード設定が正しいことを確認してみましょう。このために、Windows ターミナルで [Windows PowerShell] タブを選択し、次のコマンドを入力します。

wsl -l -v


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

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー

Microsoft Defender ファイアウォールを構成します。 パブリック ネットワークに対しては無効にします。

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー

Ubuntu 20.04のセットアップ

Windows ターミナルで、[コマンド プロンプト] タブを再度選択し、Ubuntu 20.04 のアップデートをインストールします。 これを行うには、コマンド ラインで次のように入力します。

sudo apt update && sudo apt upgrade –y


KDE Plasma デスクトップをインストールします。

sudo apt install kubuntu-desktop -y


コンピュータのパフォーマンスとインターネット アクセス チャネルの帯域幅に応じて、インストールには最大 30 分かかります。インストーラのプロンプトが表示されたら、次のことを確認します。 OK.
ロシア語のローカリゼーションと辞書 Ubuntu 20.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


Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
KDE Plasma デスクトップの最新バージョンを追加します。

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、スクリーンショットを参照してください:

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
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:wslUbuntu-plasma-desktop


作成されたイメージは、構成された Ubuntu 20.04 の起動/再インストールの操作を自動化するのに役立ち、必要に応じて、別のコンピューターに簡単に転送できるようになります。

Windows デスクトップへのバット ファイルとショートカットの準備

Notepad ++ エディタを使用して、bat ファイルを作成します (キリル文字を正しく出力するには、OEM-866 エンコードで必要です)。
ファイル Install-Ubuntu-20.04-plasma-desktop.bat - すでに構成された WSL20.04 サブシステムと X サーバーを備えたコンピューター上で、作成された Ubuntu 2 イメージの初期インストールを自動化するように設計されています。 ユーザー名とパスワードが例で指定したものと異なる場合は、このバット ファイルに適切な変更を加える必要があります。

@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


ファイル Reinstall-Ubuntu-20.04-plasma-desktop.bat - 準備された Ubuntu 20.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:wslUbuntu-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:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause


ファイル Start-Ubuntu-20.04-plasma-desktop.bat - 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


ファイル Start-Ubuntu-20.04-terminal.bat - 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


カタログでの使いやすさにも配慮 wsl 対応するバットファイルを指すショートカットを準備します。 次に、ディレクトリの内容 wsl 次のようになります。

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー

KDE Plasma デスクトップの起動

すべての準備手順が完了していることを確認し、ショートカットを起動してみます。 Plasma-desktop。 パスワードの要求が表示されるので、アカウントのパスワードを入力すると...ウィンドウが閉じます。 初めてでも大丈夫です。 もう一度試してみると、見慣れた KDE Plasma タスクバーが表示されます。 タスクバーの外観をカスタマイズします。この例では、使いやすくするために、パネルが画面の右側に移動され、中央に配置されています。 ローカリゼーション設定を確認し、必要に応じてロシア語を追加します。

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー

必要に応じて、インストールされている Linux アプリケーションのショートカットを KDE Plasma タスクバーに表示します。

Ubuntu 20.04 で、設定の変更を適用するためにユーザー アカウントからログアウトする必要がある場合、または OS を再起動する必要がある場合は、Windows ターミナルで次のコマンドを入力します。

wsl -d Ubuntu20.04 --shutdown


ショートカットあり Plasma-desktop または Konsole KDE Plasma Ubuntu 20.04 GUI を実行できます。 たとえば、次のようにインストールします Konsole GIMPグラフィックエディタ:

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
インストールが完了したら、から実行します Konsole GIMPグラフィックエディタ:

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
GIMP は動作するので、それを確認したかったのです。
ここでは、WSL2 の KDE Plasma でさまざまな Linux アプリケーションがどのように動作するかを示します。

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
カスタマイズされた KDE Plasma タスクバーは画面の右側にあります。 Firefox ウィンドウ内のビデオは音声付きで再生されます。

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー

必要に応じて、次のようにして Ubuntu20.04 へのアクセスを構成できます。 SSH и RDPこのためには、次のコマンドを使用して適切なサービスをインストールする必要があります。

sudo apt install ssh xrdp -y


注: パスワードアクセスを有効にするには、 SSH ファイルを編集する必要があります /etc/ssh/sshd_config、つまりパラメータ PasswordAuthentication no に設定する必要があります PasswordAuthentication yes、変更を保存し、Ubuntu20.04を再起動します。

Ubuntu20.04を起動するたびに内部IPアドレスが変わるため、リモートアクセスを設定する前にコマンドを使用して現在のIPアドレスを確認する必要があります。 ip a:

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
したがって、この IP アドレスをセッション設定に入力する必要があります。 SSH и RDP 始める前に。
リモートアクセスはこんな感じ SSH MobaXterm を使用して:

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
リモートアクセスはこんな感じです RDP:

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー

x410 の代わりに x サーバー vcxsrv を使用する

起動とセットアップ vcxsrv、適切なチェックボックスを慎重に設定します。

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
設定した構成をディレクトリに保存する wslvcxsrv デフォルトの名前で config.xlaunch.

バットファイルの編集 Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat 彼らの指示に従って。

ショートカットの起動 Plasma-desktopそして、これが得られるものです:

Windows 10 + Linux。 WSL20.04 での Ubuntu 2 用の KDE Plasma GUI のセットアップ。 ウォークスルー
KDE Plasma デスクトップは Windows デスクトップを完全に閉じます。Linux と Windows アプリケーションのウィンドウを切り替えるには、よく知られたキーの組み合わせを使用します。 Alt+Tab、あまり便利ではありません。
さらに、Xサーバーの不快な機能が明らかになった vcxsrv - 一部のアプリケーション、特に同じ GIMP または LibreOffice Writer を実行するとクラッシュします。 おそらく、開発者が気づいた「バグ」を削除するまで待つ必要がありますが、これは確実ではありません... したがって、許容可能な結果を​​得るには、X サーバー Microsoft x410 を使用することをお勧めします。

まとめ

それでも、私たちは Microsoft に敬意を表しなければなりません。WSL2 製品は非常に機能することが判明し、経験の浅い私の意見では非常に成功しました。 そして、私の知る限り、開発者は引き続き集中的に「完成」させており、おそらく XNUMX ~ XNUMX 年以内に、このサブシステムは完全な機能を備えた状態で登場するでしょう。

出所: habr.com

コメントを追加します