2009年9月19日

日本語環境の設定

NetBSD5.0のX環境で日本語を使えるように設定を行う。
とりあえずは、フォント・ターミナルソフト・入力システムの3つを使えるようにしておく。

フォント
以前Linuxを利用していたときは、M+フォント(ビットマップおよびアウトライン)が見やすくて気に入っていた。調べてみたところ、NetBSDのPackage Collectionでも vlgothic-ttf パッケージにM+フォント(アウトライン?)が含まれている模様。ビットマップはPackage Collectionには含まれていないみたいだが、Shinonomeフォントがあるのでそれを利用することにする。
まずはPackage Collectionからフォントをインストールする。
  $ pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0_2009Q2/All/vlgothic-ttf-20090422.tgz
  $ pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0_2009Q2/All/ja-shinonome-0.9.11.tgz

続いて、Xの設定ファイル(/etc/X11/xorg.conf)にフォントパスを設定する。
   FontPath   "/usr/pkg/lib/X11/fonts/TTF"
   FontPath   "/usr/pkg/lib/X11/fonts/local"

最後に、TTFフォントを使えるようにするため、fc-cacheを更新する。
/etc/fonts/local.conf にフォントパスを追加。以下のように記載する。
 
 
 
     


/usr/pkg/lib/X11/fonts/TTF 

この設定を追加した上で以下のコマンドでキャッシュを更新する。
  $ fc-cache -v
これでとりあえずはフォントの設定OK


ターミナルソフト
日本語が取り扱えるターミナルソフトとしては、rxvtmlterm が有名かな?(最近は、xtermもUTF-8が取り扱えると思うけど‥)
個人的に色々とカスタムできる mlterm がお気に入りなので、mltermをインストールすることにする。
  $ pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0_2009Q2/All/mlterm-2.9.3nb1.tgz
mltermの設定は $HOME/.mlterm/ 配下に設定ファイルを記述すればよい。設定内容については、刻色館に詳しく記載されています。


入力システム
Linuxを使っていた際は、日本語入力環境として SCIM + Anthy を使っていた。
NetBSDのPackage CollectionにはSCIMが含まれていない模様なので、UIM + Anthyという構成にすることにした。
  $ pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0_2009Q2/All/uim-1.5.5.tgz
  $ pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0_2009Q2/All/anthy-9100.tgz
インストール後、$HOME/.xinitrc に以下を追記
  export LANG=ja_JP.eucJP
  export LC_ALL=ja_JP.eucJP
  export LC_CTYPE=ja_JP.eucJP
  export XMODIFIERS="@im=xim"
  export GTK_IM_MODULE=uim
  uim-xim &

としてみたが、mltermで日本語入力ができない。何故だろう?
少し調べてみたが原因が分からなかった。この件については後日調査することにしよう‥



CtrlとCapsLockの入れ替え

Ctrlキーが 'A'キーの横に無いと落ち着かない性分です。
元々、Xの設定ファイル(/etc/X11/xorg.conf)のキーボード設定として、
  Option  "XkbOptions"   "ctrl:swapcaps"
と記述していた(期待通り、CtrlキーとCapsLockキーが入れ替わっていた)のだけれども、awesome設定のために $HOME/.Xmodmap を読み込むようにしたら(先日のブログ)この設定が聞かなくなった。(何故だろう??)

Xの動作ログ(/var/log/Xorg.log)を確認すると、
  (**) Option "XkbOptions" "ctrl:swapcaps"
  (**) ThinkPadKeyboard: XkbOptions: "ctrl:swapcaps"
とログが残っているので、Xの設定は問題無いはず。
また、.Xmodmapファイルを読み込まないようにすれば入れ替えが聞くので、やはり .xinitrc で .Xmodmapファイルを読み込んでいるのがマズいのか??

とりあえず、Xの設定ファイルで入れ替えを設定するのを諦め、CtrlとCapsLockの入れ替えも .Xmodmap で行うようにする。
以下の記載を、$HOME/.Xmodmapに追加
  remove Lock = Caps_Lock
  remove Control = Control_L
  keysym Control _L = Caps_Lock
  keysym Caps_Lock = Control_L
  add Lock = Caps_Lock
  add Control = Control_L
これで何とか解決できた!

sudoのインストール・設定

インストールはパッケージコレクションから。
  $ pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0_2009Q2/All/sudo-1.7.1.tgz

インストール後、設定ファイルを visudo コマンドで編集する。
このコマンドで、/usr/pkg/etc/sudoers のファイルが編集される。

僕の環境では、wheel グループのユーザに一通りの権限を与えたいので、以下の行を追加する。
  %wheel   ALL=(ALL)  ALL

awesomeのセットアップ

前回、ウィンドウマネージャとしてawesome-2.3.4をインストールしたが、その設定を色々行ってみる。

"無変換"キーをMod4に割り当てる
awesomeでは、標準で"Mod4"をプレフィックスキーとしており、このキーを中心にしてウィンドウマネージャの各種操作を行う。
X Window Systemの標準では、WindowsキーがMod4に割り当てられている。
ただ、使用しているThinkPad X31には、Windowsキーが無い!
そこで、"無変換"キー(スペースキーの左隣のキー)をMod4に割り当てるようにする。
Mod4に割り当てを行うためには、$HOME/.Xmodmapというファイルを作成し、そのファイルに以下を記述する。
  keycode 131 = Muhenkan
  add mod4 = Muhenkan
続いて、$HOME/.xinitrcにてこのファイルを読み込むように設定を行う。
僕の環境では以下のような形で.xinitrcに記述している。
  usermodmap = $HOME/.Xmodmap
  if [ -f "$usermodmap" ]; then
      xmodmap "$usermodmap"
  fi
  awesome
これで、startx コマンドでXを起動する際に上記設定ファイルが自動的に読み込まれ、"無変換"キーがMod4に追加される。

awesomeのキーバインド(標準)
では、awesomeのキーバインドを色々と覚えよう。キーバインドについては man ページにおおよそ記述が載っているので、以下は個人的な覚書レベル。
  • Mod4 + Enter : ターミナル(xterm)を起動する
  • Mod4 + Spage : レイアウト(ウィンドウの並び)を変更する
  • Mod4 + Shift + Spage : ※同上※(変わる順が上と逆順)
  • Mod4 + b : ステータスバーの表示/非表示の切り替え
  • Mod4 + j : フォーカスウィンドウの切り替え
  • Mod4 + k : ※同上※(変わる順が上と逆)
  • Mod4 + 数字 : 指定した番号にタブを切り替える
  • Mod4 + m : フォーカスの当たっているウィンドウを最大化する
  • Mod4 + Ctrl + 数字 : 指定したタグをトグルする
  • Mod4 + Shift + 数字 : 指定したタグにウィンドウを移動する
  • Mod4 + Ctrl + Shift + 数字 : 指定したタグにウィンドウをマージする
  • Mod4 + Shift + q : awesomeを終了する
途中、よく分からない説明があるが、青字の操作は結構感動ものです。
頑張って慣れようと思う。

ちなみに、awesome操作については nabeken さんのサイトにわかりやすいチュートリアルが乗っています。

awesomeの設定
awesomeの各種設定を行うには、$HOME/.awesomerc というファイルを作成しそのファイルに設定を記述します。詳細は AWESOME(5) のマニュアルページに記載されています。また、/usr/pkg/share/examples/awesome/awesomerc に設定ファイルのサンプルがある。これを $HOME/.awesomerc としてコピーして編集すると楽。


2009年9月17日

NetBSD5.0の設定(X&ウィンドウマネージャ)

前回に引き続き、NetBSD5.0の設定。
今回はX Window Systemに関する設定を行う。

まずは、X Window Systemの設定を行う。
  $ xorgconfig
で、基本的な設定を行うことができる。
この設定ファイルが、/etc/X11/xorg.conf として設定ファイルに記述されるので、あとは手修正で一部手直しを実施。
これでX Window Systemは動くようになった。

続いて、ウィンドウマネージャを入れる。これまでは fluxbox を使っていたのだけれども、"タイル型マネージャ"というのが気になっていたので、awesomeをインストールすることにする。
  $ pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0_2009Q2/All/awesome-2.3.4nb1.tgz
でインストール実施。
このインストール時に、依存するパッケージとして fam-2.7.0nb9 もインストールされた。famの設定として、/etc/inetd.conf に以下の設定を追記
  sgi_fam/1-2  stream  rpc/tcp  wait  root  /usr/pkg/sbin/famd    famd
あわせて、etc/rc.conf に以下の行を追記
  rpcbind=YES

$HOME/.xinitrc でawesomeを起動するように設定し、startxで起動したところ無事立ち上がった。
まだ全然使いこなせていないが、画面をフル活用できてウィンドウサイズをいちいち自分でどうこう設定しなくてもよいのは期待大。
とりあえず、キーバインドを覚えなければ。現在は終了するにも "Ctrl + Alt + Backspace"を使ってます。(X Window Systemを終了させている‥)

2009年9月14日

NetBSD5.0の設定(2)

前回に引き続き、NetBSDの設定を行う。

ユーザの追加
通常用途でマシンを利用する際のユーザアカウントを作成する。
ユーザアカウント作成に当たっては、sudoコマンドを利用できるようにするため、wheelグループに追加する。
以下のコマンドでユーザを追加。ユーザ追加と同時にユーザのパスワードを設定する。
  $ useradd -g users -G wheel -m -s /bin/csh (ユーザ名)
  $ passwd (ユーザ名)

pkgsrcの入手
NetBSDで用いられているパッケージ管理システムのpkgsrcを利用できるように設定する。pkgsrcについては、NetBSDサイトのドキュメントページに分かりやすくまとまっている(リンク)。
以下のコマンドにて、pkgsrc(2009年Q2版)を入手する。
  $ cd /tmp
  $ ftp ftp://ftp.netbsd.org/pub/pkgsrc/pkgsrc-2009Q2/pkgsrc-2009Q2.tgz
  $ tar -xvf pkgsrc-2009Q2.tar.gz -C /usr
とりあえず入れてみたけど、まだ何も試していない‥

tcshのインストール
NetBSDの標準では、sh, csh, kshが利用可能である(利用可能なシェルは、/etc/shells を見れば分かる)。ただしいくら何でもこれらのシェルでは非力過ぎるので、tcshを使用することにする。ついさっき pkgsrc を入れたのだけれども、今回はサーバ上に用意されているコンパイル済みのパッケージをインストールする。
ちなみに、i386向けの2009Q2のコンパイル済パッケージは、
  ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0_2009Q2/All/
以下に置かれている。上記パスを含めて pkg_add コマンドで指定すればインストールできる。
以下のコマンドで、tcshをインストールする。
  $ pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0_2009Q2/All/tcsh-6.16.00.tgz
インストールが終わったら、/etc/shellsの内容を確認して tcsh が選べるようになっていることを確認。続いて各ユーザのログインシェルを以下のコマンドで変更する。
  # chsh -s /usr/pkg/bin/tcsh

2009年9月13日

NetBSD5.0の設定(1)

インストールしたNetBSD5.0の設定を行う。
ちなみに、このマシンは"デスクトップ"用途で使用する予定。(プログラミング関係の勉強等)
サーバ用途には使用しない。

/etc/rc.confに以下を追記する。
  hostname=(設定するホストファイル名)
  auto_ifconfig=NO
  net_interface="ath0"
  dhclient=YES
  dhclient_flags="ath0"
  ifconfig_ath0="mode 11g ssid (SSID) nwkey (WEPキー)

この設定について簡単に解説しておくと、
  • ネットワークは、無線LAN(ドライバとしてath0がアタッチされる)を使用
  • ネットワーク設定はWEPを使用
  • ネットワークには無線ルータを使用(DHCP)しているので、DHCPでIPアドレス取得
という感じ。

続いて、CtrlとCapsLockを入れ替えるために、/etc/wscons.conf を編集する。
encodingという行がある(インストール時の設定では、jpとなっている)ので、そこを以下のように修正する。
  encoding jp.swapctrlcaps

これで、ネットワークの設定とキーボードの設定はできた。
「ネットワークでWEPを使ってるのか?」という声が聞こえてきそうだけど、まぁ暫くはこれで。そのうちWPAに切り替えようと思います。

NetBSD5.0をインストール

ThinkPad X31にNetBSD5.0をインストールする。
NetBSDのサイトからISOイメージファイルを入手し、CD-Rに焼く。焼いたCDからインストーラを起動してインストール。

起動後は、AFTERBOOT(8)のマニュアルページを見ながら各種設定を行う。

2008年12月23日

英語の仕様書・規格書における助動詞の取り扱いについて

英語の仕様書・規格書等のいわゆる規格文書を読んでいて、助動詞の意味をどのように解釈すれば良いか迷うことって度々あります。(shall とか may とか。)

これまで、どう解釈するのが正解だったのかが十分に分かっていなかったのだけれでも、その答えが見つかりました。

答えはJISにありました。JIS Z 8301 「規格票の様式及び作成方法」にその解釈の仕方および意味が記載されていました。JISの規格書自体はJISCのサイトから閲覧のみすることができます。
JIS Z 8301の閲覧ページ

勉強になるな~

2008年12月7日

Firefoxのメニューのフォントサイズを設定する

Firefoxにおいて、表示するWebページのフォントサイズは「編集→設定」から変更することができるが、メニューバー等のフォントサイズはここからでは変更できない。

Gentoo Linux に Firefox 2.0.0.18 をインストールしたところ、画面の解像度(1024 x 768)に対してメニューバーのフォントが大きすぎるので、その設定を変更してみた。

変更方法は以下の通り。
  • $HOME/.mozilla/firefox/*/chrome/以下に、"userChrome.css" というファイルを作成する。
  • 作成した userChome.css に以下を記載する。(同一ディレクトリにuserChome_example.cssというファイルがあるので、それを参考に‥)


@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
* {
font-size: 8pt !important
}

参考ページ
GNOME意外でFirefoxとThuderbirdのフォントサイズを決定する