カテゴリー: Debian
gdm でのシャットダウンの禁止
特に設定しないと gdm のグリーティング画面で、「アクション」から誰でもシャットダウンや再起動ができてしまう。これではコンソールの前を通りかかった人は誰でも実行できてしまうので困ったものだと思うのだが、GNOME の考え方なのだろう、以前からこれがデフォルトだ。
また、いったんログインすれば、メインメニュー「シャットダウン」の項目があり、一般ユーザーがシャットダウンできてしまう。意図的でなくてもメニューで「ログアウト」と隣合っているので、うっかり間違えてシャットダウンしてしまうことがある。別のユーザーがリモートからそのマシンを使っていると困ったことになる。
シャットダウンを禁止するには、GNOME 2.18 では、gdm の設定ファイル /etc/gdm/gdm.conf[1] の [deamon] セクションに
[daemon] HaltCommand= RebootCommand=と書き加えればよかった。シャットダウンと再起動用のコマンドに空を指定することで、自動的にグリーティング画面の「アクション」メニューから「シャットダウン」「再起動」の項目が消え、ログインした一般ユーザーのメインメニューからも「シャットダウン」が消えていた。
ところが、gdm 2.20 になると、グリーティング画面の「アクション」からは消えるが一般ユーザーのメインメニューには「シャットダウン」が出るようになってしまった[2]。
gdm の設定の [daemon] セクションを見ると、 AllowLogoutActions
という項目が 2.20 から増えていた。これに空の値を指定する、つまり先ほどの2行に加えて
AllowLogoutActions=と書くことで、一般ユーザーのメインメニューから「シャットダウン」を消すことができた。
【2011年6月29日追記】 GNOME でのシャットダウンの禁止—最近の流儀 を書きました。
- gdm のマニュアルを見ると
/etc/gdm/custom.conf
という名前のようだが、Debian では古い名前/etc/gdm/gdm.conf
が使われ続けているようだ。↑ - ロックダウン・エディタ
pessulus
を使うことも考えたが、これで「ログアウトを無効にする」と「シャットダウン」も「ログアウト」も一緒にできなくなってしまう。これらを別々に設定することはできない。↑
emacs22 と wnn7-elisp パッケージ
--- wnn7-elisp.orig/DEBIAN/control 2002-05-22 18:42:05.000000000 +0900 +++ wnn7-elisp/DEBIAN/control 2007-07-09 15:02:36.000000000 +0900 @@ -1,13 +1,13 @@ Priority: extra Architecture: all -Depends: emacs20 | emacs20-dl | xemacs21-mule | xemacs21-mule-canna-wnn +Depends: emacs22 | emacs-snapshot | emacs21 | emacs20 | emacs20-dl | xemacs21-mule | xemacs21-mule-canna-wnn Installed-Size: 587 Maintainer: OMRON SOFTWARE Co.,Ltd. <wnn-info@omronsoft.co.jp> Description: A package of Japanese input method 'Wnn7' elisp client. diff -u -r wnn7-elisp.orig/usr/lib/emacsen-common/packages/install/wnn7-elisp wnn7-elisp/usr/lib/emacsen-common/packages/install/wnn7-elisp --- wnn7-elisp.orig/usr/lib/emacsen-common/packages/install/wnn7-elisp 2002-05-22 18:41:59.000000000 +0900 +++ wnn7-elisp/usr/lib/emacsen-common/packages/install/wnn7-elisp 2007-07-10 21:50:47.818091867 +0900 @@ -37,7 +37,7 @@ emacs) ;; - emacs20|xemacs21) + emacs22|emacs-snapshot|emacs21|emacs20|xemacs21) install -m 755 -d ${ELCDIR} (cd ${ELDIR} diff -u -r wnn7-elisp.orig/usr/lib/emacsen-common/packages/remove/wnn7-elisp wnn7-elisp/usr/lib/emacsen-common/packages/remove/wnn7-elisp --- wnn7-elisp.orig/usr/lib/emacsen-common/packages/remove/wnn7-elisp 2002-05-22 18:41:59.000000000 +0900 +++ wnn7-elisp/usr/lib/emacsen-common/packages/remove/wnn7-elisp 2007-07-10 21:51:17.472192301 +0900 @@ -10,7 +10,7 @@ case "${FLAVOR}" in emacs) ;; - emacs20|xemacs21) + emacs22|emacs-snapshot|emacs21|emacs20|xemacs21) echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} rm -f ${STARTDIR}/50${STARTFILE}*;wnn7-elisp の他にも auctex, gnus も同様に修正すればいますぐ使える。これらは公式パッケージなのでしばらく待てば emacs22 対応版が出るだろう。
NICとインターフェイス名
NICとkernel 2.6.18
Intel PRO/1000GT
オンボードのLANチップがどうにも調子が悪く、新たにIntel PRO/1000GTを差した。で、使わないオンボードLANとieee1394をBIOSで殺しても、新しいNICは eth0 にはならず eth2 としてしか認識してくれない。
dmesg を見ると、
... e1000: 0000:00:0d.0: e1000_probe: (PCI:33MHz:32-bit) 00:0e:0c:xx:xx:xx e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection ...
なのに、/etc/network/interfacesには eth0やeth1と書いてもだめで、
auto eth2 iface eth2 inet static ...
としないと設定できない。どうしてだろう。
kernel 2.6.18
さて上記に伴って、まずvmplayerでネットが使えなくなってしまい、vmware-config.pl もカーネルとヘッダの情報が云々…でできないという状態だったので、思いきって sid の linux-image-2.6.18-1 に入れ換えてからやることにした。
vmplayerもすっかり入れ換えて、これは動くようになった。
別に入れているモジュールも入れ直し。nvidia-kernel-sourceは特に問題なし。shfs-sourceはコンパイルできず。バグ情報を見つけて、shfs-0.35-6-2.6.18.diffのパッチを当ててようやくできた。
e1000モジュールはカーネル同梱のもので動いているのでそのまま。というか新しいものを持ってきてコンパイルしようとしたが、まずバージョン情報を取得できず、これは2.6.18では UTS_RELEASE が include/linux/version.h と別になって include/linux/utsrelease.h になっているからのようだ。で、Makefileを書き換えてみたのだが、今度は
error: 'struct skb_shared_info' has no member named 'tso_size'
のエラーが出て失敗。e1000_main.cの’tso_size’を’gso_size’に書き換えればいいというのを見つけて、これでコンパイルできた。
fontconfig 2.4.1
設定ファイル
設定ファイルの配置が変更になったようで、/etc/fonts/conf.avail/ から/etc/fonts/conf.d/ にリンクが張られていると有効となるようだ。で、この中に 51-local.conf というのがあって、それで /etc/fonts/local.conf を読み込むようになっているので、ローカルの設定は結局 /etc/fonts/local.conf に書けばよさそう。 ところで debian 的には、/etc/fonts/conf.avail/ 以下の内容を書き換えたい(上書きしたい場合)はどうするのがよいのだろう。例えば 90-synthetic.conf は「疑似斜体」と「疑似ボールド」を実現するのだが、このうち斜体は生かしたくてボールドは抑制したい。local.conf で embolden を false にしても読み込みの順番によって true にされてしまう。90-synthetic.conf を直接書き直すのだろうか。 ここでは、リンクを /etc/fonts/conf.avail/51-local.conf から/etc/fonts/conf.d/91-local.conf に張りかえて、local.conf が最後になるようにした。IPAフォントを総称名で
「sans」「sans-serif」で指定したときに、IPAフォント[1]を用いるようにしたい。Xft フォントシステムの設定を参考にして、/etc/fonts/local.conf に<alias> <family>serif</family> <prefer> <family>Bitstream Vera Serif</family> <family>IPAMincho</family> </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>Bitstream Vera Sans</family> <family>IPAGothic</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>Bitstream Vera Sans Mono</family> <family>IPAGothic</family> </prefer> </alias>のように書く。
ボールドはEPSONフォントを
EPSON プリンタに付属の CD-ROM に太明朝や太ゴシックなどのフォントが入っている[2]ので、ボールドは疑似を使わず、これらを用いるようにする。 /etc/fonts/local.conf では、まず疑似ボールドを抑制し[3]、<match target="font"> <edit name="embolden" mode="assign"> <bool>false</bool> </edit> </match>明朝 (IPAMincho) のボールドに EpsonFutoMincho, ゴシック (IPAGothic) に EpsonFutoKakugo をそれぞれ対応させる。
<match target="pattern" > <test name="family" > <string>IPAMincho</string> </test> <test compare="more" name="weight" > <const>medium</const> </test> <edit mode="assign" name="family" > <string>EPSON 太明朝体B</string> </edit> </match> <match target="pattern" > <test name="family" > <string>IPAGothic</string> </test> <test compare="more" name="weight" > <const>medium</const> </test> <edit mode="assign" name="family" > <string>EPSON 太角ゴシック体B</string> </edit> </match>ここでフォント名はフォントそのものに埋め込まれている名前 (fc-listで表示される)を書く。UTF-8 なら local.conf も UTF-8 にする。
ビットマップを抑制
武藤さんの日記にあるとおりなので、/etc/fonts/local.conf に<match target="font" > <edit mode="assign" name="embeddedbitmap"> <bool>false</bool> </edit> </match>を書く。
「〜」(波ダッシュ、U+301C)
IPAフォントでは「〜」(波ダッシュ、U+301C)が表示されない。これについてはいろいろ意見があるだろうが、現実問題として、Firefoxであちこちのサイトを見る場合などかなり鬱陶しい。 根本的解決でなくても、表示する際に fontconfig あたりで置換することはできないのだろうかと思って検索してみると、やはり既にパッチがあった。 上記のもののうち必要な部分だけを取り出し、最新の fontconfig (2.4.1)に行番号を合わせたものを置いておく。 まず apt-get source fontconfig でソースを持ってくる。ディレクトリ debian/ の下にpatches/ というディレクトリを作り、その下に上記のパッチを置く。その際ファイル名の拡張子は .patch とか .diff にする。 あとは dpkg-buildpackage -rfakeroot で、自動的にパッチを当てながらパッケージができる。 パッケージをインストールした後、fc-cacheを忘れずに。- GRASS国際化版やオープンプリンティングプロジェクトで入手できる。↑
- もしCD-ROMを紛失したならEPSONダウンロードサービスから入手可能。↑
- そして前述のようにこの指定が最後に来て有効になるようにして。抑制しておかないと太字にデザインされたフォントをさらにボールド化しようとして醜くなる。↑
dvips
TEXPSHEADERS.dvips = .;$TEXMF/{dvipsj,dvips,pdftex,tex,fonts/type1,fonts/enc}//
と書き直せばいいことがわかった。
と思ったら、今度は
mktexpk: don’t know how to create bitmap font for rml
のエラー。これまた探しまわって、
>現在testingのdvipsk-jaは/etc/texmf/dvipsj以下のmapを読まないようなので
というのをやはり[[http://2chlinux.dtdns.net/2ch-debian/1139890780/105.html|2ちゃんねるDebianスレ]]に見つけた。dvipsj/ は読まないが dvips/は読むということらしい。うちには/etc/texmf/dvips/というディレクトリはなかったので、
ln -s dvipsj dvips
としたらたちまち動き出した。