[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:39055] Re: 年賀状作成ソフト



こんばんは、

On Mon, Dec 15, 2003 at 01:33:26AM +0900, skonishi@xxxxxxxxxxxxxx wrote:
> soraさんはset-language-envを実行したまんまの
> .bashrcや.Xresourcesの様子ですね。

あのスクリプトは非Debianマシンへの移植性を良く考えられ良くできていますよね。
でももう少しDebian Menuを上手に使った設定をした方がDebianに限るならきれい
にまとまります。暇な時に試してみて下さい。

  http://qref.sourceforge.net/Debian/reference/ch-tune.en.html#s-x-cjk


> 以下

人の設定環境って勉強になります。Thanks.以下に僭越ですがちょっとコメントさ
せて頂きました。

> .bashrc
> # ---- language-env DON'T MODIFY THIS LINE!
> # ログインシェルではない bash の起動時に実行される。
> # ----- 基本的な設定 -----
> # XIM サーバーの名前を定義する
> # (XIM は、language-env だけで使うシェル変数です)
> XIM=kinput2
> # xprop は、xbase-clients パッケージに含まれます
> if [ -n "$WINDOWID" -a -x /usr/bin/X11/xprop ] ; then
> # X Window System 上で走ってるけど X Window System と通信する権限が
> # ないとき (su したときなど) への対策
> xprop -id $WINDOWID >& /dev/null || unset WINDOWID
> fi
> if [ -n "$WINDOWID" -a -x /usr/bin/X11/xprop ] ; then
> XPROP=`xprop -id $WINDOWID WM_CLASS`
> case $XPROP in

この手の分岐は最初から各ターミナルを目的のローケルでスタートすればいらな
くなります。ぼくは最近気づいたんですが、.bashrcには全くローケール設定しな
くても、ログインシェルでないターミナルウインドーがうまく立ち上がります。

ぼくは他のシステムと共有スクリプトである必要無いので/etc/menu/*にてカスタ
ミゼーションをしています。

> *kterm* | *krxvt* | *kwterm* | *katerm* ) LANG=ja_JP.eucJP ;;
> *UXTerm* ) LANG=ja_JP.UTF-8 ;;

おかげで英語のUXTermTと日本語のUXTermが両方仲良くメニューに共存しています。
もちろんXIMは日本語サイドのみ有効です。

> *hanterm* ) LANG=ko_KR.eucKR ;;
> *caterm* | *crxvt-big5* ) LANG=zh_TW.Big5 ;;
> *crxvt-gb* ) LANG=zh_CN.GB2312 ;;
> *xterm* | *aterm* ) LANG=C ;;
> # gnome-terminal は $WINDOWID の意味が違う
> # mlterm は WM_CLASS を設定しない
> # Eterm もロケール自動認識になった
> # rxvt-beta もロケール自動認識
> * ) : ;;
> esac
> else
> case $TERM in
> linux) LANG=C ;;
> xterm)
> if [ "$COLORTERM" != "gnome-terminal" ] ; then
> LANG=C
> fi ;;
> jfbterm) : ;;
> *) LANG=ja_JP.eucJP ;;
> esac
> fi
> case $LANG in

この辺もメニューに追いやれますよ。

> ja_JP.UTF-8) JLESSCHARSET=utf-8 ; LV=-Ou8 ;;
> ja_JP.*) JLESSCHARSET=japanese-euc ; LV=-Oej ;;
> *) JLESSCHARSET=latin1 ; LV=-Al1 ;;
> esac
> export LANG JLESSCHARSET LV
> if type lv &>/dev/null ; then
> PAGER=lv
> elif type jless &>/dev/null ; then
> PAGER=jless
> elif type less &>/dev/null ; then
> PAGER=less
> else
> PAGER=more
> fi
> export PAGER
> # XMODIFIERS を export しないのは、emacs が Segmentation Fault を起こすから

へーそんな事があるんですね。

> # ただし、この方法だと、Debian メニューシステムからの起動には対応できない。
> function rxvt {
> if /usr/bin/which krxvt &> /dev/null
> then
> krxvt $*
krxvt "$@" では無いのですか?
> else
> /usr/bin/rxvt $*

これもうるさく言えば。。。

> fi
> }
> alias jfbterm='LANG=ja_JP.eucJP /usr/bin/jfbterm'

これお使いですか?どんな感じです?

> alias xemacs='XMODIFIERS= xemacs'

これも/etc/menu/xemacsを作って、そこで設定すると回避できますね。移植性
無くなりますが。

...(省略)