/etc/X11/XF86Configで書き換えてやる方法でも良いのですが、それだとXを使う人がみなその設定に変わるので少々乱暴です。
そこで、自分が使うときだけキー配置を入れ替えるように、Xで個人設定が立ち上がる部分で入れ替わるように設定します。今回参考にしたのはこちら。 ~/.xmodmaprcの内容(詳しい記述のしかたはman xmodmap参照)までは同じ。
これを読み込んでやればキー配置が変更されます。あとはログイン時に自動的に実行してやりたいのですが、調べた限りでは~/.xinirc(~/.xsession)に、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
と書いておけば良いとなっているのですが、Gnome/sawefish/VineLinux な環境ではうまくいかなかったので、Gnomeの自動実行を使うことにします。具体的には、$ xmodmap .xmodmaprc
以前us配列のキーボードを使っていた人から譲り受けたlinuxで、日本語キーボード(jp106)が使いたいとのこと。Xの方の設定は一先ず置いといてコンソールの方の設定を変更します。
$ kbdconfigこれで、jp106を選択して終了。
次にXの方の設定の変更。こちらは/etc/X11/XF86Config(XF86Config-4があればそちらを。)の該当行を書き換えます。Xの設定を使わずに、コンソールの方の設定を使うというのもありです。
別解として、きちんと指定してやる方法。今回はこちらで行います。"変更前"→"変更後"となっています。Section "InputDevice" Option "XkbDisable" EndSection
これでXを再起動しておしまい。Section "InputDevice" XkbModel "pc101" → "jp106" XkbLayout "us" → "jp" EndSection
C++でプログラミングしていると特定の個所で表示されないメッセージがあり、不思議に思って調べてみました。
具体的には、下記のようなプログラムをコンパイルして実行してもzshでは表示されません($はプロンプト)。
int main(){ cout<<"hoge"; }
ちなみに、bashやtcshでは下記のような実行結果になります。$ ./a.out $
これを、改行を含んだコードに書き換えるとどのシェルでも下記のようになります。$ ./a.out hoge$
int main(){ cout<<"hoge"; }
$ ./a.out hoge $
で、結局何が問題化というと、改行しない出力をプロンプトが上書きしてしまうためで、これは.zshrc に unsetopt promptcr と書くことで解決できました。
昨日までできていたプログラムがコンパイルできなくなったといわれて調査を開始。最初は原因がわからなかったのですが、調べていくうちにコンパイル時に生成される一時ファイルができないことに原因があることが判明。
追いかけていくと/tmpを割り当てているパーティションがfullになっていました。確かに昨日他のユーザに一時ファイルをとりあえず置くために/tmpを使ってもらうように言ったのでした。
/tmpを埋めてしまうといろいろ不具合が出る、というのと、ファイルの置くのは余裕のある場所に、という教訓でした。
他にも不具合が出てないかチェックする必要がありそうです。
統計計算とグラフィックスのためのフリーソフトである"R"を入れることにします。
こちらのサイトを見ながらインストール。
日本のミラーサイトからPRMパッケージを入手して入れようとしたところ依存で文句をいわれて面倒になったのでtarballで入れることにします。
$ get /pub/lang/R/CRAN/src/base/R-1.6.2.tgz展開して./configureしたところ、
not found f77 or f2cみたいなことをいわれて停まります。どうやらFortranコンパイラか変換ソフトが必要な模様。
$ rpm -Uvh gcc-g77-2.95.3-2vl22.i386.rpm再度./configure 今度はちゃんと完了。makeするとえらく時間がかかりましたが完了。
$ Rで起動確認。
emacsの起動時にzip99の読み込み失敗と出る、といわれて調べたところcannaのzip99という辞書の読み込みに失敗しているらしい。
とりあえず読み込まなくても大丈夫みたいなので、ホームディレクトリ下の.cannaのuse-dictionaryの部分からzip99をコメントアウト。これで解決したようです。
強制的にWnnを使う設定にしてたので気がつきませんでした。
(追記)aptで自動更新された場合になるみたいです。
zip99は郵便番号→地名の変換用の辞書で、現在はzipcode(7桁用)に置き換えられているそうです。
特に.cannaを書き換えていない場合には
$ vupgradeと実行するだけで良いらしいです。
なんとGTKベースのYahooメッセンジャーなるものがあるらしいので、面白半分で入れてみました。
駄目元でaptにあるかどうかお伺いを立ててみたところ、
$ apt-cache search yahoo gtkyahoo - GTK Yahoo! Messenger client
実にあっさりと見つかりました。とりあえずインストールしてみることに。
$ apt-get install gtkyahoo
おしまい。
実際に使ってみることにします。
$ gtkyahoo DBG_Open Error: File is null, using stdout. Warning: ~/.gtkyahoo directory non found, creating it. Warning: /home/kato/.gtkyahoo/gtkyahoorc not found, creating it. A sample configuration file has been created. Please edit it before proceeding.
怒られて起動しませんでした。メッセージは設定ファイルがなかったので用意したからきちんと自分用に書き換えとけというもの。
書き換えないまま起動しようとすると、
$ gtkyahoo DBG_Open Error: File is null, using stdout. GTKYahoo has quit: You have an INVALID password. Please edit ~/.gtkyahoo/gtkyahoorc and enter the correct password
怒られました。起動はしますが当然ログインとかはできていない状態です。
というわけで書き換えた設定ファイルの一部↓。
Config "configuration label" UserID "YMのユーザアカウント" Password "パスワード" End-Config |
パスワードの部分が生で書かれていて気持ち悪いという人は、Password行をコメントアウトしておけば接続するときにパスワードを入力するようになるようです。
で、チャットしているときにcore吐いて落ちちゃったんですが、気にしないことにします。