lucid と sid の grub-pc で確認したことのメモです。
日本語を表示するのに必要な設定は
loadfont /path/to/unicode.pf2 set gfxmode=1024x768 insmod gfxterm insmod vbe terminal_output gfxterm
のような感じで、menuentry の後ろの "" の中などで日本語が使える。unicode.pf2 は /usr/share/grub/unicode.pf2 にあるので、 ISO イメージなどを作るときは /boot/grub あたりにコピーしておく。
コマンドラインで使うときのヘルプメッセージやメニューの上下などの文字列の翻訳を表示するには /boot/grub/locale/ja.mo を用意して以下の設定をする。
set locale_dir=/boot/grub/locale set lang=ja insmod gettext
https://wiki.mozilla.org/Thunderbird:Autoconfiguration とか https://developer.mozilla.org/en/Thunderbird/Autoconfiguration とかに書いてある Configuration server at ISP の設定をサーバ側にしたという話です。
ユーザとしては http://support.mozillamessaging.com/en-US/kb/Automatic+Account+Configuration のように「名前」と「メールアドレス」を入れるだけで受信用サーバと送信用サーバが自動設定されるようになります。
具体的なサーバ側の設定手順ですが、まず Thunderbird 3.1 を用意して、適当な名前とメールアドレス (てきとう@good-day.co.jpとか) を入力して webサーバに /.well-known/autoconfig/mail/config-v1.1.xml?emailaddress=てきとう%2540good-day.co.jp のようなアクセスがあるのを確認しました。good-day.co.jp は www.good-day.co.jp にリダイレクトしているため、今回は www.good-day.co.jp のログにアクセスがあるのを確認できました。
後はそのパスで見えるように xml ファイルを置くだけです。今回は STARTTLS は無しで、 IMAP4 over SSL, POP3 over SSL, SMTP over SSL の設定を並べてみました。認証に使うユーザ名は gmail ようなメールアドレス全体ではなく「@」の左側部分だけなので「%EMAILADDRESS%」ではなく「%EMAILLOCALPART%」にしました。認証方法は SSL 経由なのと、サーバ側に生パスワードを保存していないという理由でパスワードをそのまま送る「plain」にしています。
<?xml version="1.0" encoding="UTF-8"?>
<clientConfig version="1.1">
<emailProvider id="good-day.co.jp">
<domain>good-day.co.jp</domain>
<displayName>Good-Day Inc.</displayName>
<displayShortName>Good-Day</displayShortName>
<incomingServer type="imap">
<hostname>mx3.good-day.co.jp</hostname>
<port>993</port>
<socketType>SSL</socketType>
<authentication>plain</authentication>
<username>%EMAILLOCALPART%</username>
</incomingServer>
<incomingServer type="pop3">
<hostname>mx3.good-day.co.jp</hostname>
<port>995</port>
<socketType>SSL</socketType>
<authentication>plain</authentication>
<username>%EMAILLOCALPART%</username>
</incomingServer>
<outgoingServer type="smtp">
<hostname>mx3.good-day.co.jp</hostname>
<port>465</port>
<socketType>SSL</socketType>
<authentication>plain</authentication>
<username>%EMAILLOCALPART%</username>
</outgoingServer>
</emailProvider>
</clientConfig>
このファイルをおいた後、Thunderbird 3.1 でもう一度試したところ、IMAP にするか POP にするのかの選択肢が出てきました。incomingServer が複数あるとそういう挙動になるようです。
BitTorrent での ISO イメージの配布にちょっとでも協力しようと思って、 dist.good-day.co.jp で BitTornado を動かしている。
その BitTornado が使っている場所を dist.good-day.co.jp/bt/ で http でもみえるようにしてみた。
redmine を 0.8.7 から 0.9.3 にあげた。
etch のサーバで動いていた blog.good-day.net を lenny に上げる代わりに、別の lenny のサーバに移動した。
それにともない他にもディレクトリ構成などが代わっているので、何か問題が起きているかもしれません。何か気付いた点があれば連絡してください。
まず http://milter-manager.sourceforge.net/reference/ja/install-to-debian.html の手順を参考にして
をインストール。
initgroups の修正が入ったものが 11/29 にリリースされることを期待していたけど、リリースされなかったので、パッチをあてたパッケージを作成。patch は git svn で取得しているもの。
ビルドして出来た *.deb のうち、インストールされていた 2 個 (libmilter-toolkit と milter-manager) だけをコピーしてインストールした。
milter-manager のプロセス自体は uid も gid も milter-manager で、所属グループとして postfix と greylist に入るという権限分離に設定した。
sudo vi のところは追加や変更した部分のみ。
$ sudo vi /etc/default/clamav-milter
SOCKET_RWGROUP=milter-manager
$ sudo vi /etc/default/milter-greylist
ENABLED=1
mkdir -p /var/run/milter-greylist
chmod 755 /var/run/milter-greylist
chown greylist:greylist /var/run/milter-greylist
umask 007
$ sudo vi /etc/milter-greylist/greylist.conf
#acl whitelist default
acl greylist default
$ sudo /etc/init.d/clamav-milter restart
Stopping Sendmail milter plugin for ClamAV: clamav-milter.
Starting Sendmail milter plugin for ClamAV: clamav-milter.
$ sudo /etc/init.d/milter-greylist restart
Restarting Greylist Mail Filter Daemon: No milter-greylist found running; none killed.
greylist.
$ sudo /etc/init.d/milter-greylist restart
Restarting Greylist Mail Filter Daemon: greylist.
$ id milter-manager
uid=107(milter-manager) gid=111(milter-manager) 所属グループ=111(milter-manager)
$ sudo adduser milter-manager postfix
Adding user `milter-manager' to group `postfix' ...
ユーザ milter-manager をグループ postfix に追加
終了。
$ sudo adduser milter-manager greylist
Adding user `milter-manager' to group `greylist' ...
ユーザ milter-manager をグループ greylist に追加
終了。
$ sudo vi /etc/default/milter-manager
GROUP=milter-manager
SOCKET_GROUP=postfix
CONNECTION_SPEC=unix:/var/spool/postfix/milter-manager/milter-manager.sock
$ sudo /etc/init.d/milter-manager restart
Restarting flexible milter management daemon: milter-manager.
$ sudo /usr/sbin/milter-manager -u milter-manager --show-config
package.platform = "debian"
package.options = nil
security.privilege_mode = false
security.effective_user = "milter-manager"
security.effective_group = "mail"
manager.connection_spec = "unix:/var/run/milter-manager/milter-manager.sock"
manager.unix_socket_mode = 0660
manager.unix_socket_group = "mail"
manager.remove_unix_socket_on_create = true
manager.remove_unix_socket_on_close = true
manager.daemon = false
manager.pid_file = "/var/run/milter-manager/milter-manager.pid"
manager.maintenance_interval = 100
manager.suspend_time_on_unacceptable = 5
manager.max_connections = 0
manager.max_file_descriptors = 0
manager.custom_configuration_directory = nil
controller.connection_spec = "unix:/var/run/milter-manager/milter-manager-controller.sock"
controller.unix_socket_mode = 0660
controller.unix_socket_group = nil
controller.remove_unix_socket_on_create = true
controller.remove_unix_socket_on_close = true
define_applicable_condition("Sendmail Compatible") do |condition|
condition.description = "Make a milter depends on Sendmail workable with Postfix"
end
define_applicable_condition("Remote Network") do |condition|
condition.description = "Apply milter only if connected from remote network"
end
define_applicable_condition("S25R") do |condition|
condition.description = "Selective SMTP Rejection"
end
define_applicable_condition("Authenticated") do |condition|
condition.description = "Apply a milter only when sender is authorized"
end
define_applicable_condition("Unauthenticated") do |condition|
condition.description = "Apply a milter only when sender is not authorized"
end
define_milter("milter-greylist") do |milter|
milter.connection_spec = "unix:/var/run/milter-greylist/milter-greylist.sock"
milter.description = "another spam-defense service"
milter.enabled = true
milter.fallback_status = "accept"
milter.evaluation_mode = false
milter.applicable_conditions = ["Sendmail Compatible", "Remote Network", "S25R", "Unauthenticated"]
milter.command = "/etc/init.d/milter-greylist"
milter.command_options = "start"
milter.user_name = nil
milter.connection_timeout = 300.0
milter.writing_timeout = 10.0
milter.reading_timeout = 10.0
milter.end_of_message_timeout = 300.0
end
define_milter("clamav-milter") do |milter|
milter.connection_spec = "unix:/var/run/clamav/clamav-milter.ctl"
milter.description = "Clam AntiVirus milter interface"
milter.enabled = true
milter.fallback_status = "accept"
milter.evaluation_mode = false
milter.applicable_conditions = []
milter.command = "/etc/init.d/clamav-milter"
milter.command_options = "start"
milter.user_name = nil
milter.connection_timeout = 300.0
milter.writing_timeout = 10.0
milter.reading_timeout = 10.0
milter.end_of_message_timeout = 300.0
end
$ sudo -u postfix milter-test-server -s unix:/var/spool/postfix/milter-manager/milter-manager.sock
status: accept
elapsed-time: 0.048 seconds
$
$ sudo vi /etc/postfix/main.cf
# milter-manager
milter_protocol = 6
milter_default_action = accept
milter_mail_macros = {auth_author} {auth_type} {auth_authen}
smtpd_milters = unix:/milter-manager/milter-manager.sock
$ sudo /etc/init.d/postfix reload
Reloading Postfix configuration...done.
$
外部から送信テストして、
X-Virus-Scanned: clamav-milter 0.95.3 at (略).jp X-Virus-Status: Clean
というヘッダがついていること確認。
ORCAフォントの変更点として、post の isFixedPitch を 0 に変えたという点がある。
この理由として GNOME端末でカーソルが半角文字の上でも全角幅になる、 freetype2-demos パッケージに入っている ftdiff の表示で半角文字が全角幅になるなど、日医標準レセプトソフト関連以外でも問題が確認できていて、 OpenType の仕様をじっくり眺めてあやしそうなところを探したら isFixedPitch を見つけたからだった。
ORCA フォントとしては問題が解決したが、複数のアプリケーションでの問題が改善したからといって、即フォント側が悪いというわけにはいかないので、さらに調べていた。
昨日 IRC で文字コード周りにも詳しい成瀬さんと話をしてみたところ、Glyph Name and PostScript Font Table という Apple の URL を教えてもらった。英語版 Wikipedia の OpenType の External links からしかたどっていなかったので、 Apple にもあるというのは知らなかった。Apple の post テーブルについてのページには isFixedPitch についての説明が表の下にもはっきり書いてあったので、これを根拠として IPA に連絡しておいた。
kinput2 で変換候補や off the spot 変換の window の右上の閉じるボタンを押すと kinput2 が終了してしまうという問題が ORCA 方面で知られていて、etch の sun-java6 を使ったアプリケーションでそれをやってしまうとアプリケーションが SEGV で死んでしまうことがある。(再現する環境と操作の組み合わせでは再現率100%)
とりあえず window 装飾丸ごと消してしまうのは devilspie で簡単にできる。変換候補の window まで消してしまうと kinput2 の状態表示と重なってしまって見えなくなってしまうことがあるようなので、off the spot 変換の window だけに限定するなら以下のファイルを ~/.devilspie/kinput2.ds などの名前でおいて devilspie を起動しておけば良い。
; Window Title: 'Kana-Kanji Conversion'; Application Name: 'kinput2'; Class: 'Kinput2';
(if (and
(is (application_name) "kinput2")
(is (window_name) "Kana-Kanji Conversion"))
(begin
;(debug)
(above)
(undecorate)))
もう少しまともな解決策として kinput2 の閉じるボタンを消せないかと思って、 xprop コマンドで _NET_WM_ALLOWED_ACTIONS から _NET_WM_ACTION_CLOSE を消せないかと思ってがんばってみたが、xprop コマンドの -set で複数 ATOM の設定が出来なくて困ってしまった。
結局 (kinput2 で使われている) X Toolkit のサンプルアプリを元にがんばってみたところ、 http://gist.github.com/210010 のように _NET_WM_ALLOWED_ACTIONS から _NET_WM_ACTION_CLOSE を消せば期待通り閉じるボタンが消えることがわかった。(window manager の閉じるボタンや左上のところをクリックしたときのメニューから閉じるが出来なくなるだけで Alt+F4 では閉じることが出来る)(XtAppMainLoop の前だと _NET_WM_ALLOWED_ACTIONS が設定されてなくて、設定しても何かに上書きされてしまったので、 XtAppAddTimeOut で後からいじっている。)
しかし、 etch の devilspie には spawn_ で始まる別コマンドを起動するコマンドがなかったり、 _NET_WM_ACTION_CLOSE を消すのは単独のプログラムで実験しただけだったりという状態なので、 etch の kinput2 では現状は上のように window 装飾を消すだけで対処するしかないかもしれない。
そもそも kinput2 を改造するという方針にするのなら、閉じるボタンで終了してしまわないようにした方が良さそうに思う。
Debian -- Debian “etchnhalf” インストール情報のインストーラはlennyの2.6.26のカーネルが入っていて、インストール後のetchnhalfのカーネルは2.6.24なので、インストール中は認識していたNICがインストール後に再起動すると認識しなかった。
http://kmuto.jp/debian/hcl/ で「8086:10bf」とだけ入力して調べてみると、「PCI ID:808610bf ベンダ:Intel Corporation デバイス:82567LF Gigabit Network Connection ドライバ:e1000e カーネル:v2.6.26-」と出て、ちょうどインストーラのカーネルだと認識できるけど、etchnhalfのカーネルだと認識できないデバイスだとわかった。
hclのページの右上に書いてあった情報でetch-backportsのカーネルが2.6.26になっていたので、 http://packages.debian.org/etch-backports/linux-image-2.6-686 からリンクをたどって linux-image-2.6-686_2.6.26+17~bpo40+2_i386.deb と linux-image-2.6.26-bpo.2-686_2.6.26-19~bpo40+1_i386.deb をダウンロードして、USBメモリ経由でコピーして dpkg -i でインストールして再起動したら認識した。
ORCA-BOX のリカバリ CD では、ハードディスクの自動パーティショニングに sfdisk を使っている。
まず手動で fdisk を使って元になるパーティションを切っておいて、設定した状態を「sfdisk -d /dev/sda > /etc/orca-box/partitions」のように保存しておく。
そして、リカバリなどの時に「sfdisk /dev/sda < /etc/orca-box/partitions」や「sfdisk /dev/sdb < /etc/orca-box/partitions」でパーティションの切り方を再現してから mkswap や mkfs.ext3 などをしている。
「sfdisk -d」の出力には「/dev/sda」という記述が含まれているが、「/dev/sdb」に書き換えたりしなくても「/dev/sdb」にも適用できている。
_ z [ツッコミもちゃんと動いているかどうかテストです。]