Windows Server 2019でHyper-V上にUbuntu18.04をインストール

タイトル通り，Windows Server 2019のHyper-Vで動かすUbuntu18.04にJupyterHub環境を構築した際の備忘録です．
[Windows Server 2019でWSLやHyper-V上のUbuntu18.04にCUDA環境を構築しようとして断念](https://qiita.com/fararrow/items/5f9eb1e4386707c11b3c)
の，Hyper-V部分(Ubuntuのインストール)です．


# BIOSの設定

[WSL](https://qiita.com/fararrow/items/483f0f5a9d5092adead5)に書いた通りですが，WSLがVT-x使ってると思っており，てっきりWSLが動いた時点で有効になってると思っていたので，まず最初にVT-xが無効だと怒られました．
というわけで，「Intel (VMX) Virtualization Technology」とか「VT-d」とかを有効に．

あと，(出来なかったけど)この後[DDAでpassthroughする](https://qiita.com/fararrow/items/8df089dd17d1699b299c)のですが，そのときにSR-IOV (Single Root I/O Virtualization)が有効になっている必要があります．
これ，途中で変えてしまうとデバイスが再構成されるのかちょっと破茶滅茶になります(なりました笑)．
なので，OSインストール前に有効にしておいた方が良いと思います．
![2019-06-14 17.37.04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/2bad2dab-79e9-e9be-f1f7-0a3035f4ce2e.jpeg)



# Hyper-Vの有効化

「役割と機能の追加ウィザード」の「サーバの役割」にあります．
![hyper_v.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/e2c06547-d71a-f020-0d2d-399b206bfdf9.png)
VT-xが無効な状態だとここで怒られます．

途中で仮想スイッチをどうするか聞かれます．
色々面倒なので，Windows Serverを入れるようなマシンなら物理的にLANポートも複数あるでしょうから，1つをHyper-V専用にしてしまい，そちらを使って用意しましょう．

# 仮想マシンへのUbuntu 18.04のインストール

ほぼ，
[Windows 10 Pro Hyper-V に Ubuntu 18.04 LTS をインストール](https://qiita.com/mfunaki/items/9e2901936b04f00f9cd7)
の通りの手順で入れました．

## 仮想マシンの作成

- イメージを落とす．
まずは https://ubuntu.com/download/desktop から``ubuntu-ja-18.04.2-desktop-amd64.iso``をダウンロードしておく．

- Hyper-V マネージャーを起動．
![add_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/257f047b-3f8c-896a-3a2f-1bdfe7d97442.png)
仮想マシンの新規作成ウィザードを呼び出し，指示に従っていく．

- 名前をつける．
![Wizard_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/0c5355c4-1525-18a3-f0a6-5357f783c9a1.png)
後でも変えられるが，度々打つことになるのでわかりやすく短めなものが良いかと．

- 世代を選ぶ．
![Wizard_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/0f035aba-bbaa-3e39-4d6f-484867b4eac0.png)
[Should I create a generation 1 or 2 virtual machine in Hyper-V?](https://docs.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v) 曰く，14.04移行は第2世代対応．

- メモリの割当．
![Wizard_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/aef33589-4931-2e6a-5bc6-e3e1ee44a7b3.png)
64GBあるんだけど，どうせ後から変えられるので，とりあえず16GBにした．
あと，動的メモリにしておく．

- ネットワークアダプタの指定．
![Wizard_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/91182c15-09a2-78ec-7751-3783182c3f35.png)
先程用意した仮想スイッチか，専用アダプタを指定．
ちなみにこの環境では，専用ではないがサブのアダプタで仮想スイッチを作ってそれを指定した．

- 仮想HDDの指定．
![Wizard_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/1f5348ed-d494-f6c5-b6dc-d2d17bf22c3d.png)
保存先を指定し，サイズを指定する．
保存先はdefault，サイズはどうせ可変なので512GBにしておいた．

- インストール方法の指定．
![Wizard_6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/cde2358a-f6bf-f500-787f-ccae6e15a2b2.png)
先程落としておいたいisoファイルを指定する．後で挿入しても良いけれど，ここで指定しないメリットは特にないので．

- 確認．
![Wizard_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/e2cf830e-181c-c2eb-9f16-33421b9e39ea.png)
完了！！だけど，まだ設定を変える必要あり．

- セキュアブートの設定．
![secure_boot.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/a094cd96-e1f9-5a2c-5671-ae6299773a52.png)
出来上がった仮想マシンの設定画面を呼び出し，セキュアブートを無効にする．
(じゃないとインストール後に起動しないらしい．)

- メモリ関連の設定．
![memory_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/05bc537d-d8a2-758e-e86d-6ff884c7e703.png)
最初は↑こうなってるが，
![memory_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/ee41e13e-41ba-a05d-8185-822c30999992.png)
後々のDDA関連でRAM=最小RAMになっている必要があるので合わせておく．
ついでに膨れ上がらないように最大も32GBに抑えておいた．

- プロセッサ数の設定．
![processor.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/bf32b3f0-e049-746a-8ac2-145cb1afea1b.png)
流石にdefaultの1は心許ないので増やしておく．

- 統合サービスの設定．
![service.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/101ea448-dd6b-f95e-21fe-e181e7aebe70.png)
ゲストサービスだけ外れているので入れておく．これでCopy-VMFileが使える，らしい．

- 自動停止アクションの設定．
![stop.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/5887ad4d-ba92-4373-f497-292a49557f62.png)
後々のDDAとの兼ね合いで，停止もしくはシャットダウンするようにしておく．


## Ubuntu 18.04のインストール

作成および設定を終えた仮想マシンの「接続」を押すと電源入ってないよと言われるので「起動」を押す．

- grubでの選択．
![run_iso_1_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/82d85e6c-4dbc-62f4-83d5-ff4151160d1e.png)
うまくいくなら直接インストールでも良いけど，後でゴニョゴニョするかもしれないので「Try Ubuntu without installing」にしておく．
(何故かインストールの最後でgrubのインストールに失敗して色々やらないといけないので，裏でOSが立ち上がってくれていた方が都合がいい．)

- インストーラの起動．
![run_iso_3_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/b4264642-0d0c-432d-bb3a-a13732329d1f.png)
左上にあるので起動．

- インストール方法の選択．
![run_iso_4_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/9f559422-b6ba-41f7-1719-ec79828323b1.png)
最小でも良いと思うけど，最小の最小はWSLで構築済みなので敢えて通常を選択．

- インストール時のディスクの取扱の選択．
![run_iso_6_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/01be9412-124d-2a12-6ae2-7f1a3f4cc524.png)
便利なのでLVMにしておく．

- Continue.
![run_iso_7_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/8cd4b484-fe6c-6b7b-e1fc-e1499996df9e.png)
初期化されますって言われるけどそもそも作ったばかりのVirtualなディスクに過ぎないので心置きなく進める．

- grubのインストールに失敗…
![run_iso_8_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/7d494ab8-1e50-52b4-2b13-65a2e0016719.png)
![run_iso_9_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/a3d5670d-dca2-9636-96c5-e82a7121ad9f.png)
こんな感じで何故かgrubがうまく入らない．
(うまくいく人はそのまま再起動すれば良いと思う．)
そしてこのウィンドウ達はボタンを押しても消えてくれない(笑)

## Boot Repairでgrubの修復．

きれいにインストールが終わる人は要らない作業．
これがあるので「Try Ubuntu without installing」を選んでおきました．

簡単に言うと，CTRL+ALT+TとかでTerminalを開いて，以下のようにBoot Repairを呼び出し，後は言われるがままにコピペしていくだけ．

```shell-session
$ sudo add-apt-repository ppa:yannubuntu/boot-repair
$ sudo apt update
$ sudo apt install -y boot-repair
$ boot-repair
```

ちなみに作業している所はMACアドレスを登録申請しておかないとネットに繋がらないのですが，ifconfigも入っておらず，他の調べ方を知らなかったので詰んだかと思いました(T_T)
(なお，普通にGUI上の設定画面から調べられました，良かった)

細かな過程は長いので畳んでおきます↓
<details><summary>Boot Repairでgrubの修復過程</summary>
``$ sudo add-apt-repository ppa:yannubuntu/boot-repair``
でリポジトリを追加し，
![run_iso_10_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/01a345ff-66b5-b2dd-ea7c-c98912ee217f.png)
``$ sudo apt update``
``$ sudo apt install -y boot-repair``
``$ boot-repair``
でインストールして起動．
![run_iso_11_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/02edff35-970a-5a9f-79d1-54443ff7d2c2.png)
![run_iso_12_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/48d4ade7-c089-fe99-b37e-bdcf6bf07161.png)
すると，RAIDかい？って聞かれるので，
![run_iso_13_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/77e134f0-ee36-ab0e-6ca1-a014125134db.png)
ただのVHDですよ！と「No」を選択．
いかにも直してくれそうな画面が出てくるので，
![run_iso_14_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/ccd63e30-3508-0cf3-db8d-64dcda4ea611.png)
「おすすめの修復」を選択．コピペ指示が出てくるので，
![run_iso_15_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/4dd76e99-f67c-4244-62d5-6c4be756ab4b.png)
別途Terminalを開いて
![run_iso_16_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/83c5bc7f-e8ae-3eb4-e81d-6e0ba2d260d5.png)
全部貼り付けてあげる．すると途中で言語は違うけど
![run_iso_17_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/60d7a6ee-ad66-5093-0bbe-8069f6553381.png)
「Yes選んでね」って言われてた画面が出てくるので「はい」を選択．
最後の1行には改行が含まれていないので手動でEnterを押し，終わったら
![run_iso_18_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/4e4f7ff6-916b-fe7e-efa5-b7b0c74e4a8e.png)
Boot Repairに戻って進む．すると，
![run_iso_19_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/b3bb5420-1566-37ef-47c8-8f93b0ece0d2.png)
またコピペ指示が出るので言われるがままに再度Terminalへコピペ．
![run_iso_20_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/665ce994-1fda-1754-d309-6a6f54b44f52.png)
すると終わりが見えてきたらしく，
![run_iso_21_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/42c518ab-d897-790a-1d1d-e354a53e6809.png)
こんな事を聞かれるのでお好きな方を選択．
![run_iso_22_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/60fb07b2-d723-bbfd-5483-d1de1b8111ae.png)
最終的にSumallyが用意され，
![run_iso_23_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/27566c84-6b71-0aec-97c2-bec0bc67934e.png)
こんな画面が出て終了，再起動すればOK．
</details>
最後に出てくるログ，一応バックアップしておいたので，気が向いたら何が起きてたのか見てみようかなぁ．


## 起動してアップデート．

以上の手順でインストールは完了，再起動する際にメディアを抜けと言われますが，Hyper-Vが勝手に抜いてくれます．

起動すると，
![update_1_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/1410d5ab-a987-89cf-cc7d-de300e4f56dc.png)
アプデのお誘いを受けるので従う．
![update_3_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/418e773a-daf7-db3f-cba8-73d1ff5d6b31.png)
その後再起動．今度は言語サポートがどうこう言われるので
![update_4_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/bd52551a-3c44-9bb1-1824-c2d68af87307.png)
従っておく．


## grubの待機時間短縮．

このままだと起動する度に，
![grub_1_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/49c8260e-590c-ba38-0306-29c6a32aac58.png)
30sも待たされる(いちいちEnter押すのも面倒)ので，

```shell-session
$ sudo vi /etc/default/grub
```

で
![grub_5_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/433d56ba-5fb4-449a-626b-4b82b9c430a6.png)
のように

```shell:/etc/default/grub
GRUB_RECORDFAIL_TIMEOUT=3
```

とか追加してあげる．
ネイティブでデュアルブートな構成とかではないので，よく触るGRUB_DEFAULTとかはそのまま．

```shell-session
$ sudo update-grub
```

で``/boot/grub/grub.cfg``を更新して再起動すると
![grub_6_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/67a8efec-a467-47f6-b686-d45441f512fe.png)
このようにスクショを撮るのが大変な感じに10倍速．

## homeディレクトリの言語変更．

日本語でインストールしてしまったので当然ですが，homeのディレクトリ群が
![language_1_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/9a36ad71-92c8-ee20-5c12-e6985f4e3f3a.png)
こんな感じで日本語になっているので，

```shell-session
$ LANG=C xdg-user-dirs-gtk-update
```

で
![language_3_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/6ecaab6c-3c18-fac3-2edd-73868bd20e9b.png)
英語にしておいてもらう．ちなみに二度と聞くなって言っておかないと起動の度に日本語にしようとしてくるので注意．


## net-toolsのインストール．

ifconfigって打ったら
![net-tools_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/2ba27040-6b67-9175-695a-60c1785b9879.png)
となったので，

```shell-session
$ sudo apt install net-tools
```

で入れておく．要らなければ不要な作業．


## [Alt]+[PrintScreen]が使えない．

ウィンドウのスクショ機能が動かない．
「設定→デバイス→キーボード」を確認すると，特に問題はない．
![key.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/3958fd95-1af2-13a4-85df-4acd0122cec8.png)
他のAltを使うショートカットは動いていて，AltとPrintが絡む「Alt+Print」と「Ctrl+Alt+Print」だけが動かない．
![key_new.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/3baba661-2859-1d87-e501-e36035dde420.png)
仕方がないので，とりあえず「Ctrl+Alt+P」にしておいた．

# 拡張セッションで繋ぐ

以上でとりあえず起動して使えるようになりますが，このままではクリップボードの共有等々ができません．
というわけで，拡張セッションモードで繋げるように環境を整えます．
[Hyper-V Linux で拡張セッションを使う方法](https://kb.seeck.jp/archives/12477)
辺りを参考にしました．

## linux-vm-toolsのclone

```shell-session
$ git clone https://github.com/Microsoft/linux-vm-tools.git ~/linux-vm-tools
```

する．ちなみに
![git_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/7ab3926d-404e-6aae-0a13-e505655d7976.png)
のようにgitがないと言われたので

```shell-session
$ sudo apt install git
```

してからやる．そのままzipで落としてきて展開でも良いですが，どうせgitは使うし．


## linux-vm-toolsのインストール

```shell-session
$ sudo bash ~/linux-vm-tools/ubuntu/18.04/install.sh
```

としてあげればインストールされる．
![vm-tools_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/5b87d275-cc0f-a71b-a453-69ba6c26dde1.png)
メッセージを眺めてると気付くけど，色々入ってめちゃ容量食うらしい．
終わったら一度再起動

```shell-session
$ sudo reboot
```

し，再度

```shell-session
$ sudo bash ~/linux-vm-tools/ubuntu/18.04/install.sh
```

二度目はそれほど時間かからず終わる．
終わったら一度落としておく．

```shell-session
$ sudo shutdown now
```


## Hyper-V側の設定

PowerShellでEnhancedSessionTransportTypeを確認すると

```powershell
> (Get-VM -VMName 'Ubuntu_1804').EnhancedSessionTransportType
VMBus
```

になってるはず．

```powershell
> Set-VM -VMName 'Ubuntu_1804' -EnhancedSessionTransportType HvSocket
```

してあげて

```powershell
> (Get-VM -VMName 'Ubuntu_1804').EnhancedSessionTransportType
HvSocket
```

HvSocketになったことを確認．
(Ubuntu_1804の所は適宜正しいVM名を入れる)


## 拡張セッションモードの確認

VMを起動してあげると，途中まで見慣れたUbuntuの画面で進み，ログイン画面辺りで
![enhanced_session_mode_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/993553b3-5d57-8762-322a-6f4cbf1b3c64.png)
![enhanced_session_mode_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/47ef9744-d0a3-25ed-e418-fc4619556134.png)
Enhanced Session Modeが使えるようになり，
![enhanced_session_mode_3_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/adcca53f-cc2e-05ce-8aea-a791de2b41a8.png)
お馴染みのxrdp画面になる．


## 拡張セッションモードを使えるようにxrdpを修復

これですんなり繋がるならそれで良いのだが，何故か
<details><summary>どうしても進めなくなる．</summary>
Xorgだとログイン操作以降
![enhanced_session_mode_4_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/6d896b43-b66c-8466-a658-667a9c6c31a3.png)
このように何も表示されないので，
![enhanced_session_mode_5_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/9fe1d210-cf1a-fbc6-3ea9-f664823c4227.png)
Xvncを試してみても
![enhanced_session_mode_6_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/7ca12192-713b-a06a-b3b1-61e09c812611.png)
やはり駄目．
https://github.com/Microsoft/linux-vm-tools/issues/76
</details>

仕方がないのでとりあえず通常接続にてログインする．
結論から言うと，
[Ubuntu18.04.2 xorgxrdp Install error](https://bugs.launchpad.net/ubuntu/+source/xorgxrdp/+bug/1816253)
にあるように18.04.2のバグらしい？
[xrdp connectivity no longer works after \`apt upgrade\` in Ubuntu 18.04.1 LTS](https://github.com/Microsoft/linux-vm-tools/issues/76)
や
[Ubuntu 18.04 RDP sesseion ends as soon as I login.](https://github.com/neutrinolabs/xrdp/issues/1128)
曰く``xorgxrdp``が入れば良い模様．
[Ubuntu18.04.2にxrdpをインストールしてもRDP経由のログインでエラーになる事象のメモ](https://note.spage.jp/archives/576)
にあるように

```shell-session
$ sudo apt install xserver-xorg-core
$ sudo apt install xorgxrdp
```

でちゃんとログイン出来るようになりました．

<details><summary>ログ確認作業履歴．</summary>
Xorgだとログイン操作以降
![enhanced_session_mode_4_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/6d896b43-b66c-8466-a658-667a9c6c31a3.png)
このように何も表示されないし，
![enhanced_session_mode_5_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/9fe1d210-cf1a-fbc6-3ea9-f664823c4227.png)
Xvncを試してみても
![enhanced_session_mode_6_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/7ca12192-713b-a06a-b3b1-61e09c812611.png)
やはり駄目．
![enhanced_session_mode_7_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/f8eedbb3-68f4-2ec5-ce6e-c96dc14641ec.png)
どうしようもないので通常接続にてログインし，
``/var/log/xrdp-sesman.log``を確認すると，
![enhanced_session_mode_7_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/df4e2dde-b9ec-f814-5299-e4be2243a47f.png)
``errno: 2, description: No such file or directory``
とか言ってる．さらに``/var/log/xrdp.log``を確認すると，
![enhanced_session_mode_8_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/61669e08-6acc-ded9-002c-fca59c3b2d79.png)
``[ERROR] Cannot read private key file /etc/xrdp/key.pem: Permission denied``
と出ている．一応確認しに行ったけれど，
https://forum.openmediavault.org/index.php/Thread/24607-Remote-Desktop-xfce4-is-not-running-because-of-wrong-permissions/
曰く関係ないらしい．
続いて色々調べた結果が「結論から言うと，」の部分で，``xorgxrdp``が問題だろうとなり，入れようとすると
![enhanced_session_mode_12_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/94455676-7408-5b66-d14d-456f83232594.png)
こうなるので先に``xserver-xorg-core``を入れ，
![enhanced_session_mode_13_moz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438132/d3958b69-bf7c-1dad-0f33-db10b66138bb.png)
続いて``xorgxrdp``を入れることで解決した．
</details>



# IP固定

``/etc/network/interfaces``じゃなくなったんですね…

[[Ubuntu]ローカルIPアドレスを固定にする(18.04/16.04)](https://jyn.jp/ubuntu-localip-static/)
辺りを参考に，

``ifconfig``と``route -n``と``sudo systemd-resolve --status | grep -A 2 "DNS Servers"``で

```shell-session
$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet xxx.xxx.xxx.xxx  netmask 255.255.255.0  broadcast xxx.xxx.xxx.255
        inet6 xxxx::xxxx:xxxx:xxxx:xxxx  prefixlen 64  scopeid 0x20<link>
        ether xx:xx:xx:xx:xx:xx  txqueuelen 1000  (イーサネット)
        RX packets 687302  bytes 795093959 (795.0 MB)
        RX errors 0  dropped 52  overruns 0  frame 0
        TX packets 118390  bytes 7294906 (7.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (ローカルループバック)
        RX packets 3999  bytes 4745311 (4.7 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3999  bytes 4745311 (4.7 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
$ route -n
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 インタフェース
0.0.0.0         xxx.xx.xxx.254  0.0.0.0         UG    100    0        0 eth0
xxx.xxx.xxx.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
$ sudo systemd-resolve --status | grep -A 2 "DNS Servers"
         DNS Servers: xxx.xxx.xxx.xxx
                      xxx.xxx.xxx.xxx
          DNS Domain: xxx.ac.jp
```

(ここまで確認しなくてもサーバ構築してる段階で知ってるよねって話はさておき，)現状の値を確認．
DNSサーバ調べる際に``-A 2``とか付けて少し後ろまで見ておいたのは，ココがセカンダリまで設定されるからです．
IPv6は使わないので放置．
参考記事の``50-cloud-init.yaml``はServerの場合なので，Desktopな今回は

```shell-session
$ sudo vi /etc/netplan/01-network-manager-all.yaml
```

で編集し，

```yaml:/etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

  ethernets:
    enp3s0:
      dhcp4: no
      addresses: [xxx.xxx.xxx.xxx/24]
      gateway4: xxx.xxx.xxx.xxx
      nameservers:
        addresses: [xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx]
      dhcp6: no
```

調べるとfalseだったりnだったりnoだったりするけど，まぁ肯定/否定出来てれば解釈してくれるんでしょう，きっと．

```shell-session
$ sudo netplan apply
```

で適用し，再度設定を見に行って変更されてればOK．