2024/05/07(火)Ubuntu 24.04 インストール (オマケ) WSL2
はじめに
Ubuntu 24.04 インストールシリーズのオマケとして、Windows 10/11のWSL2のインストールについて書いてみます。WSLについて書くのは、2016年のbash on Ubuntu on Windowsを試してみるの記事以来です。当時はまだWSLとは呼ばれていませんでした。WSL1からWSL2になって仮想マシンを使うようになって性能及び互換性が向上し、またWSL-gとなってX serverを別にインストールしなくてもGUIアプリを動かすことができるようになりました。ちょうどWSL2の中に入れられるLinuxとしてUbuntu 24.04も出たので、ここらでインストール方法についてまとめてみました。Windows 10でもWindows 11でも基本的には同じと思いますが、まっさらなWindows 10に入れてみました。
マシンに慣れていない人でも分かるように、画像をたくさん貼り付けてみました。プログラミングの演習のためにパソコンを設定する大学1年生あたりを想定しています。今更ですが買ったばかりのマシンに設定することを想定するなら、Windows 11でやれば良かった…
インストール
VT-x
WSL2になって仮想マシンを使うようになって性能が向上したのですが、それと引き換えに、VT-xと呼ばれる機能をBIOS(正確にはUEFI?)で有効にする必要があります。ほとんどのマシンで有効になっているとは思いますが、もしなっていない場合、BIOSに入って有効にする必要があります。入り方はマシン毎に千差万別なので説明のしようもありませんが、起動時にDEL連打、もしくはF2連打のマシンが多い気がします。うまくBIOSに入れたら、Intel VT-x (Intel CPUの場合) もしくはAMD-V Virtualization (AMD CPUの場合)を探してオンにして下さい。Windowsの機能の有効化
「Windowsの機能の有効化または無効化」(Windows10なら、スタートボタン→Windowsシステムツール→コントロールパネル→プログラム→Windowsの機能の有効化または無効化)で、- Linux用Windowsサブシステム
- 仮想マシンプラットフォーム
WSLを最新にアップデート
自分が試した限り、ストアでインストールする前にこの作業をやっておかないとWSL1でインストールされてしまい、後でアップデートの作業が必要になりました。先にこれをやっておくのがお薦めです。まず、Windows PowerShellを管理者モードで起動します。Windows10では、スタートボタンを右クリックし、「Windows PowerShell(管理者)」を選択します。
ここで、「wsl --version」としてみると、自分の場合は--versionというオプションは無いと言われました。これは、wslコマンドがとても古いことを意味しています。「wsl --update」と打ち込んで最新にします。
これにより、
WSL バージョン: 2.1.5.0 カーネル バージョン: 5.15.146.1-2 WSLg バージョン: 1.0.60 MSRDC バージョン: 1.2.5105 Direct3D バージョン: 1.611.1-81528511 DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows バージョン: 10.0.19045.4291になりました。
Microsoft StoreからUbuntu 24.04をインストール
ここでMicrosoft Storeを起動し、Ubuntu 24.04を検索してインストールします。どういうわけだか、「WSL」では検索に引っかからず、「ubuntu」だと見つかりました。Ubuntu 24.04 LTSを「入手」でインストールします。終わったら、そのまま「開く」で起動して下さい。スタートメニューに登録された「Ubuntu 24.04 LTS」を起動でもOKです。
WSLのターミナルが起動し、しばらく待った後、「Enter new UNIX username:」と聞かれるので、ユーザ名(たぶん半角英数のみ、先頭はアルファベット)を決めます。次にパスワードを聞かれるので、2度入力して下さい。このパスワードはアプリケーションのインストール等、管理者(root)になる必要があるときに何度も聞かれるので、忘れないようにしてください。
この状態で、Windows PowerShellの方で「wsl --list -v」してみると、ちゃんとUbuntu 24.04がVERSION 2で入ったことが確認できました。
ファイルのやりとり
この状態で、Windows側からWSL側のファイルを見るには、エクスプローラに追加されている「Linux」という項目を使うことができます。たとえばユーザ名が「kashi」なら、ここからhome→kashiと辿っていけばホームディレクトリの内容が見えます。また、「\\wsl.localhost\」とエクスプローラに打ち込んでも同じです。
逆にWSL側からWindows側のファイルは、「/mnt/c/」からアクセスすることができます。
アプリケーションの追加
ubuntuの最新化
ここから必要なアプリケーションをaptコマンドを使って追加していきますが、その前に絶対必要な作業があります。WSLのターミナルで、sudo apt update sudo apt upgradeとして、Ubuntu 24.04を最新にしてください。特に最初の1行が重要で、これをやらないとこの先のaptコマンドでのインストールが失敗してしまいます。
日本語化
メッセージ等を日本語化するため、WSLのターミナルでsudo apt install -y language-pack-en sudo apt install -y language-pack-ja sudo update-locale LANG=ja_JP.UTF8として、いったんWSLターミナルを閉じて再度スタートメニューから起動します。language-pack-enの方はすぐには不要かもですが、無いと何かと不便なのでこちらもついてに入れておきます。自分の環境では、Visual Studio CodeでのWSLターミナルで問題が発生しました。
アプリケーションのインストール
ここまで来れば、後は好きなように環境を整えていきます。以前と違ってWSLターミナルの中ではWindowsのIMEを使って日本語を書くことが出来るようになっています。GUIアプリもgnuplotなどの簡単なアプリなら動きます。自分は、Ubuntu 24.04 インストール (リンク集)のうちからapache, sambaなどを除き、適当に抜粋して次のようなものを入れてみました。sudo apt install -y texlive-full sudo apt install -y nkf sudo apt install -y gnuplot sudo apt install -y tgif sudo apt install -y pdfarranger sudo apt install -y pdftk-java sudo apt install -y build-essential sudo apt install -y clang sudo apt install -y libboost-all-dev sudo apt install -y default-jdk sudo apt install -y lua5.4 sudo apt install -y liblua5.4-dev sudo apt install -y luajit sudo apt install -y gfortran sudo apt install -y python3 sudo apt install -y python3-dev sudo apt install -y python3-numpy sudo apt install -y python3-scipy sudo apt install -y python3-matplotlib sudo apt install -y python3-sympy sudo apt install -y python3-mpmath sudo apt install -y ipython3 sudo apt install -y python-is-python3 sudo apt install -y octave sudo apt install -y octave-dev sudo apt install -y libgmp-dev sudo apt install -y libmpfr-dev sudo apt install -y gcc-multilib sudo apt install -y g++-multilib sudo apt install -y nim sudo apt install -y lvこの段階でも、
- メモ帳等、任意のwindowsのエディタ
- (抵抗が無ければ) vi, nano等のLinuxのターミナルで動くエディタ
Visual Studio Codeを使う
Visual Studio Codeという、Windows上で動くエディタがあります。これは、そのWindowsにインストールされたWSLと連携する機能を持っており、なかなか便利です。これをインストールして連携させてみます。Microsoft Storeで、「visual studio code」で検索すると見つかります。
インストールして起動したら、こんな感じになりました。
まずは、左下の歯車アイコン→Extensionで、「Japanese Language Pack for Visual Studio Code」を検索し、インストールします。「Change Language and Restart」というボタンを押せば、メニュー等が日本語になります。
同様に、左下の歯車アイコン→拡張機能で、「WSL」を検索し、インストールします。これでWSL連携機能が使えるようになります。いったん、Visual Studio Codeを閉じて、WSLのターミナルで、「code .」(末尾のドットに注意)と入力すると、WSL側のカレントディレクトリが見えた状態でVisual Studio Codeが開きます。「このフォルダの作成者を信頼しますか?」などと聞かれたら「はい」。
更に上部のメニューで「ターミナル→新しいターミナル」とすれば、WSLのターミナルがVisual Studio Codeの画面内に現れて、以降はVisual Studio Codeの画面内だけで作業が完結するようになります。
TeXの執筆作業は、こんな感じになりました。この画面では、vscode-pdfというpdfをVisual Studio Codeの中で見ることができるようになる拡張機能を追加しています。LaTeX Workshopという拡張機能を入れるとすごく便利らしいですが、それは検証してません。
GUIアプリケーションを(無理やり)整える
ここから先はあまりお薦めではないかもです。Ubuntuで普段使っているGUIアプリを無理やり動かしてみます。WSLでは、WSLターミナル上ではWindowsのIMEを使って日本語入力が出来ますが、それ以外のGUIアプリケーションで日本語を入力する手段がありません。ここでは、Ubuntuのかな漢字変換システムをインストールして、それを可能にしてみます。まず、WSLターミナルで、
sudo apt install -y fcitx5-mozcを実行します。次に、home directoryの「.profile」の末尾に、
while true; do dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY 2> /dev/null && break done export GTK_IM_MODULE=fcitx5 export QT_IM_MODULE=fcitx5 export XMODIFIERS=@im=fcitx5 export INPUT_METHOD=fcitx5 export DefaultIMModule=fcitx5 if [ $SHLVL = 1 ] ; then (fcitx5 --disable=wayland -d --verbose '*'=0 &) xset -r 49を書き加え、いったんWSLターミナルを閉じて再度起動します。再起動後、WSLターミナルで、「fcitx5-configtool」を起動します。すると、
のように「Fcitxの設定」が立ち上がると思います。ここで、真ん中の「←→↑↓」ボタンを使って、左ペインを、
- キーボード - 英語(US)
- Mozc
- キーボード - 日本語
- Mozc
のようになると思います。「OK」で閉じて下さい。これで、かな漢字変換が使えるようになっています。例えば、
sudo apt install -y geditなどとして、geditエディタで日本語が書けるのを確認して下さい。
他にも、
sudo apt install -y x11-apps sudo apt install -y firefox sudo apt install -y firefox-locale-ja sudo apt install -y lxterminal sudo apt install -y nautilus sudo apt install -y evince sudo apt install -y eogなどを入れました。gnome-terminal, gnome-text-editorは少し不安定な感じがしたので、それぞれlxterminal, geditで代用することにしました。
これで、普段ubuntuで行っている作業が(やや不安定ながらも)WSLで行えるようになりました。例えばTeX執筆は次のような感じで行えます。
アンインストール
さて、これらのソフトは複雑に連携していて、操作ミスで壊してしまうこともあるかと思います。そこで、きれいさっぱりアンインストールする方法を書いておきます。WSLのアンインストール
まず、Windows PowerShellを管理者モードで起動し、「wsl --list -v」でインストールされている名前を調べ、「wsl --unregister Ubuntu-24.04」のように登録を解除します。解除後、スタートメニューの設定(歯車アイコン)→アプリで、Ubuntu 24.04 LTSを探してアンインストールします。
Visual Studio Codeのアンインストール
まず、普通にスタートメニューの設定(歯車アイコン)→アプリで、Microsoft Visual Studio Codeを探してアンインストールします。これだけでは不十分で、
- c:\Users\(ユーザ名)\.vscode
- c:\Users\(ユーザ名)\AppData\Roaming\Code
おわりに
お楽しみいただければ幸いです。おかしなところがあればお知らせ下さい。特に無理やりUbuntuのGUIを使うあたりは、いろいろ改善点があると思います。2024/05/02(木)Ubuntu 24.04 インストール (リンク集)
- ubuntu 24.04 インストール (1)
- ubuntu 24.04 インストール (2) vmware tools
- ubuntu 24.04 インストール (3) TeX関連
- ubuntu 24.04 インストール (4) vim
- ubuntu 24.04 インストール (5) プログラミング系あれこれ
- ubuntu 24.04 インストール (6) apache,php
- ubuntu 24.04 インストール (7) samba
- ubuntu 24.04 インストール (8) マルチメディア系
- ubuntu 24.04 インストール (9) docker
- ubuntu 24.04 インストール (10) その他
2024/05/02(木)Ubuntu 24.04 インストール (10)
sudo apt install openssh-serverこれでsshログイン出来るようになります。
sudo apt install git sudo apt install curlこのへんはまあ必要か。
sudo apt install unarこれを使うと、日本語ファイル名を含んだzipファイルを展開したときに文字化けしないです。
後は個人的に必要なもの。
sudo apt install lv sudo apt install checkinstall sudo apt install ghexFirefoxだけで過ごしたいところですが、ときどきに必要になるのでchromiumも。
sudo apt install chromium
ホームディレクトリにある「ダウンロード」等を英語表記に
ホームディレクトリに作られる「ダウンロード」などのディレクトリが日本語だと何かと不便なので、英語表記に直します。ターミナルで、LANG=C xdg-user-dirs-gtk-updateとして、「Don't ask me this again」をチェックして「Update Names」をクリックします。これでホームディレクトリが
ダウンロード デスクトップ ビデオ ミュージック テンプレート ドキュメント ピクチャ 公開から
Desktop Downloads Pictures Templates Documents Music Public Videosに変わりました。元に戻すにはLANG=Cなしで単に「xdg-user-dirs-gtk-update」。
ctrl←→caps
ctrlとcapsを入れ替えるのが好きな場合は、sudo apt install gnome-tweaksを入れてgnome-tweaksを起動し、キーボードとマウス→追加のレイアウトオプション
→Ctrl Position→CtrlとCaps Lockを入れ替える、とします。
gnome terminalの設定
gnome terminalで「→」などの文字の幅がおかしい場合は、右クリック->設定->互換性 で「曖昧幅の文字」を「全角」にします。また、22.04, 24.04ともに、gnome terminalが妙に縦に間延びして表示されるようになってしまいました。20.04の頃の表示に戻したいところですが、
sudo apt install fonts-takaoとするとどういうわけだか直るそうです。
fcitx5
デフォルトのibus-mozcのかな漢字変換では、とあるJava系のアプリで日本語入力がおかしくなり、前に確定したものが次の入力時に残ってしまう現象が見られました。そこで、最近評判がいいらしい、fcitx5-mozcに変えてみました。fcitx5の方が、IMEのon/offをウィンドウ毎に覚えてくれて使いやすい気がします。sudo apt install fcitx5-mozcでfcitx5をインストールします。実際に操作系をfcitx5に変えるには、
im-config -n fcitx5として再起動します。元に戻すには、
im-config -n ibusとして再起動です。
ただ、これらの変更を行うとキーボード設定がおかしくなる現象が見られました。fcitx5に変えるとなぜかIMEのアイコンをクリックしたとき
- キーボード-英語
- Mozc
- キーボード-日本語
- Mozc
2024/05/02(木)Ubuntu 24.04 インストール (9)
sudo apt install docker.ioで24.0.7が入りました。
sudo usermod -aG docker kashiみたいにしてrootにならなくても使えるようにしました。
また、vmwareではなく実機の場合ですが、NVidiaのGPUがあればnvidia-dockerを設定するとdockerの中でGPUが見えて便利です。設定方法を書いておきます。まず、NVidiaのビデオドライバが入っていて動いている必要があります。
nvidia-smiと叩いてGPUのstatusが出れば問題ないでしょう。もし動いていなければ、
ubuntu-drivers devicesを実行し、そこに出てきたお勧めのドライバーを、
sudo apt install nvidia-driver-535のように入れます。
nvidia-dockerは、https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.htmlに従って、
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart dockerのようにインストールします。
docker run --gpus all --rm nvidia/cuda:12.2.2-base-ubuntu22.04 nvidia-smiのようにして、dockerの中でnvidia-smiが動くことを確認しましょう。
2024/05/02(木)Ubuntu 24.04 インストール (8)
sudo apt install ubuntu-restricted-extrasで、著作権上の制限があってインストーラには入れられないアプリケーション群が入ります。いろいろ聞かれますが、TABキーで選択してOKしましょう。
市販dvdの再生を可能にするには、15.10からの手順で、
sudo apt install libdvd-pkg sudo dpkg-reconfigure libdvd-pkgとします。いろいろ聞かれますが全てOKで。
その他、
sudo apt install handbrake sudo apt install vlc sudo apt install ffmpegを入れました。
webpを見られるようにするには、22.04では
sudo apt install webp-pixbuf-loaderが必要でしたが、24.04では標準装備になって最初からwebpファイルが見られます。
なお、デフォルトの画像ビューアは名前が分かりにくいですが「eog」です。また、「shotwell」で簡単な画像編集ができます。