gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

Gnome 2.28 のgnome-terminal

2009-12-31 17:15:00 | ノンジャンル

gnome-terminal上で、日本語が表示できなかったのが解決した。もともとgnome-terminalには、「端末」→「文字コードの設定」でEUCを選ぶことができるが、それをやってもうまくいかない。うまくやるには、以下の環境変数を設定してから、gnome-terminalを起動すれば良いことが分かった。

  • GDM_LANG=ja_JP.eucJP
  • LOCALE=ja_JP.eucJP
  • LANG=ja_JP.eucJP
  • LANGVAR=ja_JP.eucJP


私の場合は、パネルにgnome-terminalのボタンを作っているので、そこのプロパティの中に、上記の環境変数をセットしてからgnome-terminalを実行するように、以下の一行を記述した。これで、メニューは日本語になるし、最初から、漢字コードはEUCになるので、日本語変換(Anthyを使っている)で漢字を端末画面に入力できるようになった。

env GDM_LANG=ja_JP.eucJP LOCALE=ja_JP.eucJP LANG=ja_JP.eucJP LANGVAR=ja_JP.eucJP gnome-terminal

アプリケーションのメニューにあるgnome-terminalをこの状態で起動したいのならば、以下のようにすればよい。


  1. /usr/local/sbin/gnome-terminalというファイルを作る

    # cat /usr/local/sbin/gnome-terminal
    #!/bin/sh
    export GDM_LANG=ja_JP.eucJP
    export LOCALE=ja_JP.eucJP
    export LANG=ja_JP.eucJP
    export LANGVAR=ja_JP.eucJP
    /usr/local/bin/gnome-terminal
    #


  2. 実行権を与える

    # chmod +x /usr/local/sbin/gnome-terminal


  3. パスの順番で、sbinの下が先に実行されることを確かめておく

    # which gnome-terminal
    /usr/local/sbin/gnome-terminal


もし(3)で /usr/local/bin/gnome-terminalが表示されると、上記(1)の設定がきかないので、/usr/local/sbin/gnome-terminalを別のパスにコピーする。最悪、gnome-terminalを名前をかえて、その変えた名前を(1)のスクリプトから呼ぶようにする。


Gnome 2.28へのバージョンアップ

2009-12-31 03:24:00 | パソコン・インターネット
今日は思い切って、Gnomeを2.26から2.28にあげた。前回の教訓で、/usr/localをバッサリ全部すてて、新規に pkg_add で必要なものをインストールするという戦略ではじめた。

前回作った、パッケージのリストを順番にインストールした。わかったことは、次のとおり。

     
  1. 依存関係があるため、1度ではだめで、2度スクリプトを実行すると2度目にインストールできるパッケージがあった
  2. 日本のFTPサイトにはまだないものがあった。例えば glib20は、古いものしかなかったため、USAのサイトまでとりにいった。
  3. gnome-terminalが動作しなかった原因は、ライブラリがたりなかったせいであり、それは、googleで検索したらわかった
  4. キーボードがオートリピートにならなかったのは、libgnomekbd.tbzを再度いれたらなおった。

1度全部必要と思われるpkg_addのスクリプトを走らせた後に、エラーの出たものだけ集めて再度走らせたつもりだったが、もれがあったようで、手でその後いくつかインストールした。その結果、必要なものははいって、日本語もうまくいった。日本語フォントは11月ごろの自分のブログにのこしたやりかたでうまくいった。

あと、まだ、背景画像がかわらない。gnome-panelを再度インストールして、再起動してみることにした。そしたら、変えられるようになったが、それだけではなく、ログイン画面がでるようになった。このログイン画面にrootはいない。したがって、一般ユーザでログインしないといけない。そのため普段つかっていたrootのFirefoxの設定だけ引っ越した。~/.mozillaをコピーした。

NT Emacs 日本語IME

2009-12-30 13:29:00 | パソコン・インターネット

日本語IMEのパッチをEmacs23.1にあてたバイナリがいくつか公開されているのをみつけた。

http://d.hatena.ne.jp/galaxy9est/20091206/1260073096

http://sourceforge.jp/projects/gnupack/releases/?package_id=10444

http://k.hatena.ne.jp/keywordblog/NTEmacs

しかし、日本語の入力は完璧とはいえない。SKKとIMEが入り混じってしまう。
.ntemacs23というファイルに制御用のEMACS Lispが書いていたけれどうまくいかない。また、普通にIMEモードのときに、ユーザの登録した単語の中の半角文字が全角文字化してしまうという奇妙な現象も発生している。しかしながら、我慢して使っている。CTRL-\と「半角/全角」のキーを適当に組み合わせるとすべてのモードの間を行き来できる。

なんとか早く、Meadowレベルにしてほしいものだ。


MLDv2の実装

2009-12-13 15:22:00 | ノンジャンル
パッチは、完成した。とにかく、mcastreadコマンドを使ってマルチキャストの受信と停止ができるようになった。このパッチは,FreeBSD 8と9で有効である。完全にはソースは理解で来ていないが問題の無い直し方だと思う。もともとの作者に今、メールを送ったので、そのうちコメントがくるだろう。

このパッチが欲しい人がおられたら連絡をください。
それでは。



MLDv2の実装

2009-12-13 00:30:00 | ノンジャンル
FreeBSD 8のカーネルのmld6.cとmld6_var.hを修正して、
  Allow_new_sources
Block_old_sources
をしゃべれるようにしようとしている。

両方実装されているようなのだが、
 (1)Changed to include をむりやり上記2つに書き換える
(2)最初からある上記2つの実装ぽい関数を呼ぶように変更する
の2つをやってみた。

まずは(1)は、ジョイン側、すなわち、Allow_new_sourcesは簡単に出せたが、リーブ側、Block old sourcesは簡単にはいかなかった。しかたがないので、(2)にも挑戦することにした。

ついでに、カーネルコンパイル時に
options KTR
をやってみた。IPv6でKTRを有効にするために、
  /etc/sysctl.conf
に以下を設定した。これは、IPv6のマスクである。
debug.ktr.mask=0x10000000
FreeBSDのVirtualBoxを作ってやっているので、コンパイルはCPUを2つうまくつかえないみたいだが、再起動の時間ははやい。VBOX側にはEmacsとtsharkだけをいれた。

KTRは、mld6.c のKTR_MLDを自分で宣言しないと、ちゃんと/var/log/messagesにでてくれない。
#define KTR_MLD KTR_INET6
をいれることにした。