3/24/2008

SUSE LinuxでTeX

mlhが使えるようになったら、やっぱりTeXでしょう。今となっては書く用がまったくないんだけど、
学生とか研究者だったら書けるようにしたい。コンピュータの世界でいう書道みたいなものかもしれないけど。

10年ぶりに使ってみたけど、SUSEに入っているteTeXは、EUCしかサポートしていない。
(もともとEUCで書いていたからあまり気にしないけど)
ptex,jsclasses,日本語のフォントなどのパッケージをインストールすれば、特になにも設定はいりません。

eucでtexファイルを作成して、
# platex XXX.tex
dviは、見れないので、pdvipsでコンバート。

便利な時代になりましたね。

使ったことはない、lyx-cjkは、どうやっても動きませんね。もしかするとkdeの何かのファイルが不足している感じなんだが。。。

lv の文字化け

utf-8で記載されたtexファイルをコンバートしていて気がついたんだが、
lvってUTF-8は、読めなかったっけ?
http://download.opensuse.org/repositories/openSUSE:/10.3/standard/src/lv-4.51-62.src.rpm
をソースコンパイルすれば、正しく表示

XDMCPって普通に便利

昔、昔、UNIXマシンが軽く500万を超えていた時代は、1台のマシンがあると、だいたい何台かのX端末(これは安くて40万くらい)がぶら下がっていました。
今や普通にLinuxハイスペックマシンが10万そこそこで買えてしまうので役にたたないかもしれませんが、PCをX端末化すると。。。
 ●サーバには、メモリとCPUをたくさん積む
 ●クライアントには、いいグラフィックカードを積む
なんていう使い方ができたり、
 ●サーバはCore2Duo
 ●クライアントは、Pentiumのノート。でも捨てられない。
という使い方をすると、あらびっくりノートPCのスペックがあがったような気がする。
(正確には、計算、実行と描画を分けているため、動作は、サーバのCore2Duoなのでもともと速いのだが。。。)

YaSTでSysconfigエディタのDesktopの項目をいくつかYesにして、SuSEconfigをして、再起動すれば
サーバマシンの設定はおしまい。
クライアントマシンからは、
Xnest :1 -query サーバマシン名(Xwindowの中にウィンドウをネストする場合)
X -query サーバマシン名 (runlevel 3からXwindowへ接続する場合。こちらが正統派?)
でつなげればOK。
つながらない場合は、firewalのl設定を以下のようにすべし。
サーバマシン    tcp/udp 177
クライアントマシン  tcp/udp 6000:6063 16000:16063
上記のポートをあけてみましょう。

余談ですが、Xwindow屋さんとお話をするとサーバとクライアントという言葉が独特なのでご注意を。
サーバは、あくまでも画面を描画するプログラムであって、クライアントは、ウィンドウを表示させる
(ちょっと不正確だけど)プログラムになります。よってfirefoxはクライアントになります。

3/23/2008

rootのセキュリティ

rootのパスワードを覚えていますか?私は、覚えていません。

なぜなら、rootのパスワードというものが存在し、入力されることにより、誰かが書き留めたり、誰かが盗み見をしたりして、洩れてしまう可能性があります。(どんなセキュアーな環境でも入力されただけでもれる可能性は、あります。)



というわけで、rootのパスワードをなるべく使わない方法は

1. 自分をwheelグループに追加する

昔のUNIXは、管理者としてwheelグループに追加していましたが、今はあまり聞きませんね、この運用形態は。

sshなどのネットワークアクセス環境でパスワード無しの設定しているときにこれを忘れるとひどい目にあいます。その場合は、rootのコンソールとテスト用のコンソールを必ず2つ開くことを忘れずに!!!!


2. /etc/pam.d/common-authを修正

順番が影響しますので、設定変更前と後を記載します。SUSEでは、/etc/pam.d/common-authですが、debianとか、redhat系のOSでも動作します。その場合は、/etc/pam.d/suを修正します。(多分コメント行に説明が記載されています。)

設定変更前
auth required pam_env.so
auth sufficient pam_thinkfinger.so
auth required pam_unix2.so


設定変更後
auth required pam_env.so
auth sufficient pam_wheel.so trust
auth sufficient pam_thinkfinger.so
auth required pam_unix2.so



ファイルを保存した瞬間に有効になります。(あー、おそろしや)

3. visudoでwheelグループの設定をsudoを追加

%wheel ALL=(ALL) NOPASSWD: ALL


visuduで、これだけで、su - としてもrootのパスワードは聞かれません。セキュアというか便利です。rootのパスワードを入力することもないので、誰かに盗み見されることはありません。ただし、自分のパスワードは、よりいっそう厳しく管理しなければなりません。

SUSEのrepoをコマンドラインで追加

YaSTは便利ですが、インストールソースの追加は、何気に面倒です。

以下のようにするとコマンドラインで追加できます。
/usr/bin/installation_sources -a URL

これでrepoの追加は一発です。
repoの確認は、
/usr/bin/installation_sources -s
です。



SUSE + emacs + egg + mlh + anthy

SUSEで使っている人いないみたいですねぇ。

mlhは使ってみるとめちゃくちゃ便利。なんてったって、emacsがモードレス(漢字入力の切り替え)がまったく不要。TeXやhtmlをべた書きしている人は、とても便利です。大学時代はかなり愛用していました。先輩ありがとー。(作者は、大学の先輩で指導教官の教え子らしい。)

tamagoのインストール
rpm版とかのインストールはしないで、最新版を入手します。
# cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/tamago login
パスワードを入力せずにEnter
# cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/tamago co tamago
最新のtamagoがチェックアウトされます。
# cd tamago/
# ./configure --prefix=/usr
prefixを/usrにしているのは、SUSEのemacsのsite-lispにあわせるためです。
まだ、バイトコンパイルはしません。
http://anthy.sourceforge.jp/cgi-bin/hiki/hiki.cgi?Emacs%A4%AB%A4%E9#l13
に記載されている自家製tamagoなAnthyを参考にして、
http://www.meadowy.org/~shirai/elips/egg-anthy.tar.gz
入手して、展開します。
anthy.elとanthtipc.elをチェックアウトしたtamago付属のものと入れ替えてコンパイルします。
# make
# make install


以下の設定をします。
.gnu-emacs-egg
(set-language-environment "Japanese")
(setq default-input-method 'japanese-egg-anthy)
(setq mlh-default-backend "anthy")
(require 'egg)
(require 'egg-mlh)
(global-set-key " " 'mlh-space-bar-backward-henkan)


次に、.emacsを以下のようにします。
(if (file-readable-p "~/.gnu-emacs")
(load "~/.gnu-emacs-egg" nil t)
(load "~/.gnu-emacs" nil t)

.gnu-emacsが読み込まれる前にロードしないと、anthyと接続ができませんでした。

これで、emacsを起動して、
watashiwa/emacss/wotukaxtuteimasu./ [スペース]
と入力するとあら不思議。

冗談抜きで、卒論の作成効率は、3倍になります。

3/17/2008

eeepcのfirefoxのキャッシュディレクトリを変更する

eeepcの場合、SSDなので、あまりデータをがりがり書いてほしくない
Firefoxのキャッシュなんて代表例。

キャッシュの場所を変更するには、firefox を起動して、
about:config
をURLとして開いて、以下のパラメータを入力
browser.cache.disk.parent_directory = /tmp
として、Firefoxを再起動してください。