ターミナルの Unicode 絵文字について


はじめに

少し前から記事やコマンドをの出力で絵文字が使われている場面に遭遇しています。
Kubernetes や minikube を使っていると記事と結果が違ってなんだろうと調べてみると、
Unicode で絵文字が使えるみたいで、それが出力された結果でした。

今回はよく使われる各ターミナルで利用可能か試してみました。
※2021/01/28 時点で利用できるバージョンで試行しています
※ほぼほぼデフォルトで使ってみたので、設定方法・接続方法によっては結果が変わる可能性があります

Teraterm(Version 4.105)

https://ja.osdn.net/projects/ttssh2/

事の発端はここからでした。
私は仕事でもプライベートでも一番使っているターミナルです。
ですが、現在は対応していないようです。
5.0 で対応予定みたいなので気長に待ちましょう。

https://twitter.com/ttdoda/status/1188456346028367873

スクリーンショットで「*」が絵文字になるはずが「*」に置き換わっています。

また絵文字によっては「?」で表示される場合もありました。

putty

日本語版のこちらを利用させていただきました。

https://ice.hotmint.com/putty/index.html

対応している絵文字もあれば無いものもあるみたいです。

RLogin

http://nanno.dip.jp/softlib/man/rlogin/

接続先の登録や画面分割、タブ分割など、多機能ターミナルで私も一時期使っていました。
拡張機能で絵文字が使えるみたいですが・・・


こちらも使える文字と使えない文字があるみたいです

拡張機能で絵文字用のフォルダを配置してみたのですが、だめなものはだめでした。
何度か試してみたのですが、私の配置の仕方がだめだったんですかね・・・

cmd(Version 10.0.19042.746)

Windows 標準のコマンドラインインタフェースです。
ssh コマンドが使えるので、ssh で VM にログイン後コマンドを実行してみました。
モノクロで表示が少しおかしい?ものもあればカラーで綺麗に表示されるものもあるみたいです。

Powershell(PSVersion:5.1.19041.610)

私はまだ cmd を抜けきれず、あまり触っていない&慣れない Powershell です。
ssh コマンドが使えるので、ssh でログイン後にコマンドを実行してみました。
文字化け?なのか見た感じ同じ文字のように見えますね・・・先進的なように見えて意外とだめなんですね。
設定とかすれば対応できるのでしょうか。

VSCode(cmd)

最後に最近使い始めた VSCode 内でターミナル(cmd)を起動し試してみました。
同じ cmd なのに表示はしっかりされるんですね。綺麗に表示されました。
VSCode 側で表示を制御しているお陰?とかなんですかね。

おまけ(Qiita)

直接入力でも、コード挿入でも綺麗に表示されます。

vagrant@ubuntu:~$ minikube start
😄 minikube v1.17.0 on Ubuntu 18.04 (vbox/amd64)
✨ Using the docker driver based on existing profile
👍 Starting control plane node minikube in cluster minikube
🔄 Restarting existing docker container for "minikube" ...
🐳 Preparing Kubernetes v1.20.2 on Docker 20.10.2 ...
🔎 Verifying Kubernetes components...
🌟 Enabled addons: storage-provisioner, metrics-server, default-storageclass
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

vagrant@ubuntu:~$ minikube start
😄  minikube v1.17.0 on Ubuntu 18.04 (vbox/amd64)
✨  Using the docker driver based on existing profile
👍  Starting control plane node minikube in cluster minikube
🔄  Restarting existing docker container for "minikube" ...
🐳  Preparing Kubernetes v1.20.2 on Docker 20.10.2 ...
🔎  Verifying Kubernetes components...
🌟  Enabled addons: storage-provisioner, metrics-server, default-storageclass
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

終わりに

意外と VSCode が綺麗に表示されたことに驚きました。
最近は VSCode でのターミナル活動を続けています。

ターミナルでの絵文字利用場面は少ないと思っていたのですが、他の記事を見て出力が違って見えると気になりますよね。出来れば使ってほしくは無いと思うのですが、こればっかりはツールなどの仕様にもよるのでなんとも・・・
フォントの設定や ssh などの接続方式にもよるところがあるので、あくまでも参考までにしていただければと思います。少しでも参考になれば幸いです。