Hyper-V にインストールされた Linux 環境で「拡張セッション」を使用できるようにする方法です。なお、本記事は、中~上級者またはシステム管理者向けの参考情報です。
Hyper-V にインストールした Windows では、「基本セッション」のほか「拡張セッション」が使用でき、拡張セッションでは、基本セッションにはない便利な機能が使用できるようになります。ただし、 Hyper-V にインストールしたすべての OS で使用できるわけではありません。
ここでは、Hyper-V にインストールされた Linux 環境で拡張セッションを使用できるようにする手順を記載します。
ゲスト側の操作
ダウンロード
linux-vm-tools を使用します。対応環境は Ubuntu と arch です。
- Microsoft/linux-vm-tools: Hyper-V Linux Guest VM Enhancements
https://github.com/Microsoft/linux-vm-tools/
linux-vm-tools を GitHub からダウンロードします。
※この例では wget を使用しますが、可能なら git clone が便利です
実行例:
$ wget https://github.com/Microsoft/linux-vm-tools/archive/master.zip
:
:
HTTP による接続要求を送信しました、応答を待っています… 200 OK
長さ: 特定できません [application/zip]
`master.zip' に保存中
master.zip [ <=> ] 621.50K 666KB/s 時間 0.9s
2019-04-11 22:36:44 (666 KB/s) - `master.zip' へ保存終了 [636416]
解凍
ダウンロードしたファイルを解凍します。
実行例:
$ unzip master.zip
Archive: master.zip
4dcc278f842ef1de4cc2c7b24ecb1c048415ff07
creating: linux-vm-tools-master/
inflating: linux-vm-tools-master/LICENSE
:
:
inflating: linux-vm-tools-master/arch/install-config.sh
inflating: linux-vm-tools-master/arch/makepkg.sh
creating: linux-vm-tools-master/ubuntu/
creating: linux-vm-tools-master/ubuntu/16.04/
inflating: linux-vm-tools-master/ubuntu/16.04/config-user.sh
inflating: linux-vm-tools-master/ubuntu/16.04/install.sh
creating: linux-vm-tools-master/ubuntu/18.04/
inflating: linux-vm-tools-master/ubuntu/18.04/install.sh
:
:
不要ファイルの削除
不要になったファイルを削除します。
実行例:
$ rm master.zip
インストール
※この例では、 .sh に +x する方法ではなく sudo bash として実行しています
実行例:
$ sudo bash ./linux-vm-tools-master/ubuntu/18.04/install.sh
:
:
:
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
以下の追加パッケージがインストールされます:
linux-tools-4.15.0-47 linux-tools-4.15.0-47-generic linux-tools-common
以下のパッケージが新たにインストールされます:
linux-tools-4.15.0-47 linux-tools-4.15.0-47-generic linux-tools-common
linux-tools-virtual
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 0 個。
4,826 kB のアーカイブを取得する必要があります。
この操作後に追加で 21.5 MB のディスク容量が消費されます。
:
:
:
Install is complete.
Reboot your machine to begin using XRDP.
再起動
システムを再起動します。
実行例:
$ sudo reboot
ホスト側操作
ここでは PowerShell を使用して操作します。PowerShell の起動方法については、次のサポート記事をご参照ください:
PowerShell
※事前に対象 VM の名称を控えておきます
Set-VM -VMName <VM-Name> -EnhancedSessionTransportType HvSocket
実行例:
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\WINDOWS\system32> Set-VM -VMName ubuntu-18.04.1-desktop-amd64 -EnhancedSessionTransportType HvSocket
エラー例:
※PowerShell が管理者権限で実行されていない場合は、エラーになります
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\Users\Owner> Set-VM -VMName ubuntu-18.04.1-desktop-amd64 -EnhancedSessionTransportType HvSocket
Set-VM : このタスクを完了するために必要なアクセス許可がありません。このコンピューター 'XXXXXX' の承認ポリシーの管理者に
問い合わせてください。
発生場所 行:1 文字:1
Set-VM -VMName ubuntu-18.04.1-desktop-amd64 -EnhancedSessionTransport …
~~~~~~~~~~~~~~~~~ CategoryInfo : NotSpecified: (:) [Set-VM], VirtualizationException
FullyQualifiedErrorId : Unspecified,Microsoft.HyperV.PowerShell.Commands.SetVM
動作確認
これまでと同様に Hyper-V 上の Linux に接続すると、Windows と同様に拡張セッションのダイアログが表示されるようになります。
オプション
「オプションの表示」をクリックすると、「画面」タブでは設定保存のチェック ボックスが表示されます。
また、「ローカル リソース」では「リモート オーディオ」や「ローカル デバイスとリソース」の設定ができます。クリップボードの設定はここに含まれます。
ログイン
拡張セッションで接続しようとすると、ログイン画面が表示されますので、Session は、デフォルトの Xorg、username と password には、接続先の Linux のログイン情報を入力し、[OK]をクリックします。
拡張セッションで Linux に接続した例。
エラー例
「セッションの接続が解除されました。続行する場合は、接続を再試行してください。問題が解決しない場合は、システム管理者に問い合わせて下さい。再接続を続行しますか?」
XRDP のログイン画面が表示され、OK ボタンをクリックしたあと上のようなメッセージが表示された場合は、接続しようとしている Ubuntu に基本セッションで接続し、ログアウトしてから再試行してみてください。Windows のように自動的にログインする構成になっている場合は、拡張セッションで接続する前に一度ログアウト操作が必要になることがあります。
参考
セッション操作
必要であれば、セッション操作を行ってください:
gnome-session-quit --logout --no-prompt
XRDP 事前確認
必要であれば、インストール スクリプト実行前にゲスト環境に XRDP をインストールし、 Hyper-V を実行している Windows 10 ホスト等から「リモート デスクトップ接続」で接続が可能であるか確認します。また、必要であればファイヤーウォール設定を行います:
$ sudo ufw allow 3389
ルールをアップデートしました
ルールをアップデートしました(v6)
※XRDP のインストールは、インストール スクリプトに含まれます
他の環境での動作確認
- o S ubuntu-18.04.1-desktop-amd64
- o S kubuntu-18.04.1-desktop-amd64
- o S xubuntu-18.04.1-desktop-amd64
- x L elementaryos-5.0-stable
- x L linuxmint-19.1-cinnamon-64bit
- x L linuxmint-19.1-xfce-64bit
- x L ubuntu-budgie-18.04.2-desktop-amd64
- x L ubuntu-mate-18.04.2-desktop-amd64
- x G lmde-3-201808-cinnamon-64bit
- x G Zorin-OS-12.4-Core-64
- x B lubuntu-18.04.2-desktop-amd64
S=動作した
L=ログイン画面は表示される
G=拡張セッションが動作しない
B=システムに不具合が生じた
※単純な動作確認を行ったものであり、それぞれの環境で動作するしないを報告するものではありません
※正常に動作する環境でも、作業後に何らかのメッセージが表示されることがあります
関連
様々な方法でリモート操作する方法については、次のサポート記事をご参照ください:
仮想化技術については、次のサポート記事をご参照ください:
注意
- 本操作例は、Windows 10 (Ver.1809) 上の Hyper-V にインストールされた Ubuntu 18.04 LTS Desktop 64 bit を Hyper-V の拡張セッションに対応させるものです
- 場合によっては追加の NIC やスイッチが必要になる事があります
スポンサードリンク