メニュー 閉じる

VyOS 1.3.2でキーボードレイアウトが設定出来ない

2022/09/15 VyOSフォーラムに書き込んだら、別の解決策が分かりましたので追記しました

VyOS 1.3.2に限ったことじゃないのですが、1.3系以降でset console keymapを実行してもキーマップが変更されない事象が発生しています。

一応以下のページでバグとして報告されているみたいなのですが、そのコマンド本当に必要なん?って言われてる始末。
EN以外のユーザには必要なんですよ!ふざけんな。

で、発生事象としては上記でも軽く調査されているようですが、set console keymap実行後にCondition check resulted in Set the console keyboard layout being skipped.とログに記録されることが確認できます。
また、これについてはkeyboard-setupサービスというのが関係しているようで、systemctlを実行してみると確かに正しく動作していないようです。

vyos@vyos:~$ sudo su -
root@vyos:~# systemctl status keyboard-setup
● keyboard-setup.service - Set the console keyboard layout
Loaded: loaded (/lib/systemd/system/keyboard-setup.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Condition: start condition failed at Mon 2022-09-12 23:29:57 JST; 1min 47s ago
└─ ConditionPathExists=/bin/setupcon was not met

Sep 12 23:29:57 vyos systemd[1]: Condition check resulted in Set the console keyboard layout being skipped.

さて7行目に記載されているとおり、/bin/setupconが存在していないことが問題のようですが、どうやらこれはconsole-setupパッケージに含まれているようです。
なので手動でインストールしてしまいましょう。

依存関係も含めてパッケージを2つインストールする必要があります。

root@vyos:~# wget http://ftp.jp.debian.org/debian/pool/main/c/console-setup/console-setup_1.193~deb10u1_all.deb
root@vyos:~# wget http://ftp.jp.debian.org/debian/pool/main/x/xkeyboard-config/xkb-data_2.26-2_all.deb
root@vyos:~# dpkg -i console-setup_1.193~deb10u1_all.deb xkb-data_2.26-2_all.deb
(Reading database ... 62823 files and directories currently installed.)
Preparing to unpack console-setup_1.193~deb10u1_all.deb ...
Unpacking console-setup (1.193~deb10u1) over (1.193~deb10u1) ...
Selecting previously unselected package xkb-data.
Preparing to unpack xkb-data_2.26-2_all.deb ...
Unpacking xkb-data (2.26-2) ...
Setting up xkb-data (2.26-2) ...
Setting up console-setup (1.193~deb10u1) ...
root@vyos:~#

これで、set console keymapもバッチリ動作するようになります。
再起動しても問題ありません。

root@vyos:~# systemctl status keyboard-setup
● keyboard-setup.service - Set the console keyboard layout
Loaded: loaded (/lib/systemd/system/keyboard-setup.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2022-09-12 23:42:09 JST; 21min ago
Main PID: 565 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 1150)
Memory: 0B
CGroup: /system.slice/keyboard-setup.service

なお当然ですが、VyOSをバージョンアップした場合などはパッケージを入れ直す必要があります。
というか、パッケージ追加するだけなので本家でも是非対応してほしいところですね。
報告すりゃ良いのか?→しました

別の解決策(2022/09/15追記)

フォーラムによると、コンフィグモードでset system option keyboard-layout jp106を実行することで解決する事が分かりました。
この場合、パッケージの追加導入も不要ですし、コンフィグに記録されるためこれまでバージョンアップの度にkeymapを設定していたのが不要になります。

なお現時点で、set system option keyboard-layoutの候補リストにjp106が出てきませんが、手動で入力することで指定が可能です。
jp106の候補リストへの追加は、フォーラムに回答して下さった方が対応を進めて下さいましたので、1.4の頃には追加されていることでしょう。

一連の手順は以下の様になります。

vyos@vyos:~$ config
[edit]
vyos@vyos# set system option keyboard-layout jp106
[edit]
vyos@vyos# commit
[edit]
vyos@vyos# save
Saving configuration to '/config/config.boot'...
Done
[edit]
vyos@vyos#

その後(2022/11/23追記)

上記のjp106が候補に出ない問題ですが、ローリングリリースのVyOS 1.4(VyOS 1.4-rolling-202211190627)を触る機会があったので確認してみたところ、無事候補に表示されていました。めでたしめでたし。

vyos@vyos# set system option keyboard-layout
Possible completions:
   us                   United States (default)
   fr                   France
   de                   Germany
   es                   Spain
   fi                   Finland
   jp106                Japan
   no                   Norway
   dk                   Denmark
   dvorak               Dvorak

関連投稿

コメントを残す