Home> 備忘録: 2007年3月アーカイブ
備忘録: 2007年3月アーカイブ
デュアルディスプレイ on X
- 2007年3月28日 01:06
- 備忘録
さっきから立て続けに書いてるけど,「今書いとこう」と思ったから一気に書くよっ.
先に参考 URI を挙げておく.
どっちも Gentoo Linux Wiki 内のページだけど,今回の話は X の設定だから,Gentoo に特化した記述はそんなにない.
さて,今回デュアルディスプレイ環境を構築したハードウェア構成は次の通り.
- ディスプレイ
- I-O DATA LCD-AD172C (入力端子: DVI, D-sub)
I-O DATA LCD-A171VS (入力端子: D-sub) - GPU
- GeForce 7300 GS (出力端子: DVI, D-sub)
GeForce 6100 (出力端子: D-sub)
そしてパッケージ等のバージョンは以下の通り.
- sys-kernel/gentoo-sources-2.6.19-r5
- x11-base/xorg-x11-7.1
- media-drivers/nvidia-drivers-1.0.9755-r1
(訳ありで) できることなら 2 つの D-sub 端子を使ってのデュアルディスプレイ環境を構築したかったんだけど,どうもうまくいかなかった.っつーか その設定を探る過程でファイルシステムを破損するはめに ! (但し直接の因果関係はない.)結局 GeForce 7300 GS の出力端子 2 つを使うことにした.
となると TwinView という選択肢が浮上する.実際に試してみたけどこれは使いにくかった.今は Xinerama を使うということで落ち着いている.つまり 上に挙げた参考 URI の後者の文中にある I prefer (3).
という主張に同意.
設定の手順は参考 URI 先で丁寧に述べられてるんで,ここでは設定後の xorg.conf を晒すにとどめる.
Section "ServerFlags"
Option "DefaultServerLayout" "Xinerama"
EndSection
# Global settings {{{
Section "Files"
RgbPath "/usr/share/X11/rgb"
ModulePath "/usr/lib64/xorg/modules"
FontPath "/usr/share/fonts/misc/"
FontPath "/usr/share/fonts/Type1/"
FontPath "/usr/share/fonts/100dpi/"
FontPath "/usr/share/fonts/75dpi/"
EndSection
Section "Module"
Load "glx"
Load "extmod"
SubSection "extmod"
Option "omit XFree86-DGA"
EndSubSection
Load "xtrap"
Load "record"
Load "dbe"
# Load "dri"
Load "freetype"
Load "type1"
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mouse0"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0 (DVI)"
VendorName "I-O DATA"
ModelName "LCD-AD172C"
EndSection
Section "Monitor"
Identifier "Monitor0 (D-sub)"
VendorName "I-O DATA"
ModelName "LCD-AD172C"
EndSection
Section "Monitor"
Identifier "Monitor1 (D-sub)"
VendorName "I-O DATA"
ModelName "LCD-A171VS"
EndSection
# }}}
# Single monitor {{{
Section "ServerLayout"
Identifier "Single"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
# }}}
# Double monitor with Xinerama {{{
Section "Device"
Identifier "GeForce 7300 GS (DVI)"
Driver "nvidia"
VendorName "nVidia Corporation"
BoardName "G71 [GeForce 7300 GS]"
BusID "PCI:3:0:0"
Screen 0
Option "NoLogo" "true"
Option "UseDisplayDevice" "DFP"
EndSection
Section "Device"
Identifier "GeForce 7300 GS (D-sub)"
Driver "nvidia"
VendorName "nVidia Corporation"
BoardName "G71 [GeForce 7300 GS]"
BusID "PCI:3:0:0"
Screen 1
Option "NoLogo" "true"
Option "UseDisplayDevice" "CRT"
EndSection
Section "Screen"
Identifier "Screen0"
Device "GeForce 7300 GS (DVI)"
Monitor "Monitor0 (DVI)"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 16
Modes "1280x1024"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "GeForce 7300 GS (D-sub)"
Monitor "Monitor0 (D-sub)"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 16
Modes "1280x1024"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Xinerama"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
Option "Xinerama" "true"
EndSection
# }}}
# Double monitor with TwinView {{{
Section "Device"
Identifier "GeForce 7300 GS (TwinView)"
Driver "nvidia"
VendorName "nVidia Corporation"
BoardName "G71 [GeForce 7300 GS]"
BusID "PCI:3:0:0"
Option "NoLogo" "true"
Option "TwinView" "true"
Option "UseDisplayDevice" "DFP-0,CRT-0"
Option "MetaModes" "1280x1024,1280x1024"
Option "TwinViewOrientation" "DFP-0 LeftOf CRT-0"
EndSection
Section "Screen"
Identifier "TwinScreen"
Device "GeForce 7300 GS (TwinView)"
Monitor "Monitor0 (DVI)"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 16
Modes "1280x1024"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "TwinView"
Screen 0 "TwinScreen" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
# }}}
研究室の模様替えとかして各人へのディスプレイの割り当てが変わるかも知れんけど,まぁそん時はそん時でしょ.
- Comments (Close): 2
- TrackBack (Close): 2
Mutt-j, urlview
- 2007年3月27日 23:24
- 備忘録
以前に Portage ツリーから持ってきてインストールした Mutt では,メール本文中の全角記号とかがきちんと表示されなかった.なので,日本語対応パッチを当てるために,Mutt 本体共々こちらから取得してインストールし直した.ついでに,配色を vim の syntax=mail 時のそれに合わせてみたw
以下の強調部分が以前のものから修正・追加した箇所.
# Character encodings
set charset="euc-jp"
set send_charset="us-ascii:iso-2022-jp"
set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
set thorough_search=yes
set sanitize_ja_chars=yes
set forward_decode=yes
set mime_forward_decode=no
# MTA
set sendmail="/usr/bin/nullmailer-inject"
set envelope_from=yes
# User information
set realname="Yoshinori IIHOSHI"
set from="user@host.domain"
set hostname="host.domain"
set signature="$HOME/local/doc/signature.txt"
# Mailbox type and Folders
set mbox_type=Maildir
set spoolfile="$HOME/.maildir/"
set folder="$HOME/.maildir/"
set mbox="+inbox"
set record="+outbox"
set postponed="+postponed"
set tmpdir="$HOME/tmp/"
mailboxes +inbox
mailboxes +inbox/spam
mailboxes +inbox/from_OE
# 一部省略
# Editor
set edit_headers=yes
set fast_reply=yes
set forward_edit=no
set include=yes
# Forwarding
set mime_forward=ask-yes
#set forward_decode=yes
#set mime_forward_decode=yes
# Pager
set pager_index_lines=5
set tilde=yes
# Formats
set attribution="On %d,\n%f wrote:"
set date_format="!%a, %d %b %Y at %H:%M:%S %Z"
set index_format="%4C %Z %{%b %d} %-15.15L %s"
set folder_format="%2C %t %N %8s %d %f"
set forward_format="Fwd: %s"
# Threads
set sort=threads
set sort_aux=date
#set narrow_tree=yes
# Header
ignore *
unignore date from to cc subject
hdr_order date from to cc subject
# Colors
# ref.: http://www.emaillib.org/mutt/1.5/doc/usage-japanese.ja.html#id2432730
# Normal setting
color normal white default
# Index screen
#color index green default ".*"
color tree cyan default
color indicator brightwhite black
# Pager
color hdrdefault yellow default
color header green default "^(Date|From|To|Cc|Subject):"
color quoted0 blue default
color quoted1 cyan default
color quoted2 blue default
color quoted3 cyan default
color quoted4 blue default
color quoted5 cyan default
# ref.: http://www.din.or.jp/%7Eohzaki/perl.htm#httpURL
color body red default "https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+"
color body magenta default "[-a-z_0-9.]+@[-a-z_0-9.]+"
color body red default "([0-9]{1,3}\\.){3}[0-9]{1,3}"
color signature magenta default
color attachment green default
color search black yellow
# Symbols
color markers blue default
color tilde blue default
# Menu, Message
color status yellow blue
color message green default
color error brightred brightwhite
# Macros
macro pager \cb |urlview\n
それから,メール本文中の URL を web ブラウザで開くために urlview なるものが使えることを知ったので,早速インストールして設定した.
# ref.: http://www.din.or.jp/%7Eohzaki/perl.htm#httpURL
REGEXP https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+
# The lists of programs to be executed are
https_prgs="/usr/bin/firefox:XW"
http_prgs="/usr/bin/firefox:XW"
mailto_prgs="/usr/local/bin/mutt:VT"
gopher_prgs="/usr/bin/lynx:XT /usr/bin/gopher:XT"
ftp_prgs="/usr/bin/firefox:XW"
# Program used as an xterm (if it doesn't support -T you'll need to change
# the command line in getprg)
XTERM=/usr/bin/mlterm
変数 REGEXP はデフォルト値のままだとうまくいかない場合があったから書き直した.それと,スクリプト中の各変数の値を変更するために,url_handler.sh を ~/bin にコピーしてから上記のように書き直した.
パッチを当てた Mutt で sanitize_ja_chars=yes とすれば,日本語の機種依存文字を〓に置き換え
てくれるとのこと.おぉー確かに置換されてるー.
ってなんでメール本文に機種依存文字を使ってるんだよっ.どこの誰とは言わない(言えない)けど.
- Comments (Close): 0
- TrackBack (Close): 0
Mutt に乗り換え
- 2007年3月19日 00:03
- 備忘録
結局乗り換えてしまった.「返信ヘッダが気に食わない」という理由だけでw
さて,インストールやら設定やらについては,基本的にGentoo のドキュメントに従って,また少々古いもののこんな親切な PDF 文書を見ながら行ったんで,果たして俺がわざわざ改めて書く必要があるのか否か激しく疑問だけどまぁ良いや.
メールサーバからメールを受信するために fetchmail を,メールを振り分けるために MDA 兼フィルタである Procmail を,メールの閲覧やら作成やらをするために MUA である Mutt を,メールを送信するために MTA または送信専用プログラムを,それぞれインストールし設定する必要がある.うへぇ.
ここで「MTA または送信用プログラム」に関して覚え書き.
Gentoo ではシステムのパッケージが sSMTP に依存しているらしく,既にインストール済みの状態.「依存している」って事は,そのパッケージが sSMTP を使って何らかの (ログ ?) メールを送信しようとするんだろう.でも勝手に送信されると研究室内で少々迷惑な事になる (なった) らしい.なので,sSMTP はインストールしたままだけども「メールを送信しない」と設定しておく必要がある.
ということで,いちユーザがメールを送信するためには sSMTP 以外のプログラムを使うことになるんだけど,USE フラグ mailwrapper を有効にしておかないと sSMTP とは共存できないようになっている.なので,以下の記述を /etc/portage/package.use に書き加えておく.ここでは sSMTP 以外の送信用プログラムとして nullmailer を選んだ.
mail-mta/nullmailer mailwrapper
mail-mta/ssmtp mailwrapper
USE フラグを書き換えたので,sSMTP を再インストールするために --newuse オプションをつけて emerge 実行.
$ sudo emerge --newuse -vaD fetchmail procmail mutt ssmtp nullmailer
インストール終了直後,/etc/mail/mailer.conf の編集を要求される (されたはず.多分.etc-update で).これはシステムが使う送信用プログラムの実体を指定するためのファイルなので,sSMTP 以外のプログラムに関する行をコメントアウトしとく.
さぁ,インストールは終わったんで,ここからは各プログラムの設定だ.
……面倒になってきたからレシピファイルを晒すだけでいいよね ? (´・ω・`)
- .fetchmailrc
-
# Global options set daemon 300 # 5 分おきに fetch set syslog # Primary mail server poll mail.xxxxxx # メールサーバの FQDN protocol apop username "user" # 一応 架空のユーザ名ということで password "********" # パスワード (平文 !) # keep mda "procmail -d %s"- パスワードを平文で直接書いてしまうんで,.fetchmailrc のパーミッションは 600 にすべし.
- 使う MDA を mda キーワードにセットすべし.
- .procmailrc
-
# Variables MAILDIR=$HOME/.maildir/ #DEFAULT=$HOME/var/spool/mail/ LOGFILE=$HOME/var/log/procmail.log # SPAM :0 H * ^X-Spam-Flag: yes * ^Subject: \[SPAM\] inbox/spam/ # From Outlook Express :0 H * ^X-Mailer: .*Microsoft Outlook Express.* inbox/from_OE/ # Default :0 inbox/- 一応,公開しても問題なさそうなものだけを書いとくw
- 振り分け先ディレクトリ名の末尾に
/が付いてると,Procmail はそのディレクトリが Maildir 形式であると分かってくれるらしい. - 今のところ,Outlook Express で送られてきたメールは全て怪しげなヤツだけ.いやぁ,皆さん良く分かってるねぇw
- .muttrc
-
# Character encodings set send_charset="us-ascii:iso-2022-jp" set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8" set thorough_search=yes # MTA set sendmail="/usr/bin/nullmailer-inject" set envelope_from=yes # User information set realname="Yoshinori IIHOSHI" set from="user@host.domain" # 一応 架空のアドレスということで set hostname="host.domain" # 一応 架空のホスト名ということで set signature="$HOME/local/doc/signature.txt" # Mailbox type and Folders set mbox_type=Maildir #set spoolfile="$HOME/var/spool/mail/" set folder="$HOME/.maildir/" set mbox="+inbox" # for received mails set record="+outbox" # for sent mails set postponed="+postponed" # for will-send mails set tmpdir="$HOME/tmp/" mailboxes =inbox mailboxes =inbox/spam mailboxes =inbox/from_OE # 一部省略 # Editor set edit_headers=yes set fast_reply=yes set forward_edit=no set include=yes # Pager set pager_index_lines=5 set tilde=yes # Formats set attribution="On %d,\n%f wrote:" # 返信ヘッダの書式 set date_format="!%a, %d %b %Y at %H:%M:%S %Z" # 日時の書式 set index_format="%4C %Z %{%b %d} %-15.15L %s" # メッセージ一覧表示の書式 set folder_format="%2C %t %N %8s %d %f" # ディレクトリ一覧表示の書式 set forward_format="Fwd: %s" # 転送メールのタイトルの書式 # Header ignore * unignore date from to cc subject hdr_order date subject from to cc # Colors color normal white default # Header color hdrdefault cyan default color header brightcyan default "^from:" color header brightcyan default "^subject:" # URI like HTTP color body cyan default "[a-z]+://[-A-Za-z_0-9\\,./\?&=]+" mono body underline "[a-z]+://[-A-Za-z_0-9\\,./\?&=]+" # E-mail address color body cyan default "[-a-z_0-9\\.]+@[-a-z_0-9\\.]+" mono body underline "[-a-z_0-9\\.]+@[-a-z_0-9\\.]+" # IP address color body cyan default "([0-9]{1,3}\\.){3}[0-9]{1,3}" mono body underline "([0-9]{1,3}\\.){3}[0-9]{1,3}" # Quoted body color quoted0 blue default color quoted1 green default color signature blue default color tilde blue default color underline cyan default color error brightred default mono error bold color indicator brightwhite black color attachment green default #color status black cyan #mono status bold #color tree yellow blue #color message green black- 俺自身 よく分からないままに設定しているものがあるので注意.
- Mutt が使う送信用プログラムのパス (ここでは /usr/bin/nullmailer-inject) を sendmail 変数にセットすべし.
- mbox_type 変数に
Maildirをセットした場合 = メールボックスの形式に Maildir を選んだ場合,mailboxes 変数で指定した各ディレクトリの直下に cur, new, tmp という名前のディレクトリをそれぞれ作成する必要がある. - .procmailrc と .muttrc とでディレクトリの設定の辻褄が合ってないと当然ダメ.
- 書式の指定がかなり柔軟にできちゃうぜ.すげー.
- 色付けに関してはよく分かってないものが多い.
- /etc/nullmailer/remotes
-
mail.****** smtp # メールサーバの FQDN
んで後は,デーモンとして動かすべきものを自動で起動するように設定すれば良い.
但し fetchmail に関しては注意が必要./etc/init.d/fetchmail を見れば分かる通り,/etc/fetchmailrc なる設定ファイルが存在しないと起動しないようになっている.しかしそんなファイルがない.新規作成するにしてもどういう記述をすべきものなのか知らない.じゃあ良いや,スクリプトの方を書き換えてしまえ,てことで,このページを参考に修正.
--- fetchmail.orig 2007-03-15 17:11:06.000000000 +0900
+++ fetchmail 2007-03-15 17:20:19.000000000 +0900
@@ -12,18 +12,31 @@
fi
}
+# ref.: http://blogs.dion.ne.jp/shadow/archives/1932055.html
start() {
- checkconfig || return 1
-
ebegin "Starting fetchmail"
- start-stop-daemon --start --quiet --exec /usr/bin/fetchmail \
- -- -d ${polling_period} -f /etc/fetchmailrc
+ for user in `ls /home`
+ do
+ if [ -f /home/$user/.fetchmailrc ]
+ then
+ einfo " fetchmail for $user starting..."
+ su $user -c "/usr/bin/fetchmail"
+ fi
+ done
eend ${?}
}
+# ref.: http://blogs.dion.ne.jp/shadow/archives/1932055.html
stop() {
ebegin "Stopping fetchmail"
- start-stop-daemon --stop --quiet --pidfile /var/run/fetchmail.pid
+ for user in `ls /home`
+ do
+ if [ -f /home/$user/.fetchmailrc ]
+ then
+ einfo " fetchmail for $user stopping..."
+ su $user -c "/usr/bin/fetchmail --quit"
+ fi
+ done
eend ${?}
}
- ~/.fetchmailrc の方で
set daemon 300などと記述していれば,コマンドライン引数を与えなくともデーモンモードで起動するのでこれで OK.
$ sudo eselect rc start fetchmail $ sudo eselect rc add fetchmail default
初期化スクリプトの起動/停止・ランレベルへの追加/削除くらいだったら eselect は逆に面倒臭い気もするなぁ,自分で書いておきながら.
……あーーー.ようやくこれで全部書いたかね.抜けとか誤りがあれば発覚したその都度に修正することにしよう.
これくらいの長さの文書になると,きちんと章立てして hn 要素で見出しもきちんとつけて書くべきなんだろうけど (のぺ~っとしてて読みにくいし),レイアウト的にどうなっちゃうのか検証してないし するのも面倒なんで,今は放置.
- Comments (Close): 0
- TrackBack (Close): 0
Thunderbird での返信ヘッダの書式
- 2007年3月13日 02:06
- 備忘録
最近 「備忘録」 しか書いてないなぁ.
Thunderbird のデフォルトの設定では,返信メールを作成すると以下のような感じになる.
Yoshinori IIHOSHI wrote: > Hello! > ...
この 1 行目を返信ヘッダと呼ぶ.返信ヘッダの書式は,拡張機能を使わなくてもある程度カスタマイズできる. about:config ウィンドウを開いて mailnews.reply_header_**** なる設定名の値を編集するか,上記リンク先のように user.js に直接記述するかすれば良い.俺はこれまで次のように設定して使っていた.
過去に自分が書いた返信メールを今漁ってみたら,この設定変更を行ったのは実は今年の 1 月末だった.割と最近だったのね.
| 設定名 | 値 |
|---|---|
| mailnews.reply_header_type | 2 |
| mailnews.reply_header_authorwrote | %s wrote |
| mailnews.reply_header_ondate | At %s |
| mailnews.reply_header_separator | , |
この時の返信メールは次のようになる.
At 03/13/2007 02:00 AM, Yoshinori IIHOSHI wrote: > Hello! > ...
時刻も表示されるんだから "On %s" だとおかしいだろ…英語として….
「ある程度カスタマイズできる」 とは言ったものの,俺にとっては申し訳程度のように感じていたので,Thunderbird Reset Quote Header の日本語版をインストールしてみた.なんで "Quote Header" なんやろ.昔は公式でもそう呼んでたんかな ? 以下のようなテキストファイルを作成して使うことにしてみた.
At <!--@D@-->@D@<!--@D@--> +0900, <!--@A@-->@A@<!--@A@--> wrote:
この時の返信メールは次のようなものになる.一応,メールアドレスは架空のものということで.
At 2007年03月13日 02:00 +0900, Yoshinori IIHOSHI <user@host.domain> wrote: > Hello! > ...
これでも不満な点がある.日時の書式が気に食わない.自分で+0900と書いちゃってるのもなんだか変な気分.
Reset Quote Header を使う前と後で日時の書式が変わっちゃってるけど,これはシステムのロケールに関して手を加えたのが影響した様子.
環境変数 LC_TIME でロケールを指定すればそのロケールで定められた書式が使われるらしいけど,俺の環境では LC_TIME の代わりに LC_ALL を使わないと確認できなかった.もちろんそれじゃマズい.日時の書式以外のところで文字化けが生じかねない っつーか生じたから.
更に,上記リンク先には 「ISO-8601 で定められている書式 (例: 2007-03-13T02:00+09:00) を使いたいなら en_DK を指定しろ (If you want the ISO 8601 date format (YYYY-MM-DD), use the "en_DK" locale.
)」とあるわけだけど,これは人間にとって読みにくい (と思う) んで,RFC2822 で定められている書式 (例: Tue, 13 Mar 2007 02:00 +0900 (JST)) を使いたい.ということは後者を採用しているロケールを見つけにゃならん.しかし見つからん.ロケール別のそういう相違を一覧としてまとめている資料はないもんかね.
ロケールの指定による書式の変更を半ば諦めて,そんな変更のできる拡張を探してみたけど,これも全然見つからない.もしかしたら拡張だけでは対処できないのかもしれない.Mozilla 側が実装してくれるまで待つか,いっそのこと MUA を乗り換えてしまうか.うぅむ.
- Comments (Close): 2
- TrackBack (Close): 0
userContent.css と mixi (2)
- 2007年3月 5日 00:31
- 備忘録
気付いた範囲でしか書いてないけど,とりあえず現在のものを Wiki の方に添付しとく.今後もちょこちょこ修正しては差し替えていくつもり.
追記.2 カラム表示の場合しか確認してないので注意.それと 「何をどう変更するのか」 については,ファイル中のコメントを読むか実際に適用するかして把握してくだしあ.
- Comments (Close): 0
- TrackBack (Close): 0
- Newer: 備忘録: 2007年4月
- Older: 備忘録: 2007年2月
Home> 備忘録: 2007年3月アーカイブ