やっぱり不便だ、Windows側のVS Codeからの操作。
コンテナの中もVS Codeで操作したい
Dockerのコンテナ内に入るとviを使うことになる。結局VS Codeが使えずに面倒である。OSが異なるのでRemote-Containersも使えない。
まあ、そりゃそうだ。
ググってみると多段にsshを設定する方法があった。これが正当な接続だろう。AWS上であれこれ環境を作る必要もなくVS Codeとsshだけで解決する。
でも、せっかくのオンプレミスなので別の方法を試してみることに。AWSの技術ドキュメントがあった。
- MATE をインストール
- TigerVNC をインストール
そしてWindows側(macOSやLinuxでも同)は下記の通り。
- TigerVNCをインストール
- sshでトンネリング
- TigerVNCで接続
Windows側でVNCは使いたくない。sshトンネリングもめんどくさいしな。いや、同じLAN内ならトンネリング無しでも接続できそうな気はする。試さないけど。
ということでVNCの代わりにxrdpにする。xrdpはCentOS7で実績があるのだよ。
Amazon Linux 2側のインストールや準備作業
MATEインストール
AWSの技術ドキュメントに従い、次のコマンドを実行する。
epelインストール
オレのCentOS 7にxrdpを入れてWindows RTからアクセスする - いろいろやってみるにっきによれば次はepelのインストール。
下記のコマンドを入れていく。上にも書いた通りスーパーユーザで実施する。
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
# vi /etc/yum.repos.d/xrdp.repo
viでの作成内容は下記の通り。
[xrdp]
name=xrdp
baseurl=http://li.nux.ro/download/nux/dextop/el7/x86_64/enabled=1
gpgcheck=0
ところが上記のamazon-linux-extrasコマンドの実行結果ではこのようにepelはamazon-linux-extrasコマンドでインストール可能。
[ =8.5.31 =8.5.32 =8.5.38 =8.5.40 =8.5.42 =8.5.50
=stable ]
24 epel available [ =7.11 =stable ]
25 testing available [ =1.0 =stable ]
せっかくここでCentOS7用の最新を調べていたのに。
amazon-linux-extrasコマンドでインストールできるものはamazon-linux-extrasコマンドでインストールしたほうがAmazon Linux 2でうまく動く可能性が高いのでamazon-linux-extrasコマンドでインストールする。
xrdpとTigerVNCのインストール
次はxrdpとTigerVNCのインストール。上でVNCを使いたくないと書いたが、xrdpの依存先がTigerVNCなので、Amazon Linux 2側にはインストールする。
xrdpの起動と確認
systemctlで起動する。
3389ポートが使えるかどうかはnetstatコマンドで。
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN 8234/xrdp
tcp 0 0 127.0.0.1:3350 0.0.0.0:* LISTEN 8233/xrdp-sesman
RDPの3389ポートは使える。
今回は下記の通りあっさりつながったが、ファイアウォールで邪魔されているようなら次の設定。
疎通確認してCentOS 7のファイアーウォールで止まっているようだったら、下記のコマンドを実施。
# firewall-cmd --permanent --zone=public --add-port=3389/tcp
# firewall-cmd --reload
自動起動の設定は下記のsystemctlコマンドで。
Windows側の接続確認
mstsc.exeで接続
mstsc.exeを起動しVMのIPアドレスを指定し、[接続(N)]をクリックする。
ダイアログが出る。[はい(Y)]をクリック。
あっさりつながった。ユーザとパスワードはsshで使用しているユーザと同じ。
しかし文字化け
ログインしてみると文字化けwww。
こういうときはiOS。Microsoft謹製のRD Clientで接続してみる。しかし文字化け。
ということはフォントが解決できていないっていうことになる。
フォントをインストールして文字化け解消
インストールする。
実行結果は下記の通り。
読み込んだプラグイン:langpacks, priorities, update-motd
275 packages excluded due to repository priority protections
No packages marked for update
[ec2-user@amazonlinux2 ~]$ sudo yum -y install vlgothic-*
読み込んだプラグイン:langpacks, priorities, update-motd
275 packages excluded due to repository priority protections
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ vlgothic-fonts.noarch 0:20130607-2.amzn2 を インストール
---> パッケージ vlgothic-p-fonts.noarch 0:20130607-2.amzn2 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
========================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
========================================================================================================================
インストール中:
vlgothic-fonts noarch 20130607-2.amzn2 amzn2-core 2.2 M
vlgothic-p-fonts noarch 20130607-2.amzn2 amzn2-core 2.2 M
トランザクションの要約
========================================================================================================================
インストール 2 パッケージ
総ダウンロード容量: 4.4 M
インストール容量: 7.9 M
Downloading packages:
(1/2): vlgothic-fonts-20130607-2.amzn2.noarch.rpm | 2.2 MB 00:00:00
(2/2): vlgothic-p-fonts-20130607-2.amzn2.noarch.rpm | 2.2 MB 00:00:00
------------------------------------------------------------------------------------------------------------------------
合計 1.2 MB/s | 4.4 MB 00:00:03
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : vlgothic-p-fonts-20130607-2.amzn2.noarch 1/2
インストール中 : vlgothic-fonts-20130607-2.amzn2.noarch 2/2
検証中 : vlgothic-fonts-20130607-2.amzn2.noarch 1/2
検証中 : vlgothic-p-fonts-20130607-2.amzn2.noarch 2/2
インストール:
vlgothic-fonts.noarch 0:20130607-2.amzn2 vlgothic-p-fonts.noarch 0:20130607-2.amzn2
完了しました!
そして接続確認。少しメニューとかのフォントが直るまで数秒掛かるが問題ない。またフォントを解決している間マウスポインタが見えなかったが、それも時間が解決する。
VNCの描画が気に入らないのでRDP接続出来てよかった。