HOME > VineLinux 2.1.5 | Time-stamp: Nov 25 2001 |
Windows98SE を再インストールしたら、MBR (master boot record)の LILO が消された。PlamoLinux2.0を起動できなくなった。 ついでなので、ほかのディストリビューションを入れることにした。 LinuxMagazine for Beginners (ASCII)というムックを買った。2001/6月上旬。それについてた VineLinux2.1.5を入れる。
ハードウェアは
CPU | Celeron 433MHz |
memory | 128MB |
HDD | 13GB のうち 2GBを割りあてる |
gfx | i810-DC100 (4MB) |
audio | AC97 codec(i810 internal) |
modem | アナログ56K 外付け(シリアルポート) |
インストールは雑誌に書いてあるとおりした。CDをセットする。FDを2枚用意して、1枚めに、Windows から bootimageを書き込む。そのまま再起動して、Vineのインストール開始。きれいな画面だ。
インストールtypeは「カスタム」。 すでに Linuxのためのパーティション分けはしてあったので、ext2の領域を / に割りあてただけ。LinuxSwap領域は自動的に認識した。 LILOをインストールするとこで、dos すなわちWindowsを「デフォルトの起動イメージ」にした。
ネットワークの設定はあとですることにして飛ばした。設定項目の意味が分からないっていうのもあったけど。パッケージgroupの選択は、TeX関係以外すべてを選択した。
モニタは EIZO T550 と自動認識した。うーん、かしこい。しかし、Xの設定は、i810と認識したのはいいけど、VRAMを 1MBしか認めてくれない。1152x864x8bit を選んだ。実際には VRAMは 4MBあるし、1280x1024x24bitカラーもWindowsではできるんだけどなぁ。 そもそも 24bitカラーは選択肢にでてこなくて、32bitカラーしか無いみたい。
インストール終わり。再起動して、「起動OSの選択」画面になったら随分きれいな選択画面がでてきた。
画面は256色だから写真を表示するのはキツイある。でも何にも設定しないでてるのはいい。動作もWindowsより多少早い。音もでてることを xmms を動かしてみて確認した。Plamoでは音は設定はうまくできなかったのに。フォントもきれいだ。Netscapeで日本語書き込みも問題ない。
keycode 49 = Escape keycode 9 = grave asciitilde remove Lock = Caps_Lock remove Control = Control_L keysym Caps_Lock = Control_L add Control = Control_Lとすればいい。OS再起動するたびに自動で置き換えされる。 手動で実行するなら、
$ xmodmap .Xmodmapとすればいい。
$ xset b offで消せるけど、どこにこれを書けばいいかなぁ。
$ xsetroot -solid gray10とする。 色の名前は /etc/X11/XF86Config に書いてある
RgbPath "/usr/X11R6/lib/X11/rgb"のファイルを読めばいい。だけど、毎回設定するにはどこに書けばいいのかな。
どうやら、/etc/X11/xinitrc が Xを起動するときの startupファイルらしい。そこを見るかぎり、$HOME/.Xclients に 起動したい WindowManagerとかそのほかの Xアプリとか Xの設定を書いちゃえばいいらしい。 /etc/X11/xinit/Xclients を参考に書いてみた。
#!/bin/sh xset b off xsetroot -solid gray10 wmclock -noblink -exe /usr/X11R6/bin/kterm -position -67+16 & ${BROWSER} & emacs & kterm -geometry -50+50 & sawfish
$ dmesg | lessしたときの内容
... agpgart: Detected an Intel i810 DC100 Chipset. agpgart: detected 4MB dedicated video ram. ...からも、このグラフィックチップは VRAM が 4MBあると分かる。/etc/X11/XF86Config を書き換えると24bitカラーで動いた。 書き換え場所は、下からいうと、
# The accel server Section "Screen" Driver "accel" Device "Intel 810" Monitor "enc1600" # DefaultColorDepth 8 Subsection "Display" Depth 24 Modes "1152x864" ViewPort 0 0 EndSubsection EndSectionこの DefaultColorDepth 8 をコメントにする。 Depth は 8と書いてあったけど、24 にする。 その上の
# The svga server Section "Screen" Driver "svga" Device "Intel 810" Monitor "enc1600" # DefaultColorDepth 8 Subsection "Display" Depth 24 Modes "1152x864" ViewPort 0 0 EndSubsection EndSectionも同様に。上にある
Section "Device" Identifier "Intel 810" # VideoRam 1024 EndSectionをコメント化。これでいい。
あと、/etc/lilo.conf も書き換えてみたけど意味はあったのかな?
append="apm=on mem=126M"この「 mem=126M」を追加した。
# mkdir -m744 /dos一時的に読み書きするには、
# mount -t vfat /dev/hda5 /dosとすれば Windowsの Dドライブを /dos にマウントできる。毎回マウントするには、 /etc/fstab に
/dev/hda5 /dos vfat auto,rw,devuid=i 0 0と書く。後述の Emacsで引く辞書のため、Cドライブもマウントするようにした。
/dev/hda1 /usr/dict/dos vfat auto,ro 0 0
あと、$HOME/.Xdefaults にも設定を書いてある。M-x info - Emacs - International - Defining Fontsets などを参考にした。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! emacs, xemacs Emacs.Fontset-0:-b&h-lucidatypewriter-medium-r-normal-*-12-*-*-*-*-*-fontset-b&h12 Emacs.Fontset-1:-adobe-courier-medium-r-normal-*-14-*-*-*-*-*-fontset-courier17 !Emacs.Font:-adobe-courier-medium-r-normal-*-14-*-*-*-*-*-*-* Emacs.Font:-b&h-lucidatypewriter-medium-r-normal-*-12-*-*-*-*-*-*-* emacs*bitmapIcon: on emacs.geometry: 80x54 Emacs*lineSpace: 2Elispパッケージは、lookup-1.3, eb-2.3.8, eblook-1.3, apel-10.3, skk-10.62a, compface-1.4, bitmap-mule-8.4 の順で入れた。eblook はコンパイルしてもなぜか「libeb.so.1 が無いよ」とかいうので、Makefile の CFLAGS = -g -O2 を CFLAGS = -O2 -staticと スタティックリンクにしたらOK。
これで、辞書も引けるようになったし、日本語入力も可能になった。 辞書の外字は、bitmap-muleで表示しているけど、telnet越しとかコンソールとかの tty環境 (非X環境) で使う場合は、appendixを使って表示するほうがいい (メールにコピーペーストすろときも便利)。
$ xwd -frame -out scrshot.imgとしてから アプリのウィンドウをマウスでクリックして撮る (ImageMagickに含まれる importコマンドでも同じことができる)。
$ convert scrshot.img scrshot.pngとやって PNGファイルに変換。
# ln -sf /dev/ttyS0 /dev/modemとする(LinuxMagazine for beginners は 大文字小文字がまちがってる)。 tkppxp を起動して、[Oparation] - [QuickDialup] で設定する。
$ su - # ppxp isp PPxP version 0.99120923 interface: tap0 ppxp> term at&p2 OK atm0 OK atdp1234567 CONNECT 48000/LAPM/V.42bis Login: itouh@fa2 Password: ________これで接続できる。ただし毎回IDとpassword入力するのもめんどいので、自動化の方法も調べたほうがいい。
01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.dailyの先頭に # を置いてコメント化する。
$ dmesg | lessとして、ネットワークデバイスを調べる。
... eth0: OEM i82557/i82558 10/100 Ethernet, 00:50:70:01:27:5E, IRQ 5. Board assembly 664088-003, Physical connectors present: RJ45 Primary interface chip i82555 PHY #1. ...eth0 がLANカードに割りあてられていた。 rootになって、
# ifconfig -aで現在の eth0 のIPアドレスが分かる。 新しく IPアドレスを設定するには、
# ifconfig eth0 192.168.0.2 netmask 255.255.255.0 upほかのマシンとの経路情報は、
$ /sbin/routeでわかる。設定は、
# route add -net 192.168.0.0 netmask 255.255.255.0 eth0とする。この設定で、192.168.0.* というホストあてのデータは eth0に送る、というようになった。 これでつながったので、pingコマンドでチェック。
$ ping -c2 192.168.0.3 PING 192.168.0.3 (192.168.0.3) 送信元 192.168.0.2 : 56(84) bytes of data. 64 バイト応答 送信元 192.168.0.3: icmp_seq=0 ttl=255 時間=642 マイクロ秒 64 バイト応答 送信元 192.168.0.3: icmp_seq=1 ttl=255 時間=575 マイクロ秒 --- 192.168.0.3 ping 統計 --- 送信パケット数 2, 受信パケット数 2, パケット損失 0% Round-Trip 最小/平均/最大/mdev = 0.575/0.608/0.642/0.041ミリ秒となり、別のマシン 192.168.0.3 とは接続されていることが分かる。ちなみに 接続されてないアドレスだと、
$ ping -c2 192.168.0.4 PING 192.168.0.4 (192.168.0.4) 送信元 192.168.0.2 : 56(84) bytes of data. 送信元 192.168.0.2: 目的のホストへ届きません 送信元 192.168.0.2: 目的のホストへ届きません --- 192.168.0.4 ping 統計 --- 送信パケット数 2, 受信パケット数 0, +2 エラー, パケット損失 100%となる。
起動するたびに自動で設定するには、RedHat系だと /etc/sysconfig/network-scripts/ifcfg-eth0 に書けばいいらしい。
DEVICE=eth0 IPADDR=192.168.0.2 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none最初は BOOTPROTO=static となっていたけど、DHCPを使用しない場合は none にするらしい。
# proftpd別のマシンで
$ ftp 192.168.0.2とすればいい。そのとき、ログインするユーザIDとパスワードは、サーバの起動してるマシンのユーザのものであればいい。ちなみに、/home/ftp ディレクトリは最初から作られてた。
アクセス制御は、TCP_Wrappers (/etc/inetd.conf で設定) でもできるが、standaloneモードのときは、独自の設定ファイル /etc/proftpd.conf で行なう。 proftpd の終了は
# ps aux | grep proftpd # kill プロセスIDでいいと思う。
# httpd -v Server version: Apache/1.3.19 (Unix) (Vine/Linux) Server built: Mar 12 2001 01:13:06となっている。/etc/httpd/conf/httpd.conf で設定する。
xmms は音はいい。[設定 - 出力プラグイン] を eSound Output Plugin にすると、曲最初のnoiseも無い。ただし、MP3ファイルによってはときどきおちる。Winampのほうが安定してるなぁ。あと、「ID3タグ削除」と「キャンセル」の位置が Winampと逆になってるので、操作に慎重になって疲れる。
USB接続のタブレットが使えるのには驚いた。しかし、描写領域がずれてて設定もできないし、GIMPで試したところ筆圧変化もきいてない様子。
Alt + F2, F3 などで、X Windowにいても、consoleのログイン画面にできる。 Alt + F7 でコンソールから X Window に戻る。
su ユーザ名 でほかのユーザとしてログインできる。
ほかのユーザとファイルをコピーしあえるようにするには、home/myDirのパーミッションを chmod 755 とすればいい。
rwxr-xr-x
# rpm -ivh j2sdk-1_3_1-linux-i386.rpm
そして、~/.bashrc にこう書いた。
PATH=$PATH:/usr/java/jdk1.3.1/jre/bin:/usr/java/jdk1.3.1/bin JAVA_FONTS=/usr/java/jdk1.3.1/jre/lib/fonts:/usr/X11R6/lib/X11/fonts/TrueType/ export PATH JAVA_FONTSこれで一応 javaは実行できる。
JavaのSwingアプリを動かしたとき、
Font specified in font.properties not found [-wadalab-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0] Font specified in font.properties not found [-wadalab-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0]というエラーがたくさんでる。上で環境変数の JAVA_FONTS に設定しているとおり、 /usr/X11R6/lib/X11/fonts/TrueType/ には wadalab-[gothic|mincho] フォントがあるのだが、そのディレクトリの fonts.dir を見ると、jisx0201.1976-0フォントではなく iso8859-1 と設定されているので、上記のエラーがでるようだ。 解決策は、
cd /usr/java/jdk1.3.1/jre/lib cp -p font.properties.ja font.properties.ja_org su chmod 644 font.properties.ja vi font.properties.ja :.,$s/jisx0201\.1976-0/iso8859-1/g :wqとする。 これでエラーがでなくなった。(JIS X 0201 を ISO8859-1 と変更すると半角カナは表示できなくなる)
cvsの使いかた ●cvs -v すると、VineLinux2.1.5ではバージョン1.10.8だった。 ●まず、cvsのrepository(リポジトリ)すなわちデータを格納するディレクトリを作成する。場所は、環境変数 CVSROOT で設定する。bashでは、こうする。 $ CVSROOT=$HOME/cvsrepos; export CVSROOT $ cvs init これで $HOME/cvsrepos が作成されてその中にファイルが作られる。 こーんな感じ。 $ ls -FR ../cvsrepos/ ../cvsrepos/: CVSROOT/ ../cvsrepos/CVSROOT: Emptydir/ commitinfo,v cvswrappers,v loginfo notify taginfo checkoutlist config editinfo loginfo,v notify,v taginfo,v checkoutlist,v config,v editinfo,v modules rcsinfo verifymsg commitinfo cvswrappers history modules,v rcsinfo,v verifymsg,v ../cvsrepos/CVSROOT/Emptydir: ちなみに、repositoryのディレクトリは、-d 絶対ディレクトリ として指定もできる。 ●次に、開発中のモジュール(複数のソースファイルがまとまったもの)を cvsに登録する。 モジュールはカレントディレクトリに全部置いておく。 (サブディレクトリにあるファイルも全部登録されるんで、必要ないファイルは外に出しておく) $ cvs import -m "shooting stars game" shootstar itouh start とすると、 N shootstar/main.c N shootstar/Makefile N shootstar/README N shootstar/draw.c ... No conflicts created by this import と表示された。 ここで、-m "..." は今回登録した内容の説明。日本語でもいいらしいけど。Log Messageという。 その次がmoduleの置いてあるディレクトリ。その次は作った人/会社。その次は releaseTag。最初は startでいいらしい。 ●次に、ソースにさっそく手を加えたいんで、ソースを取り出します。 $ cvs checkout shootstar とすると、 shootstarプロジェクトに関連するソース全部が取り出される。 shootstarという名のディレクトリが無ければ作られ、そこにファイルが現れる。 cvs checkout: Updating shootstar U shootstar/Makefile U shootstar/README U shootstar/draw.c ... ●それでは早速改良にとりかかります。 テキストエディタでどりゃー。 ●ソースの修正・改良を、記録します。 改良したソースのあるディレクトリで $ cvs commit -m "change messages" *.[ch] とすると、 /home/i/cvsrepos/shootstar/main.c,v <-- main.c new revision: 1.2; previous revision: 1.1 done とか表示されます。修正してないファイルはcommitしません。かしこいな。 -m "..." のとこには、修正した内容を記述しておく。 ●ソースのあるとこで、 $ cvs status とすると、各ファイルの情報が見れる ●新ファイルを追加するのなら、まず コメントとか無しで $ cvs add 新ファイル名 cvs add: scheduling file `makewin' for addition cvs add: use 'cvs commit' to add this file permanently としたあとで、コメント(Log Messages)つけて $ cvs commit -m "fix for mingw32" makewin とする。 RCS file: /home/i/cvsrepos/shootstar/makewin,v done Checking in makewin; /home/i/cvsrepos/shootstar/makewin,v <-- makewin initial revision: 1.1 done ●他人も同じCVS使って同じソースを修正してるときは、 $ cvs update すると、自分のディレクトリにあるソースが、CVSに登録された最新のファイルへと代わる。行頭に C とついてるのは Conflict なので問題になるらしい。 ●tagってなんだろう? $ cvs tag なんとか