Slackware 14.0 (2)

秋である。すっかり秋である。

それを証拠に桃とか枝豆がフェードアウトしようとしてる(まだ頑張っているけど)。そして、きのこである。 毒きのこと食べられるきのこ見分け方とかの啓蒙がなされている。やばいきのこが展示されて、 きのこ鑑定士が解説してくれたりしてる。

山へきのこを取りに行こう。いちがばちかのかけだな。何ってたって、熊さんに遭遇する 危険性があり、それをクリアできても、毒きのこに当たる可能性があるぞ。

ことしは山の木の実が不作なため、熊さんが里の方まで下りてきてるようだ。 (長野駅で熊を見かけたと大騒ぎしてたし。そして領域侵犯で射殺された。合掌)そこらで熊を 見かけたので注意しましょう、なんてのが防災無線からよく流れてくるよ。熊よけの秘訣は ここに人間様がいるよと断固たる主張するのが好いらしい。熊避けの鈴を付けるかラジオを 鳴らすか。出会いがしらが危ないのだ。

で、幸い熊にも会わずにきのこを収穫出来たとしよう。すぐに食べてしまうのは危険極まり ない。なんたってロシアンルーレットだからだ。天日干ししよう。そうすれば毒が抜ける、 と、古老から聞いた事がある。

大体、植物が毒を持つのは、動物に食べられないようにする為の自己防衛。動物ってすぐに その場で食べちゃうでしょ。賢い人間は天日干しして毒を弱体化するのさ。これ理にかなって るね。

信用できない人は、工業製品である、えのきだけ でも買ってきて、天日干ししてから 食べよう。数日前のTVで紹介してたみたいで、品薄になってたな。

実際、干からびるまでやるのは大変なんで、2時間ぐらい干した後、塩を一振りしてから、電子レンジか フライパンで水分を飛ばす方が簡単。旨みが出て、よい感じになります。味と感触は、裂きイカ そっくりになります。

ついでに書いておくと、お土産で頂いたきのこ製品『梅なめたけ』は絶品だった。千曲市の 飯島食品と言う所で作っているらしい。

SlackwareでもGauche

前回、Slackware Linux 14.0をソース付きで入れたんだけど、残念ながらSchemeは見あたらな かった。ならば、野良ビルドするか。今回は、configureする時、--prefix=/usr を指定 して、Slackに馴染ませておいた。こうすると、gauche-refj.infoの位置がぴったりと 環境に調和してくれるんで、楽出来る。(dirの登録もinstall時に自動でやってくれると、更に 楽出来るんだが、、、)

何か面白い物は無いかとうろうろしてたら、 Gauche開発支援環境なんてのを たまたま見つけた。vim派とemacs派がいがみ合わないように、公平に開発されているようだ。 世界平和に貢献したと言う事で、平和賞の候補にならんかね。もし、取れたらストックホルムへ 行けるね。

sakae@slck:~$ guile -v
Guile 1.8.8

Gaucheを入れた後で気が付いたんだけど、GNU陣営のschemeが入っていた。RMSのshellをSchemeで って野望は、潰えたのでしょうか?

X Windowの事

Slack on VMwareで、install直後にXを起動すると、貧弱なサイズのWindowが開かれる。その貧弱度は 、まだ見ぬ iPad mini ぐらいだろうか。事の真相は10月17日と噂される発表日までお預けだけど。 まあ、画面サイズ、640x480ぐらいなんです。

これじゃ、折角の大画面PCが泣いてしまうので大きくする。前回の案内通りにvesaをvideo-doriverに したxorg.confを作り、試しに起動。1024x768だよ。まだまだ大きくなるな。

    Subsection "Display"
        Depth       24
        Modes "1280x768" "1024x768" "800x600" "640x480"
    EndSubsection

うん、これで広くなった。

Window managerは、リナスお勧めのxfce4を使ってるんだけど、右クリックで出て来るメニューの 並びが気にいらん。メニューを編集しようと思ったら、xfce4-menueditorを使うらしいんだけど、 生憎入っていないみたい。ならば、menu.xmlを探し出して、直接編集しちゃおうと思って あちこち探し回ってみたけど、見つからん。 もう、決めうちしてアプリの奥の方にでも入れ込んであるんですかね? これだからGUIは無駄に エネルギーを使っちゃうんだよな。

何とかconfig

Slackのインストール時、先を焦って、どんなウィンドウ マネージャが居るか確認してなかった。 そんな訳で、どんなのが居るか調べて、いろいろ交代させてみる。

sakae@slck:~$ xwmconfig
  lqqqqqqqqqqqqqqqqqSELECT DEFAULT WINDOW MANAGER FOR Xqqqqqqqqqqqqqqqqqqqqk
  x Please select the default window manager to use with the X Window      x
  x System.  This will define the style of graphical user interface the    x
  x computer uses.  KDE provides the most features, and people with        x
  x Windows or MacOS experience will find it easy to use.  Other window    x
  x managers are easier on system resources, or provide other unique       x
  x features.                                                              x
  x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
  x x    xinitrc.kde       KDE: K Desktop Environment                    x x
  x x    xinitrc.xfce      The Cholesterol Free Desktop Environment      x x
  x x    xinitrc.fluxbox   The fluxbox window manager                    x x
  x x    xinitrc.blackbox  The blackbox window manager                   x x
  x x    xinitrc.wmaker    WindowMaker                                   x x
  x x    xinitrc.fvwm2     F(?) Virtual Window Manager (version 2.xx)    x x
  x x    xinitrc.twm       Tab Window Manager (very basic)               x x
  x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x
  tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
  x                     <  OK  >           <Cancel>                        x
  mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

テキスト画面をコピペしたんで、ボーダーがあらぬ文字で表示されてるけど、許してね。 で、KDEの対抗馬グノムが居ないって事は、平和なんですかね? それともSlackな人が グノムに愛想を尽かして、リリースを放棄したんですかね? 野次馬ながら、心境を 聞いてみたいぞ。それにしても、xfceの所に書いてある、コレストロール無しってのは、 強烈な皮肉だな。勿論皮肉の矛先はKDEに向けられているのは、言うまでもありません。

続いて、liloなんて言う懐かしいブーターの待ち時間を変更するか。

sakae@slck:~$ liloconfig
bash: liloconfig: command not found
sakae@slck:~$ locate liloconfig
/sbin/liloconfig
/var/log/setup/setup.liloconfig
sakae@slck:~$ /sbin/liloconfig
/sbin/liloconfig: line 740: /var/log/setup/tmp/reply: Permission denied

普通の所に入っていないのね。そして普通の人は触っちゃだめって事。(そんなの、管理者 エリアに有るって事で想像せいよ)

どうやら、こやつ、スクリプトのたぐいっぽいな。触っちゃだめだけど、見るだけならOKよって 事だろうかな?(九条あたりのOS劇場は、もう見るだけになっちゃったんでしょうか?)

 dialog --title "INSTALL LILO" --menu "LILO (Linux Loader) is a generic \
boot loader.  There's a simple installation which tries to automatically \
set up LILO to boot Linux (also Windows if found).  For \
more advanced users, the expert option offers more control over the \
installation process.  Since LILO does not work in all cases (and can \
damage partitions if incorrectly installed), there's the third (safe) \
option, which is to skip installing LILO for now.  You can always install \
it later with the 'liloconfig' command.  Which option would you like?" \
 18 67 3 \
 "simple" "Try to install LILO automatically" \
 "expert" "Use expert lilo.conf setup menu" \
 "skip" "Do not install LILO" 2> $TMP/reply
 if [ $? = 1 -o $? = 255 ]; then
  exit
 fi
 REPLY="`cat $TMP/reply`"
 rm -f $TMP/reply
 if [ "$REPLY" = "skip" ]; then
  exit
 elif [ "$REPLY" = "simple" ]; then
  # Do simple LILO setup
  simplelilo
  exit
 # drop through to last option: (use the expert menus)
 while [ 0 ]; do
   :

ちゃんと見られた。これ、起動した時の初期画面を出してるshellコードです。dialogって コマンドを使うんだ。知らなかったよ。

/etc/lilo.confを編集(timeout = 10)しておいてから、このコマンドを起動、エキスパートを選んでから、 Recycle(Reinstall)を選べば、すぐに起動するようになるよ。

と、ここまでは前回の案内を周到してきた訳だけど、他にはどんな設定が出来るのかな? 推理小説宜しく、設定コマンドは、何とかconfigって名前になってると想像出来る。

sakae@slck:~$ locate bin/*config
/sbin/liloconfig
/sbin/ldconfig
  :
/usr/bin/kdostartupconfig4
/usr/lib/qt/bin/qtconfig

一体幾つ入っているんだろう?数えてみたら(wcさんにお願いして、だけど)、120も有った。 調整ポイント一杯で楽しいね。

dialog

上で出てきたdialog、Slackware方面の方言? それとも、Linux陣営の秘密兵器? FreeBSDに 入っているか確認したら、寄贈ソフトなんですね。Slackの特色を出す為に、/etc/dialogsrcなんて のが用意されました。ざっと見た限りでは、色の設定で特色を出しているようです。

その他に例は無いかと探してみたけど、見当たらない。ちょいと悔しいのでソースを活用してみる。 ソース一式は、/mnt/cdrom/source/a/dialog/の中にあった。それを自分の陣地へ一式 持ってきたよ。

sakae@slck:~/t$ ls -l
total 304
-rw-r--r-- 1 sakae sakae 291512 Oct  6 06:00 dialog-1.1-20100428.tar.xz
-rwxr-xr-x 1 sakae sakae   4166 Oct  6 06:00 dialog.SlackBuild
-rw-r--r-- 1 sakae sakae    334 Oct  6 06:00 dialog.smaller.min.height.diff.gz
-rw-r--r-- 1 sakae sakae    970 Oct  6 06:00 slack-desc

tar.xzってのが寄贈版だな。diff.gzは、Slackに馴染むように矯正するんだな。slack-descは インストール時の広告看板。SlackBuildは、パッケージを作るためのレシピなんだな。

レシピは、Makefileじゃなくてshellスクリプトになってる。分かりやすくていいな。単純明快。

sakae@slck:~/t$ ./dialog.SlackBuild
  :
usr/bin/
usr/doc/
usr/doc/dialog-1.1-20100428/
usr/doc/dialog-1.1-20100428/CHANGES
usr/doc/dialog-1.1-20100428/dialog.lsm
usr/doc/dialog-1.1-20100428/COPYING
usr/doc/dialog-1.1-20100428/README
usr/doc/dialog-1.1-20100428/VERSION
etc/
etc/dialogrc
bin/
bin/dialog

Slackware package /tmp/dialog-1.1_20100428-i486-2.txz created.

/tmpの下で作業してんのね。と言う事は、わざわざ、自陣営へコピーしてこなくても パッケージを作成出来るのか。

sakae@slck:/tmp$ ls
dialog-1.1-20100428  dialog-1.1_20100428-i486-2.txz  package-dialog
sakae@slck:/tmp$ ls package-dialog/
bin  etc  install  usr

package-dialogを圧縮したものが、いわゆるbinaryって呼ばれるやつなんだな。

オリジナルの方には、サンプルが付いてた。インストールされる時は省かれてしまうので、 貴重な例が眼に触れないってのは悲しいな。ちょいと、見ておくか。

sakae@slck:/tmp/dialog-1.1-20100428/samples$ cat calendar
#!/bin/sh
# $Id: calendar,v 1.9 2010/01/13 10:20:33 tom Exp $

. ./setup-vars

exec 3>&1
RESULT=`$DIALOG --title "CALENDAR" "$@" --calendar "Please choose a date..." 0 0 7 7 1981 2>&1 1>&3`
retval=$?
exec 3>&-

. ./report-string

TABで変更したい年月日の所へカーソルを移動して、矢印キーで、値を変更出来るけど、どういう 仕組みで動いているんだろう?

                   lqqqqqqqqqqqqqqCALENDARqqqqqqqqqqqqqqqqk
                   x Please choose a date...              x
                   x                                      x
                   x  Month            Year               x
                   x  lqqqqqqqqqqqqqqqklqqqqqqqqqqqqqqqk  x
                   x  xOctober        xx2012           x  x
                   x  mqqqqqqqqqqqqqqqjmqqqqqqqqqqqqqqqj  x
                   x  lqqqqq-(-)qqqqqqqqqqqqqqqqqqqqqqqk  x
                   x  x    Sun Mon Tue Wed Thu Fri Sat x  x
                   x  x 40       1   2   3   4   5   6 x  x
                   x  x 41   7   8   9  10  11  12  13 x  x
                   x  x 42  14  15  16  17  18  19  20 x  x
                   x  x 43  21  22  23  24  25  26  27 x  x
                   x  x 44  28  29  30  31             x  x
                   x  x                                x  x
                   x  mqqqqq.(+)qqqqqqqqqqqqqqqqqqqqqqqj  x
                   tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
                   x       <  OK  >    <Cancel>           x
                   mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

別段、裏でcalとか動いていないみたいだし。

 5994 pts/3    S+     0:00 /bin/sh ./calendar
 5995 pts/3    S+     0:00 /bin/sh ./calendar
 5996 pts/3    S+     0:00 dialog --title CALENDAR --calendar Please choose a date... 0 0 7 7 1981

謎解きしてみるかな。答えはmanに。謎解きも何も有ったものじゃないな。

       --calendar text height width day month year
              A calendar box  displays  month,  day  and  year  in  separately
              adjustable  windows.   If  the values for day, month or year are
              missing or negative, the current date's corresponding values are
              used.   You  can  increment  or decrement any of those using the
              left-, up-, right- and down-arrows.  Use vi-style h, j, k and  l
              for  moving  around  the  array  of days in a month.  Use tab or
              backtab to move between windows.  If the year is given as  zero,
              the current date is used as an initial value.

              On  exit,  the  date is printed in the form day/month/year.  The
              format can be overridden using the --date-format option.

何だかカレンダーだけ特別扱いしててずるいぞ。(と、負け惜しみ)