こんにちは、ふじみやです。
最近、学習用にノートPCを購入したのでプログラミングなどの開発環境をしっかり整えようと思っています。
過去、何度か VirtualBox を活用した Linux ディストリビューションのインストールについてご紹介をしてきましたが、どうしても VirtualBox の設定がよく分からなかったり、画面が突然固まったりといったトラブルがたびたび発生しているので、ほかにいい方法がないか探していました。
そこで見つけたのが、WSL(Windows Subsystem for Linux)。公式ドキュメントでは、次のように説明がされています。
Windows の機能である Linux 用 Windows サブシステム (WSL) を使うと、Windows コンピューター上で Linux 環境を実行でき、別の仮想マシンやデュアル ブートは必要ありません。 WSL は、Windows と Linux の両方を同時に使いたい開発者に、シームレスで生産性の高いエクスペリエンスを提供するように設計されています。
https://learn.microsoft.com/ja-jp/windows/wsl/about
つまり、VirtualBox を利用することなく Ubuntu を使える環境が整えられるのではないかと思ったわけです。
ということで、今回は WSL2 という Windows 標準機能を利用して、Ubuntu のデスクトップ環境を表示させてみたいと思います。なお、私が使用した環境は Windows 11 Home Edition / Version 23H2 です。
参考サイト
今回の記事作成にあたっては下記サイトを参考にしています。
- WSL を使用して Windows に Linux をインストールする方法
- Unable to install certain systemd reliant packages/start services
WSL2 と Ubuntu のインストール
やり方は非常に簡単です。
- コマンドプロンプトを「管理者として実行」
- コマンドプロンプトが表示されたら
wsl --install
と入力して実行
インストールが完了したら Windows を再起動しましょう。これで WSL2 と Ubuntu がインストールされました。
なお、Ubuntu のバージョンは 2024 年 5 月時点では 最新の Ubuntu 24.04 ではなく、Ubuntu 22.04 がインストールされました。
再起動して WSL2 が有効になっているかは、コントロールパネルにある「Windows の機能の有効化または無効化」から「仮想マシンプラットフォーム」と「Linux用Windowsサブシステム」のチェックがオンになっているかで確認できます。
Ubuntu の初期設定
コマンドプロンプトからwsl
とコマンドを入力するか、スタートメニューから Ubuntu アプリを実行しましょう。
すると、ユーザーネームとパスワードを入力するよう求められますので入力します。ユーザーネームは Windows の名称と合わせる必要はありません。また、パスワードは入力しても画面上には表示されませんのでご注意ください。
入力が終わると Ubuntu にログインされます。
ログインされたらシステムのアップデートをしておきましょう。
sudo apt update && sudo apt upgrade -y
これで初期設定は完了です。
Ubuntu Desktop のインストール
次に、デスクトップ環境をインストールしていきます。しかしながら、そのままデスクトップ環境をインストールするとエラーが出てインストールが終わらないことがありますので、まずは次のコマンドを入力しましょう。
sudo apt-mark hold acpid acpi-support
これは acpid 及び acpi-support のパッケージを自動的にインストールしたりアップデートしたりすることを保留するコマンドのようです。なお、ACPIという言葉に馴染みがない方も多いかと思いますが、調べてみると以下のような説明が出てきます。
ACPI(Advanced Configuration and Power Interface)とは、コンピュータの電源管理やハードウェアの構成管理を行うための標準規格の一つ。オペレーティングシステム(OS)側から高度な電源制御を行うことができる
https://e-words.jp/w/ACPI.html
必ず上記のコマンドを入力してからデスクトップ環境をインストールしていきます。
sudo apt install ubuntu-desktop -y
リモート接続の設定
コマンドプロンプトからはデスクトップ環境に接続できませんので、リモート接続のための設定をしていきます。
まずはサーバーソフトウェアである XRDP をインストールしましょう。
sudo apt install xrdp -y
次に接続先ポートをデフォルトの 3389 から3390 に変更します。これは 3389 がすでに利用されているためです。
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
上記の設定が終わったら一応 XRDP の自動起動を設定して再起動。
sudo systemctl enable xrdp
sudo systemctl restart xrdp
最後にルートディレクトリ直下に .xsessionrc
ファイルを作成して以下を記載します。このファイルは簡単に言えばデスクトップ環境用の設定ファイルと思っていただければ大丈夫です。なお、ファイル編集にはスーパーユーザー権限で行うようにしてください。
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop
export WAYLAND_DISPLAY=
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
リモートデスクトップ接続
「リモートデスクトップ接続」アプリを開いて localhost:3390
に接続します。
すると XRDP のログイン画面が表示されますのでユーザーネームとパスワードを入力。しばらくすると Ubuntu のデスクトップが表示されます。あとはお好きにカスタマイズしていってくださいね。
コメント