PC関係

Hyper-V ④ Ubuntu を入れてみる

Ubuntu を簡単にインストールする方法は、Hyper-Vで仮想マシンを「クイック作成」する方法と、「UbuntsのISOイメージをダウンロードして、自分でインストール」する方法がある。
「クイック作成」の場合、Ubuntsが起動した時点で、拡張機能(画面のサイズ変更・音が出る・コピペ可能)となるが、英語版であった、まぁそうだよね、Windows11開発環境も英語版だったし。
英語版のLinuxを日本語にする、しかもGUI環境となると、私にとっては、ISOから入れて、Hyper-Vの拡張機能を追加した方が、理解しやすいと思うし、勉強になると思うので、「クイック作成」で作ったUbuntsの状態を確認してから仮想マシンを削除した。

未確認または出来ていないこと理由
GPUを使う結構ハードルが高い
USB関係プリンタもテストしていない
実際にやりたいことはUSB シリアル を付けて
Arduino のプログラムを書きたいが厳しい

では、さっそく、UbuntsをISOから、インストールして行こう!

まずは、公式からISOのダウンロード
https://jp.ubuntu.com/
ダウンロードのページより、ISOをゲット!

ダウンロードできたファイルは、ubuntu-24.04-desktop-amd64.iso だった!
Ubuntsの良いところは、LTSバージョンがあって、long-term support(長期サポート)をしてくれる点である。CentOSがなくなった時にUbuntsに乗り換えるか真剣に考えた!
5年間のサポートに加え有償でさらに延長可能は魅力的である。
UbuntsのCUIを使ってみて、やっぱり互換性の高いAlmaLinuxを選んだが、Ubuntsには魅力を感じる。

まぁ話が長くなったが、さっくり仮想マシンを作っていこう。

〇新規仮想マシンを作る
保存場所を指定
第2世代
メモリ 8192 MB 動的メモリ使用
ネットワーク LAN用 (ネットワークにつては、Hyper-V③で説明済)
ハードディスク 300GB
ブートイメージ ubuntu-24.04-desktop-amd64.iso

Hyper-Vで仮想マシンを作る時に、第1世代・第2世代の選択肢がある。
第1世代 は 昔の BIOS
第2世代 は UEFI BIOS
となる。

〇仮想マシンを起動する前に、追加の設定を行う
セキュアブート 有効にしない(有効でMicrosoft UEFI 証明機関を選んでも良い)
以下の図は、AlmaLinuxの設定だが、Ubuntsも同じ

統合サービス  ゲストサービス にチェック(つまり全てにチェック)
チェックポイント 無効
自動開始アクション 何もしない
自動停止アクション 電源オフ

◎これで準備ができたので、仮想マシンを起動する

Ubuntsのインストール方法は、いろんなところで解説されているので省略する。

気になったところは、インストール終了時に、最後の1行で、[FAILED] と表示されていたが、単にCD-ROM アンマウント出来ないってエラーメッセージだったので、Hyper-V側の設定でインストールが終わったら、ISOイメージを外してあげればOKであった。

この画面から、ログインして

めでたくUbuntsのディスクトップ版がインストール出来たわけだが、Hyper-Vの拡張機能が使えるように設定する。

まず、コピペができないのがかなり痛い!、TeraTermで設定しようかと悩んだほどだ!
まぁ、せっかくUbuntsのディスクトップ版が立っているので、この画面から設定するのだが、ターミナルを起動して、su 出来ない、インストール時にrootのパスワードを聞かれなかったので、なんとなくそんな感じはしていたが、su はしないものらしい。
CUIで操作を行う場合というか、サーバーを立てる場合は、su しっぱなしと言うか、su しないと何もできないので、su が あたりまえなのだが、ディスクトップ環境では違うらしい。

〇su できるようにする
$ sudo su –
[ sudo ] xxxxx の パスワード : yyyyy

xxxxx は ユーザー名 で、yyyyyはユーザーのパスワード

# passwd
と入力してrootのパスワードを設定
新しいパスワード: zzzzz
新しいパスワードを再度入力してください: zzzzz
passwd: パスワードは正しく更新されました

zzzzz は 新しく設定する、rootのパスワード

$ su –
パスワード:zzzzz

これで、su – ができるようになった!

〇エディタが使えない
su はできても、geditで重要なファイルは直せない、まぁgeditなんか使ったことないので、vi出来ればよいんだけど、これまた vi で カーソルが使えない!
参考にしたWEBページは、以下の通り
vimエディタでカーソルキー(矢印)が使えない場合

各ユーザーごとに、以下のコマンドを実行
$ echo “set nocompatible” >> ~/.vimrc
私はsuを多用するので、root でもこれを行う事が必要があった。
$ su –
# echo “set nocompatible” >> ~/.vimrc

追記 2024/05/12
Delete キーは使えたが、BS キーが使えなかった!
参考にしたWEBページは、以下の通り
Vimでバックスペースがきかない時の対処法

$ echo “set backspace=indent,eol,start” >> ~/.vimrc
私はsuを… 以下略

カーソル移動が出来ない理由は以下の通りらしい。
互換モードがオンになっている場合に,カーソルキーが使えない。
これは古いviエディタに対する互換性のことである。
古いviエディタは,挿入モードのときにカーソルキーが使えなかった。
h, j, k, lで移動していたためである。
そこで,ホームディレクトリに.vimrcファイルを作成して,設定を書き込むと使えるようになると解説されている。

〇Hyper-Vの拡張機能を使えるようにする
作業を失敗する可能性があるので、Hyper-V側で、エキスポートしておいた方が良いと思う。
ググってみると、最新の方法は以下のサイトに紹介されていた。
Hyper-VでUbuntu24.04LTSをインストール・セットアップする

やり方だけを記述すると、以下の通り
/etc/xrdp/xrdp.ini を編集する
port=3389 を 以下のように変更
port=vsock://-1:3389

追記 2024/05/12
ログインした後に、Xの画面がでずに、ブラックアウトする確率がAlmaLinuxより多い気がするので、AlmaLinuxの設定の様に変更する

/etc/xrdp/xrdp.ini を追加編集する
use_vsock=true
security_layer=rdp
crypt_level=none
bitmap_compression=false

/etc/xrdp/sesman.ini を 編集
FuseMountName=shared_drives

/etc/X11/Xwrapper.config を編集
allowed_users=anybody

/etc/modules-load.d/hv_sock.conf ファイルを作る
# echo “hv_sock” > /etc/modules-load.d/hv_sock.conf

xrdp を 再起動する
sudo systemctl status xrdp (動作確認)
sudo systemctl enable xrdp (最初から有効にはなっているはず)
sudo systemctl restart xrdp (変更したので再起動)
仮想マシンを終了して Windowsで、PowerShellを管理者権限で起動して、以下のコマンドを実行

Set-VM -VMName <作成した仮想マシン名> -EnhancedSessionTransportType HvSocket
実際のコマンド
Set-VM -VMName Ubuntu22.04_desktop -EnhancedSessionTransportType HvSocket

起動したら 拡張機能(画面の解像度・音が出る・コピペが使える)が動作した!

ユーザー名とパスワードを入力すると、shell が Gnome じゃ無い!
解説によると以下の通り

xrdpでログインする際、/etc/xrdp/startwm.shが読み込まれる。

そんなわけで、/etc/xrdp/startwm.sh の 上のほうに以下を追加すると
Gnome が使えるようになる。

export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME

設定して、仮想マシンの電源を切って、再度接続すると…

画面の解像度の設定・音が出る・コピペができるようになった。

稀に、ログイン画面から、次に進むときに画面真っ黒になる場合があるが、終了してもう一度つなぐしかなさそうである。

動作確認していたら、gnome-text-editor 動作がおかしい。そういうものなのかもしれない。
すべてが日本語環境に対応してい訳では無いようだ。Linuxでディスクトップ環境が~~~とか言うなら細かいところも直してほしい。

漢字変換すると、文章が2重に表示されてしまう。デジャブ感が半端ない!

シェルやgedit では正常に入力できるので、解かっていれば問題はないのだが、無料のOSなので、そんなもんだよね。

動いたので、終了って感じかな、動作テスト用なので、この時点で、エクスポートして実験環境を大切に取っておくことにする。