文字化けして放置していたウェブサイトに手を入れている。前回の日記の記述から14年ぶり。
PCMCIA のネットワークカードが壊れたので、Buffalo の LPC-PCM-CLX カードを買ってきて差したら OS が認識してくれなくなってあわてた。Google 検索をみて、/etc/pcmcia/config の Ethernet adapter definitions のセクションに
card "Buffalo LPC-PCM-CLX Fast Ethernet Card" version "BUFFALO","LPC-PCM-CLX" bind "axnet_cs"
を追加したら認識してくれるようになった
CATVに接続していた Win パソコンが壊れた。仕方なくキーボードが壊れて修理する方が高いといわれて諦めていたノートパソコンに ps2 キーボードを接続し Linux 3.0 をインストールした。LAN 端子がついていないので PCカード型のものを購入。ネットワークの設定はもう何年もやっていないので憂鬱な気分で、Google 検索したが、PC カード型のインターフェースは自動認識で、ドライバーも自動的に読みこまれた。ネットワーク設定も DHCP しか使えないルータだったので心配だったが、/etc/rc.d/rc.local に /sbin/dhcpcd と記述するだけであっさり自動設定ができた。便利な時代になったものだ。
echo hello > /dev/console で何も表示されなかったので kterm のデバイスファイルは何だろうと調べていたら /dev/pts/ ディレクトリーに自動的に作成されることが分かった。そこで echo hello > /dev/pts/0 としたら無事表示できた。
Vaio からカシオのデジカメ EXILIM にアクセスできた。USB をつないだ後、cat /proc/scsi/scsi でデジカメが /dev/sda1 で認識されているのを確認。su したあと、mkdir /mnt/usbhd でマウントするディレクトリーを作り、 mount -t auto /dev/sda1 /mnt/usbhd としたらあっさり接続できた。
Vaio ノートで CD-R を焼くことができるようになった。Vine Plus から cdrecord の rpm をダウンロードしてきて rpm -i でインストールした。cdrecord は SCSI の CD-ROM にしか対応していないので、/etc/lilo.conf に append="hdc=ide-scsi" を追加して su で /sbin/lilo を実行した後再起動した。これで、Vaio の CD-ROM を SCSI 接続の /dev/sga としてエミュレートできる。再起動後、su で cdrecord -scanbus で hdc が /SCSI ドライブとして認識されているのを確認した。それから mkisofs -R -o image.iso ~/datadirectory で CD-ROM イメージを作った。mkisofs は cdrecord パッケージに含まれている。次にこのイメージファイル image.iso を su で cdrecord -v -dao -eject dev=/dev/sga speed=4 image.iso を実行して CD-R に焼くことができた。
Emacs のバッファーに日付を挿入する方法。M-1 M-! date。
YC の部屋から yc をダウンロードしてきてインストールした。半角英数で入力したローマ字表記を C-j で直接漢字変換できるので半角英数文字と日本語の混在した文のキー入力が楽になった。ダウンロードした yc-4.0.0.tar.gz を tar zxvf で展開した後で cd yc-4.0.0 した。Makefile の prefix を /usr/local から /usr に変更して、make し、su した後 make install した。.emacs.el に次の行を追加して emacs を起動した。
(load "yc") (global-yc-mode 1)
emacs で M-x global-yc-mode
Emacs の info の Dir に Emacs 本体の info ファイルが登録されていないので慌てた。/etc/info-dir を su で編集して次の行を挿入したら、メニューに登録できた。
* Emacs: (emacs). Emacs the screen editor.
ALSA の設定をして Vine 2.5 でもサウンドが利用可能になった。ftp://ftp.jaist.ac.jp/pub/os/linux/Vine/VinePlus/2.5/RPMS/i386 から alsa-driver, alsa-lib, alsa-utils を、ftp://ftp.jaist.ac.jp/pub/os/linux/Vine/VinePlus/2.5/RPMS/noarch から alsaconf の rpm をダウンロードしてインストールした。less /proc/pci でサウンドカードの種類を見つけた。サウンドチップは YMF-724 だった。su で /usr/sbin/alsaconf を実行、ヤマハのサウンドカードを選択した。snd-card-0 のモジュールがみつからないというエラーが出たので、ls /lib/modules/2.4.18-0vl3/kernel/drivers/sound で検索したらヤマハのサウンドチップのモジュールは ymfpci.0 だった。そこで vi /etc/modules.conf で alias snd-card-0 snd-card-ymfpci を alias snd-card-0 ymfpci にしたあとリブートした。それから locate wav | grep wav$ で音声ファイルを検索し、play /usr/lib/mozilla/res/samples/test.wav で音がでるのを確認した。音量の調節は aumix でできた。
「思考方法としての論理」を書き上げたら何だか心に一区切りできたような気になった。このホームページの更新も一応これで終にしようと思う(以前も同じような事を書いているので当てにはならないが)。読み返してみるとどの記事の内容も初歩的で深みがない。しかし、どうしたらコンピュータや論理学を利用しながら自分の思考力を高めることが出来るかと言うテーマに一応の結論を出せたように思える。どの記事もあちこちの本からの切り貼りで独創性がないが、車輪を再発明するよりは有益だろう。ページの構成はワンクリックで必要な情報が得られるように階層をできるだけ二層に止めた。またこのようなページに 35000 を越えるアクセスを戴き感謝だ。しばらく充電して違うテーマで何か書きたくなったらまた挑戦してみたい。
sane の rpm をインストールした。3つのファイルを全て rpm -i し(実際は devel はいらないようなのだが)、/usr/bin/find-scanner で EPSON SCANNER GT-5500 が /dev/sg0 と /dev/sga で認識されているのを確認した。ln -s /dev/sga /dev/scanner でシンボリックリンクを作成した後、xscanimage と入力したら、"No scanner" のエラーメッセジが出た。xscanimage epson:/dev/scanner では動くのに、xscanimage では動いてくれない。色々調べて、/etc/sane.d/dll.conf の epson のコメントを外したら、あっさり起動した。gimp からもスキャナーを使えた。万歳!!
apache の設定をした。/etc/httpd/conf/httpd.conf の user directory の処に
<Directory /home/userid/public_html> Options All </Directory>
を追加し、/home/userid のパーミッションを 711 に、/home/userid/public_html のパーミッションを 755 にした。どうせスタンドアローンなので Options は All にした。/sbin/chkconfig --add httpd で起動時に httpd が立ち上がるようにした。
ついでに postgresql もインストールした。rpm -i postgresql-* でインストール。su で passwd postgres として postgres アカウントにパスワードを設定して su postgres し、/var/lib/pgsql/data/pg_hba.conf の host all127.0.0.1 255.255.255.255 trust のコメントを外した。それから、/etc/rc.d/init.d/postgresql start した。initdb は自動的に行われた。su postrges して createdb した。次に psql を起動して create user userid createdb した。\q と exit で userid に戻って createdb mydb したあと psql mydb したらデータベースにアクセスできた。しばらくシステムをいじっていなかったので思いだすのがたいへんだった。疲れたので CGI の設定は明日にしよう。
emacs が自動 wrap するので HTML の表示がところどころスペースが入って虫食い状態になってしまう。.emacs.el の「一行が80文字以上になったら自動的に改行する」のカ所をコメントアウトしたら調子がよくなった。設定が簡単にかえられるのが Linux のいいところだ。
html ファイルを PostScript ファイルにする perl スクリプト html2ps をダウンロードしてきた。tar ファイルを展開して html2ps-1.0b3 ディレクトリーに移動し su した後 ./install でインストールした。html2psrc ファイルを ~/.html2ps ファイルにコピーした後、マニュアルの html2ps.ps の internationalization のところを参考に次のように変更した。
/* Global configuration file for html2ps */ BODY { font-family: eucjp } @html2ps { package { ImageMagick: 1; PerlMagick: 1; djpeg: 1; TeX: 1; dvips: 1; Ghostscript: 1; geturl: "lynx -source -mime_header"; path: "/usr/X11R6/bin:/usr/bin"; } paper { type: A4; } hyphenation { en { file: "/usr/local/lib/html2ps/hyphen.tex"; } } option { encoding: "EUC-JP"; } font { eucjp { names: "Ryumin-Light-EUC-H"; } } }
日本語の HTML 文書を作成してためしてみた。動いた。が、最後にエラーメッセージが出てしまう。前途多難。
Emacs の yahtml が手に馴染まないので .emacs.el の yahtml 関連のところを ;; でコメントアウトした。便利そうなのだがおぼえるのが辛い。
Vine Linux 2.5 の ghostscript を gs として立ち上げるとフォントが見付からないために長々とエラーメッセージが流れる。/usr/share/ghostscript/5.50/vflib/kcomp.ps の最後の行の (-Ext-RKSJ-V) と (-Ext-RKSJ-V) を % でコメントアウトしたらおとなしくなった。
ついでに gs を単独で立ち上げて次のように入力したら日本語が表示できた。面白い。
GS>/Ryumin-Light-EUC-H findfont 48 scalefont setfont GS>20 40 moveto GS>(おはよう) show
VFlib と Ghostscript の関係が分からずかなり悩んだ。/etc/vfontcap が Vflib がフォントの場所をみつけて、特定の名前に( min や goth など )に割り当てるためのファイルらしい。/usr/share/ghostscript/5.50/vflib/kconfig.ps は Vflib の min や goth を GhostScript の Ryumin-Light-EUC-H や GothicBBB-Medimum-EUC-H などのフォント名に関係づけるためのファイルのようだ。だから、/usr/share/fonts/alias/TrueType/mincho-mr-jisx0208.1983-0.ttf -> alias-mincho -> min -> Lyumin-Light-EUC-H のように関連づけられる。ふぅ。また mincho-mr-jisx0208.1983-0.ttf はフォント本体ではなくて、TrueType フォントを Vflib が利用するためのインデックスらしい。頭が混乱してきた。
Vflib の min を Ghostscript の Ryumin-Light-EUC-H に関連づけるのに kconfig.ps には /Ryumin-Light 4300000 (min) VFlibkanji としか設定していない。どうも Ryumin-Light-EUC-H などは /usr/share/ghostscript/5.50/vflib/ にあるファイル群で作りだしているようだ。これらのファイル群は PostScript ファイルだ。PostScript は文書ではなくてプログラムだったのだ! Ghost script で TrueType フォントを使うときは直接フォントにアクセスせず Vflib に問い合わせるようだ。あとは Vflib が適当にフォントを処理して Ghostscript に渡してくれる。らくちん。
flash と acroreader の plug-in を Mozilla に設定した。flash はflash_linux.tar.gz をダウンロードして展開し、/usr/lib/mozilla/plugins/にlibflashplayer.so をコピーした。acrobatreaderは jpnfont.tar.gz とlinux-506.tar.gz をダウンロードして来て /usr/src/redhat/SOURCES にコピーして、Acrobat-reader-5.06-0v12.nosrc.rpm をダウンロードして rpm -ivh でインストールし、rpm -bb/usr/src/redhat/SPECS/acrobat.spec でRPMパッケージを作成し、rpm-ivh /usr/src/redhat/RPMS/i386/Acrobat-reader-5.06-0v12.i386.rpm でインストールした。
Vine Linux 2.5 で EPSON PM-670 が動かない。「Vine Linux EPSON 印刷できない」で google 検索をかけたがハッキリしない。gs が PM-670 にはどのドライバーを使うのかも分からない。一日かけて gs -sDEVICE=jm6000c-sOutputFile=/dev/lp0 tiger.ps を印刷させることができた。しかし、printtool のテストで lp にデータを渡してもうんともすんとも言わない。reboot したら、start-up の表示で lp が/dev/lp0 にパーミッションが無いと表示していたので chmod 777 /dev/lp0 としたら印刷するようになった。そこで改めて google で Vine Linux /dev/lp0パーミッション で検索したら /dev/lp0 の group を lp に変えるだけで良かったそうだ。
w3m のキーマップを変更した。p (previous) キーで以前のページに、t キーで画像の表示非表示が切り替えられるようにした。~/.w3m/keymap の内容は次の通り。Vine 2.5 にするときにデータが無くなってしまったのではからずもこの日記が役に立ってしまった。
keymap p BACK keymap M EXTERN # copy this file as ~/.w3m/keymap keymap X DISPLAY_IMAGE keymap C-c STOP_IMAGE keymap t SET_OPTION display_image=toggle
Vine 2.5 を快適に使っていたら backslash が Yen 記号になっているのに気がついた。Yen 記号はゲジゲジみたいで嫌いなので変えたいと思ったがどうすれば良いのか分からなかった。ネットで調べたら。/etc/X11/XF86Config-4 の FontPath で"unix/:7100" を一番前にもってくると良いと書いてあった。試したらうまくいった。
OS を Vine 2.5 に変えた。NIC カードを認識しなくなってあわてた。 /etc/modules.conf に 次の二行を追加したら認識してくれた。OS を変えただけで新品のマシンを買ったような気分になった。Linux の進歩は速い。
alias eth0 3c509
options ne io=0x300 irq=10
上の設定ファイルが動くかどうか見るために netconfig で IP アドレスの設定を行い、modprobe 3c509 でモジュールを組込み、netcfg で NIC カードを稼動させてみた。そのあと .bash_profile に PATH=$PATH:/home/username/bin を追加し、.emacs.el に (load-library "term/keyswap.el) を追加し、~/bin ~/ruby ~/tar ディレクトリーを作成し、wget -r http://www.mnet.ne.jp/~tnomura でホームページの内容を回収し、cd www.mnet.ne.jp/%7Etnomura/ したあと cp *.rb ~/ruby で Ruby のプログラムを回収し、cp *.tar.gz ~/tar で tar file を回収した。なんでこんなことを長々とかいているかと言うと OS のアップデートのときに操作ミスでデータが全て消えてしまったのだ。残ったのはホームページにアップしていたデータだけになってしまった。ああああああああああああ。
それでも畳と OS は新しい方がいい。Linux も段々プロでない人間にも使えるレベルになってきたようだ。あとは、各社がプレインストールマシンを販売するのを待つだけとなった。
.emacs の最後の行に次の2行を追加して、canna-toggle-japanese-mode を C-o から C-\ に変えてみたら emacs と kinput2 が batting しなくなった。
(global-unset-key "\C-o")
(global-set-key "\C-\\" 'canna-toggle-japanese-mode)
Emacs で C-o で kinput2 が立ち上がって入力できなくなる問題は /etc/skel/.canna を ~/.canna にコピーしたら完全に解決した。.canna の最終行の (global-unbind-key-function 'japanese-mode) が効いているようだ。
kinput2 と Emacs が競合しなくなったので .bash_profile に exprot EDITOR='emacs -nw' を追加して less から呼び出すエディターを Emacs にかえた。
Vine 1.1 の inittab ではランレベル 3 のときは、/etc/rc.d/rc.sysinit, /etc/rc.d/rc 3, /sbin/update, /sbin/mingetty tty1, .. , /sbin/mingetty tty6 の順に起動されるようだ。
最近 Linux の起動スクリプトが気になって来た。man init をみると、/etc/itittab の内容にしたがってプロセスを起動していること。ランレベルは 0-6, S, s があること /sbin/telinit
長いこと OS をアップデートしていないので cat /proc/verion してみた。Linux version 2.0.36。cat /etc/vine-release では、Vine Linux 1.1。絶句。しかし、入れ換えはデータのバックアップが面倒だ。Celeron の 300 MHz だし、新しいのが欲しい。
Windowsで見るように想定してある CDROM の HTML 文書を Linux で見ようとすると、リンク先の文書が表示できなかった。どうやら、Windows では 大文字と小文字を区別しないためにリンクの表記とファイル名とが異なってしまうためのようだ。su して、CDROM を一旦 umount したあと、mount /dev/cdrom /mnt/cdrom -t iso9660 -r -o check=r として再マウントしたら読めるようになった。
去年の9月4日から始まったホームページ作りも一応今日で終り。grep の結果を lynx で表示させたらうまくいったのが嬉しくてホームページを作りはじめてから1年。w3m と出会い、Perl の オブジェクト指向プログラムをかじり、PostgreSQL がなんとなく分かりだしたところでこのホームページはおしまい。ここに書いてある知識は私の Linux についての知識の全てだ。ということはやはり、初心者のままであるということだ。導師や魔術士には死ぬまでなれないだろう。それでも私はパソコンが好きだ。パソコンの自由さ、想像力を形にしてくれるこの小さい箱をこれからも楽しんで行きたいと思う。
make と gmake はどう違うのだろうと疑問に思った。
$ which gmake
/usr/bin/gmake
$ file /usr/bin/gmake
/usr/bin/gmake: symbolic link to make
Linux では gmake は単に make へのシンボリックリンクだった。
Perl の manpage を印刷しようとして man perlsub | lpr とやったら文書が終ってしまっているのに、大量に何も書いてないページが印刷される。man man で man のマニュアルを読んだら -t コマンドラインオプションをつけるとポストスクリプト形式のファイルが標準出力に出せるように書いてあった。そこで、man -t perlsub > perlsub.ps として、gv perlsub.ps としたら gv でマニュアルページが読めた。もちろん、印刷も OK。man の -t オプションについて解説した記事はあまりないような気がする。
はじめて Red Hat 系の Linux を使ったとき su で shutdown -h now としても、コマンドが見つかりませんというメッセージがでて慌てた記憶がある。雑誌を見ていたら、su - と su の後に - をつけると、root のコマンドサーチパスを使えるので、/sbin/shutdown -h now としなくても、shutdown -h now でシャットダウンできるそうだ。
Cntrl-h の件が解決。~/.emacs.el に (load-library "term/keyswap.el") を追加したら OK だった。Emacs lisp が読めないので良くは分からないが、.emacs から Emacs なら .emacs.el へ、XEmacsなら .xemacs.el へ跳ぶ仕掛けのようだ。何で XEmacs の初期設定ファイルが .emacs なのだろう、.xemacs なら何の問題もないと思うのだが。ウィンドウマネジャーは結局 Window Maker になったが、ターミナルから freecell ができるので満足。
Vine Linux 2.0 をインストールした。最初サーバーをインストールしたら fvwm でおまけに netscape の日本語表示が化けていた。gnome デスクトップで再インストールしたら、gnome で ヘルプビューアーが落ちた。gnome は Kondara の勝ち。Emacs は快適に動く。XEmacs と Emacs の初期設定ファイルが自動的に切り替わる工夫がしてあった。ただし C-h でヘルプモードになって一字消去ができなくなっている。これからの課題(カスタマイズの)。Emacs の日本語変換は今度は -nw オプションをつけても全く問題ない。不思議に思ってコマンドラインで kinput2 を起動してみたら、C-o では立ち上がらないようになっていた。kinput2 での変換は shift-space のみになっていた。簡単で確実な対策。Vineも Kondara と同じようにウィンドウマネージャーが簡単に変更できるようになっていてうれしい。理由は分からないが X を立ち上げるとき .Xmodmap がうまく働かない。立ち上げてしまってからコンソールから xmodmap .xmodmap (.Xmodmapでは変な風にキーのカスタマイズが変わるので、.xmodmapに変えた)とすると、きちんと動作する。ちょっと不満。
Kondara 1.1 で Emacs で日本語が扱えないので愕然とした。emacs lisp に関する知識は皆無なのでどうしよう。wlocate で .emacs を検索してもそれらしいものがない。散々苦労して info emacs などをさまよったり、Vine の .emacs をあたったりしたがうまくいかない。動くものと勝手に決めていたものが動かないと不安になる。分からないまま、次の4行からなる ~/.emacs を作成し、例のように ~.Xdefaults に Emacs*xnlLanguage: en を追加したら、とりあえず日本語が使えるようになった。
(canna) (perfer-coding-system 'euc-jp-unix) (set-buffer-file-coding-system 'euc-jp-unix) (load-library "term/keyswap")
しかし、スクリーンセーバーが動いた後は再び kinput2 が立ち上がって日本語入力ができなくなった。また、emacs & とバックグラウンドで起動しても同じ現象が起きる。原因は見当がつかない。また当然だが、xemacs を起動すると初期設定のエラーが表示される。おとなしくjed を使ったほうがよいのだろうか。jed は軽快だが、カラーリングがもうひとつしっくりしない。
ノートブックタイプの Vaio に Kondra NMU/Linux 1.1 をインストールした。邪魔なシフトロックキーを左のコントロールキーと入れ換えた。また、上矢印キーがシフトキーの横にあって非常に邪魔だったので、右矢印->右コントロールキー、上矢印->右コントロールキーと移動して、元の上矢印キーを追加のシフトキーにした。随分使いやすくなった。パソコン店をぶらついていたら、最近のノートパソコンでは、矢印キーを少し離して、シフトキーはしっかり大きなものをつけてあった。ローマ字入力しか使わないので、JISキーボードはいらない。ASCIIキーボードを載せたノートパソコンが欲しい。
細工の方法は次のような内容の ~/.Xmodmap を作成して、X window system を再起動した。
remove lock = Caps_Lock remove control = Control_L keysym Control_L = Caps_Lock keysym Caps_Lock = Control_L add lock = Caps_Lock add control = Control_L remove control = Control_R keysym Left = Up keysym Up = Control_R keysym Control_R = Left add shift = Control_R
今まで、Vine Linux 1.1 で emacs を emacs -nw で立ち上げると Ctrl-o で kinput2 がたちあがってしまっていて日本語の入力ができなかった。柴田(ひ)さんのホームページ http://his.luky.org のLinux関連ドキュメント検索で検索したら、次の一行を ~/.Xdefaults に追加すると良いことが分かった。
Emacs*xnlLanguage: en
または、
Emacs*xnlLanguage: C
上のほうを試してみたら、ばっちり。さっそく、w3m と memo のエディターを emacs -nw に書き換えた。