目的
Hyper-v上にGUIベースのLinuxマシンを構築するにあたって、全人類がぶち当たる問題が 「画面サイズが小さいこと」である。 今回はHyper-V上に立てたUbuntuを全画面表示できるように設定したのでここにその作業を残す。
使用環境
grubの設定の変更
まずはじめにgrubの設定ファイルを編集する方法を取った。。
結論から言うと、これは効果なし。
どうやらこの手法が有効なのはUbuntu16系までらしい。残念。
一応やったことを残しておくと、/etc/default/grubファイルを書き換えました、なむ。
sudo vi /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT の行の末尾に video=hyperv_fb:[変更したい解像度] を追記 sudo update-grub sudo reboot
linux-vm-toolsのインストール
こっちの方法で解決した。 Ubuntuにxrdpプロトコルで接続するためにlinux-vm-toolsのインストールを行う
sudo apt install git git clone https://github.com/microsoft/linux-vm-tools.git cd linux-vm-tools/ git fetch --all git pull origin pull/106/head:pull_106 git checkout pull_106 cd ubuntu/20.04/ sudo bash ./install.sh sudo reboot
再起動後、もう一度shを叩くらしい(?)
cd linux-vm-tools/ubuntu/20.04/ sudo bash ./install.sh
これでUbuntu側の準備は完了。 仮想OS:をシャットダウンして、ホスト側のPowerShellで以下のコマンドを実行
Set-VM -VMName <VMの名前> -EnhancedSessionTransportType HvSocket
これで次回実行時xrdpセッションが立ち上がります。
補足
無事拡張セッション(xrdpセッション)が立ち上がったが、ログインして見ると画面が真っ暗。真っ黒。なんで。
原因を調べてみると、Hyper-vの基本セッション上でログインしているユーザを使用してxrdpでログインしたことが原因。
さっくり基本セッションからログオフすると無事画面が表示された。
ちゃんとログオフしておくか、別のユーザを使用してxrdpログオンしましょう。
ついでに、xrdp有効化にしてから基本セッションでターミナルが開かなくなるという致命的な状況になった。が、xrdp経由だとターミナルは使えるので一旦放置している。
いつかこれが原因でドツボに嵌りそうでこわい。