2017.06

Debian コンソール日本語環境を試してみた

コンソールでの日本語表示を修正

### First,please visit -----------
Introduction & INDEX コチラから
------------------------------ ###

サーバーマシンであれば日本語環境の使用は、
ほとんど必要ないようだけれども、気になったので
とりあえず修正してみた。


■ パッケージのインストール

$ aptitude show fbterm uim-fep uim-anthy fonts-ipafont

なければ、$ sudo apt-get install でインストール


■ 設定ファイルの編集

○ 日本語入力システム Anthy : [Ctrl]+[Spase] keyで入力モード切替え

$ sudo vi /usr/share/uim/generic-key-custom.scm

## 2行書き換え "<Shift> " --->"<control> "
## スペースがあるので削除注意
# #
#(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
(define-custom 'generic-on-key '("zenkaku-hankaku" "<control> ")
'(global-keys1)
'(key)
(N_ "[Global] on")
(N_ "long description will be here"))

#(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
(define-custom 'generic-off-key '("zenkaku-hankaku" "<control> ")
'(global-keys1)
'(key)
(N_ "[Global] off")
(N_ "long description will be here"))

○ コンソールフォントサイズの編集

# vi /root/.fbtermrc
$ vi ~/.fbtermrc

## rootとuserでそれぞれ編集
## 任意のフォントサイス指定
font-size=16

*.fbtermrcは初回起動時に生成される


■ 言語環境の確認

$ locale
$ echo $LANG
$ sudo dpkg-reconfigure locales
-----
Locales to be generated:
[*] en_US.UTF-8 UTF-8
[*] ja_JP.UTF-8 UTF-8
default locale for the system environment:
None
-----
Generating locales(this might take a while)...
  en_US.UTF-8...done
  ja_JP_UTF-8...done
Generation complete.


■ 日本言語環境の適用

$ fbterm --help
$ sudo fbterm --vesa-mode=list
-----コンソール解像度の一覧

$ sudo fbterm --verbose --vesa-mode=283
-----詳細情報を表示して実行する
-----自分の環境に合わせて調整すると良いでしょう
-----もし範囲超過とかで真っ黒のままなら、数回 exit

root@Host_Name:/home/User_Name# _
-----rootでログインするので注意

# echo $LANG
en_US.UTF-8
# export LANG=ja_JP.UTF-8
# echo $LANG
ja_JP.UTF-8
-----環境変数LANGで日本語に切替え

# uim-fep
-----画面下に anthy[An- R] と表示
-----[Ctrl]+[Spase] key 押下
-----画面下に anthy[Anあ R] と切り替わり日本語入力できる

# su User_Name
-----自分のアカウントにログイン

User@Host_Name:~$ _
-----[Ctrl]+[Spase] key 押下 日本語入力できるのを確認

*まず、rootで環境設定を行った後、自分のアカウントに切替える手順が肝


■ Rootログインの回避

rootでログインしてしまうのは気になるので、ACLで権限を与えてみた。

$ sudo setfacl -m u:User_Name:rwx /usr/bin/fbterm
$ getfacl /usr/bin/fbterm
# file: usr/bin/fbterm
# owner: root
# group: root
user::rwx
user:User_Name:rwx
group::r-x
mask::rwx
other::r-x

で、
$ fbterm
can't open frame buffer device!
nmap /dev/zero: Operetion not permitted
Using VESA requires root privilege

ダメか〜。
で、frame buffer deviceを
$ ls -l /dev/fb*
crw-rw---- 1 root video xx, xx xx xx:xx /dev/fb*
videoグループに権限がありそう

$ cat /etc/group | grep video
-----videoグループ所属でなければ登録する
$ sudo usermod -aG video User_Name
-----再ログインして確認
$ id
$ sudo setfacl -x u:User_Name: /usr/bin/fbterm
-----ACLエントリを元に戻す

で、
$ fbterm

[input] can't change kernel keymap table, all shortcuts will NOT work! see SECURITY NOTE section of man page for solution.
あれ、あれ?実害はなさそうだけど。。。
まあ、とりあえず実行できた。

man fbtermで探ってみるとSECURITY NOTEの項目に、
root以外のユーザーでshortcutsを使うには、
kernel version 2.6.15以降なら、
ケーパビリティSYS_TTY_CONFIG操作でどうか、とあった。
(また、CAP_SYS_ADMINがうんぬんと書いているようだが(・_・;)?
ここらへんは見なかったことにしよう)

それから、man fbtermには、SHORTCUT SUMMARYの項目で、
keybordとmouseの説明があった。
これらが使えないぐらいなら、まっいいか、
とも思ったが、どうせなら修正してしまえ。。

$ umame -r
$ less /usr/include/linux/capability.h
/* Allow configuration of tty device */
/* Allow vhangup() of tty :/
#define CAP_SYS_TTY_CONFIG   26

$ which fbterm
/usr/bin/fbterm
$ sudo setcap cap_sys_tty_config+ep /usr/bin/fbterm
$ sudo getcap /usr/bin/fbterm

ということで、冒頭の注意書きが消えました。


■ 使えるフォントの確認

$ fc-list
$ fc-match -s


Copyright(C) green-pen miyagi