日記とか、工作記録とか

自分に書けることを何でも書いてゆきます。作った物、買ったもの、コンピュータ系の話題が多くなるかもしれません。

Raspberry pi 2 + リモートデスクトップ接続 + 日本語キーボード

以前、このブログでも記事にしたリモートデスクトップの続きです。

windvoice.hatenablog.jp

この記事を書いていた時には気にしていなかったのですが、日本語キーボードを認識してくれず、コロンやアスタリスクを入力するのが難しい状態でした。vimをよく使うのですがファイルの保存にも苦労する状況。これをなんとかしたいと思い、いつもの通り試行錯誤しました。

普通、Raspberry piでキーボードレイアウトの変更というと、raspi-configを使うように案内されています。しかし、このコマンドは、USBポートにキーボードが直接繋がっていることを想定しているようで、リモートデスクトップの接続元のキーボードをなんとかするようにはできていません。そんなわけで検索してもなかなか欲しい情報に行き当たらない…… ということになりました。

結局、xrdpの設定を変更する必要があることがわかりました。/etc/xrdpに設定ファイルがあります。km-*.iniの形式のファイルがキーボードレイアウトの設定ファイルです。中身はテキストファイルなのでmoreでも確認することができます。

pi@raspberrypi:/etc/xrdp$ ls
km-0407.ini  km-040c.ini  km-0411.ini  km-041d.ini	km-e0200411.ini  rsakeys.ini  startwm.sh
km-0409.ini  km-0410.ini  km-0419.ini  km-e0010411.ini	km-e0210411.ini  sesman.ini   xrdp.ini
pi@raspberrypi:/etc/xrdp$ 

これに気がついて検索してみると、すでに同じような問題を対処されていることがありました。英語のキーボードでの相談ですが、USキーボードで対処されている方。さらに探してみるとUbuntu Linuxですが
Ubuntu日本語フォーラム / xrdpで日本語キーボードが使えないこちらの方。

最終的にはこのリンクで相談されている方法で解決しました。まずはキーボードレイアウトを入手。

pi@raspberrypi:/tmp$ wget http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini
--2016-04-03 10:37:30--  http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini
www.mail-archive.com (www.mail-archive.com) をDNSに問いあわせています... 72.52.77.8
www.mail-archive.com (www.mail-archive.com)|72.52.77.8|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 8703 (8.5K) [text/plain]
`km-e0010411.ini' に保存中

100%[============================================================================================================>] 8,703       --.-K/s 時間 0.01s

2016-04-03 10:37:30 (890 KB/s) - `km-e0010411.ini' へ保存完了 [8703/8703]

pi@raspberrypi:/tmp$

そのあとは/etc/xrdpに保存して、xrdpを再起動でした。シンボリックリンクを作成したりするあたりはどうしてなのか実はわかっていませんが、教えられた通りということにしています。

pi@raspberrypi:/tmp$ ls
MathLink  km-e0010411.ini  pulse-PKdhtXMmr18n  ssh-4YIg1PSuF9UV  ssh-es58Vta1Dl5O  wpa_ctrl_1822-1
pi@raspberrypi:/tmp$ cd /etc/xrdp/
pi@raspberrypi:/etc/xrdp$ ls
km-0407.ini  km-0409.ini  km-040c.ini  km-0410.ini  km-0419.ini  km-041d.ini  rsakeys.ini  sesman.ini  startwm.sh  xrdp.ini
pi@raspberrypi:/etc/xrdp$ sudo mv /tmp/km-e0010411.ini km-0411.ini
pi@raspberrypi:/etc/xrdp$ chmod 644 km-0411.ini
pi@raspberrypi:/etc/xrdp$ sudo ln -s km-0411.ini km-e0010411.ini
pi@raspberrypi:/etc/xrdp$ sudo ln -s km-0411.ini km-e0200411.ini
pi@raspberrypi:/etc/xrdp$ sudo ln -s km-0411.ini km-e0210411.ini
pi@raspberrypi:/etc/xrdp$ sudo /etc/init.d/xrdp restart
[ ok ] Stopping RDP Session manager : sesman xrdp.
[ ok ] Starting Remote Desktop Protocol server : xrdp sesman.
pi@raspberrypi:/etc/xrdp$

これで無事リモートデスクトップを使いながら日本語キーボードが使えるという状況になりました。めでたしめでたし。

Raspberry Pi3 Model B (Element14)

Raspberry Pi3 Model B (Element14)