詳しい話は http://www.asahi.com/0531/news/politics31017.html をみてね。
いいなー。
念願かなって立法府にいるのだから、自分達に不利になるような法律は作らない。
ごく自然な人情やね。
以上、けんとさんのところから。
ちとびっくり。 ウチの被害は、パネル型パソコンスピーカーがパソコンの上から机の上に落下したくらいかな。
今日はマリアの話。
今まで見た中では最高の出来だと思うけど、それでもなお一般の人にはお勧めできません(苦笑)。
このテレビシリーズは全体的にシリアス路線。
なんといっても、ゲーム中では毎日遊んでいるようにしか見えなかった加山がとっても苦労していたりする。
というわけで、マリア・タチバナが主役を張る話は作風と結構マッチしているのだ。
こうなったら、ヒロインをマリアにしてしまうのぢゃ〜〜>監督 (笑)。
Windows9xで動作するファイラーをさがしてみる。 フリッポから ファイルへ移動して
をゲット。 懐かしいにおいがする。 常用しよーっと。
00-06-03に拾ったports-currentには opensslとopensshのportsがある。 それでは早速使ってみよう。
root@athlon /home/ports/security/openssl # diff -uw Makefile Makefile.new --- Makefile Wed Apr 26 07:16:22 2000 +++ Makefile.new Sun Jun 4 00:08:36 2000 @@ -5,6 +5,7 @@ # $FreeBSD: ports/security/openssl/Makefile,v 1.43 2000/04/25 22:16:22 dirk Exp $ # +DISTNAME= openssl-0.9.5a PORTNAME= openssl PORTVERSION= 0.9.5a CATEGORIES= security develCVS web で openssl の Makefile の歴史を見ると、RELEASE_4_0_0 までは DISTNAMEがあったらしい。 1.40でDISTNAMEが削除されている模様。 おそらく、FreeBSD-currentではPORTNAMEとPORTVERSIONからDISTNAMEが自動生成されているのだろう。 これってsend_pr対象なのかな?
以上でインストールは終了。 続いて設定をする。
sshは $HOME/.ssh/以下のファイルを使う。
ところが、私の場合は athlon (ATHLON-500MHz) , casper (Celeron-400MHz) , asuka (MMX-Pentium 133MHz) の3台マシンで $HOME 以下全部を rsync を使ってフルコピーしている。
ということは、ちがうマシンで同じ $HOME/.ssh/identity ファイル等が共通して使われてしまうことになる。
これだとマズイので、man ssh する。
どうやら、$HOME/.ssh/config ファイル、または /etc/ssh_configファイル (FreeBSDのportsからインストールした場合は /usr/local/etc/ssh_configファイル) に何か書いておけばOKっぽいので先に進む。
(後日談:ダメです。~/.ssh/以下、特に ~/.ssh/identity ファイルは、マシン間でコピーしちゃ動きません(涙)。)
まずは、athlon側の設定。
george@athlon ~ $ ssh-keygen Generating RSA keys: Key generation complete. Enter file in which to save the key (/home/george/.ssh/identity): 改行のみ入力 Created directory '/home/george/.ssh'. Enter passphrase (empty for no passphrase): パスフレーズを入力 Enter same passphrase again: パスフレーズを入力 Your identification has been saved in /home/george/.ssh/identity-athlon. Your public key has been saved in /home/george/.ssh/identity-athlon.pub. The key fingerprint is: 35:21:(省略):61:c8 george@athlon.nerv.jpすると、identity と identity.pub というファイルが作成される。
続いて、asuka側の設定。
以上で、athlon→asuka, asuka→athlon の間でsshによるログイン等ができるようになる。
ついでに、www.haun.org と shell.rim.or.jp にも ~/.ssh/authorized_keys ファイルをコピーして、アカウントのある全マシンにsshでログインできるようにしておく。
パスフレーズには長い文字列を利用できるのだが、毎回長い文章を打つのは大変だ。 そんな場合は、ssh-agentとssh-addコマンドが便利だ。
george@athlon:~ $ ssh-add Need passphrase for /home/george/.ssh/identity Enter passphrase for george@athlon.nerv.jp: パスフレーズを入力 Identity added: /home/george/.ssh/identity (george@athlon.nerv.jp) george@athlon:~ $パスフレーズを入力した後は、何事もなかったかのように普通のプロンプトが表示される。 だがしかし、ここで既に「認証済」状態になっているのだ。
ports/packagesのあるFreeBSDでは、バイナリパッケージがあれば pkg_add すれば全部うまく行くという安楽な生活が可能だ。 それでは、イバラの道が予想されるSolaris8へopensshをインストールしてみよう。
#!/sbin/sh # # #ident "@(#)sshd.sh 1.3 99/11/10 SMI" SSHD_CMD=/opt/local/sbin/sshd PIDFILE=/var/run/sshd.pid if [ ! -x $SSHD_CMD ] ; then exit 1 fi case "$1" in start) /opt/local/sbin/sshd cmdtext="starting" ;; restart) if [ -f $PIDFILE ] ; then kill -HUP `cat $PIDFILE` cmdtext="restarting" fi ;; stop) if [ -f $PIDFILE ] ; then kill -TERM `cat $PIDFILE` rm -f $PIDFILE cmdtext="stopping" fi ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac echo "sshd $cmdtext." exit 0FreeBSDの /usr/local/etc/rc.d/ 以下に置いてある起動/終了スクリプトに似ているぞ。(ってゆーか、逆だろ〜(笑))
というわけで、Solaris8マシンとFreeBSDマシンの間で ssh によるログインはできるようになった。
ひとつ問題が発生。FreeBSDマシンからSolaris8マシンへの scp を行うと、
ksh: scp: not found lost connection
と言われてしまう。
/usr/local/binがPATHに含まれていないようだ。
はてさてどこで設定するのかな?
(/etc/login.confでは無いようだ。←(笑))
設定する方法が判明しても、いまいち信用のおけない(ぉぃぉぃ) /usr/local/bin をPATHに加えても良いものか?。
うーむ。
とりあえず、scpを/usr/bin/にコピーして回避しておく.....。
まだ未開封だけど。
どうやら小型化した模様。 来週からは通常シリーズになるのかな。
むーん。。。
つい先日、Solaris8ではports/packagesが無いから大変だ〜と書いた所、zoularisというものがあるというメールを頂きました。
ありがとうございます。
NetBSDのpkgsrcには、zoularisというものが含まれていて、パッケージのDESCRを読んだ所では、Solaris 2.6上でNetBSDのツールやライブラリをインストールするために必須のヘッダやライブラリをインストールしてくれるようです。 また、これをインストールすると、NetBSDのpkgsrcも利用できるようになるので、自動的にNetBSD pkgsrcに含まれている openssl / openssh が利用できるようになる模様です。 なお、Solaris側からNetBSDのソースツリーが見えることが条件な模様です。
こんなアイテムがあったとは...。
NetBSDおそるべし。
ssh-agent bash で起動したシェルと普通のシェルの区別がつかなくて、パスフレーズを聞かれて驚く事数回。 こんな事態を回避すべく、プロンプトを変更することにした。
# ~/.bashrcの一部 # # if running under ssh-agent, modify prompt # if [ x"$SSH_AGENT_PID"x != x""x ]; then ssh_prompt=" SSH " else ssh_prompt="" fi # # set command prompt # if [ x"$TERM"x = x"kterm"x ] ; then PS1='\[\e]2;\u@\h:\w\a\]${ssh_prompt}\u@\h:\w \$ ' else PS1='${ssh_prompt}\u@\h \w $ ' fi
いつぞや設定した kterm のウィンドウタイトルを変更するエスケープシーケンス技も含めて書いてある。
どんどんプロンプトが長くなるような。
マウスポインタをウィンドウにかざすとキーボードフォーカス移動でレイズアップなし。 ウィンドウの内容部分をクリックすると、レイズアップする。 という設定は、~/.dt/ja/dtwmrcのButtons DtButtonBindings 内部に以下の内容を追加するとOK。
*** dtwmrc-old Tue Jun 6 02:32:46 2000 --- dtwmrc Wed Jun 7 00:48:49 2000 *************** *** 258,263 **** --- 258,264 ---- <Btn1Click2> frame f.maximize <Btn1Click2> icon f.restore <Btn2Click> frame|icon f.raise_lower + <Btn1Down> frame|icon|window f.raise <Btn3Down> frame|icon f.post_wmenu Alt<Btn1Click> frame|icon|window f.raise Alt<Btn1Click2> frame|window f.minimize
勝利の鍵はBtn1Downで設定することだった。
それにしても、Btn1ClickとBtn1Downは何が違うのかよくわからん。
Projext-Xは、もう技術屋ネタはやんないのかな〜。 寂しいぞ〜。
かんな辞書のページにて、version 0.90の配布が開始された模様。
早速ゲットしてインストール中。
Canna3.2p2形式の品詞情報へのコンバートもしてくれるので、とっても便利。
Xのclientはぜんぶssh-agentの子供にしてはどうでしょうという情報をゲット。
その手があったかっ!
それは思い付かなかったっす。
そういえば、sshってXプロトコルの転送とかもやってくれるようなことがマニュアルに書いてあったな。 どんな機能なのか、今度チェックしてみよっと。
PC USER 6/8 日号をゲット。 色々チェックする。 要望リストを作ってみる。
そんなわけで、現在検討中のマシンたち。
うーん。
困った。
opensshと並んで、今のマイブームはGNU screenだったりして。
GNU screenは、テキスト端末画面を制御して、あたかも複数の画面が存在するかのようにみせるソフト。
muleのM-x shellを同時に沢山できる感じかな。
同様な事をする場合、xterm/ktermを沢山表示しておくという手もあるが、screenのキーバインドを覚えるとウィンドウ操作をしなくても(マウスに手を伸ばさなくても)サクサク画面切替ができる&バックスクロールもできて、検索もできる&カット&ペーストもできるので結構便利。
現在の設定ファイルはこんな感じ。
# # GNU screen 3.9.5 user's ~/.screenrc file # # scroll back buffer lines defscrollback 5000 # no opening message startup_message off # set window caption is always display caption always "%3n %t%? @%u%?%? [%h]%?" # set TERM #term vt100 #term xterm
さて、ここでひとつ問題が。
FreeBSD 3.3R+ktermの上でscreenを使っているのだが、caption(画面一番下のステータス表示部分と思いねぇ)を「常に表示モード」にしておくと、画面の高さが1行減らないとマズイ。
ところが、stty -a または echo $LINES してもscreenが起動する前の24のままになることがしばしば発生する。
(たまに、caption行のぶんを減らした値の23に設定されることもある。)
端末の行数の設定が実際と異なると、viで編集中、実は違う行を編集していたり(これは実際に発生した...)、色々と不幸な事が発生するので何とかしないといけない。
screenのコマンド ( ^A i ) で現在のウィンドウサイズを表示させると、内部的にはちゃんと23行と認識している模様だ。 そして、たまにうまく行くことがあるちうことは、設定のタイミングの問題なんだろう。
デバッグモードでscreenをコンパイルして、/tmp/debug/の下に作成されるログをみていたら、とある法則を発見。
の順番にならんでいる場合は、screenが行う端末の行数設定が無視され echo $LINESは24のままになる。
の順番にならんでいる場合は、screenが行う端末の行数設定が有効になってecho $LINESは23に変更される。
というわけで(?)、forkした親と子のスピード競争の結果次第で、端末の行数設定 (ioctl TIOCSWINSZ)が有効になるか、無効になるかが決まるらしい。
ChangeWinodwSizeの実行を遅らせればOKだろうということで、以下の安直なパッチを作成。
diff -u -r1.1.1.1 window.c --- window.c 2000/06/10 17:07:42 1.1.1.1 +++ window.c 2000/06/10 17:50:30 @@ -1286,6 +1286,14 @@ debug1("exec error: %d\n", errno); Panic(errno, "Cannot exec '%s'", proc); default: + { + /* parent process : wait 0.25 sec. */ + struct timeval timeout; + + timeout.tv_sec = 0; + timeout.tv_usec = 1000*250; + select(0, NULL, NULL, NULL, &timeout); + } break; } #ifdef _IBMR2
うーん。 本当なら、window.c内部のMakeWindowをちゃんと追跡して、いろいろとやっている所を修正しないといけないんだけど...。
サクラ大戦を見逃してしまった。
ノートパソコンをチェックしに秋葉原を散策。 店頭で触っていると、Let's note A1EV / A1ER って良いマシンだよなぁ………なんて思ってしまった。 COMPAQ Armada Vシリーズ M300は店頭でデモしている所は無かった。 Presarioシリーズは結構置いてあったけど。
ssh-agentを ~/.loginに記述しておく / xdmで起動する場合は ~/.xsession に記載する方法 もあるとの情報が。
メモメモ。
しばらくの間は ssh-agent startx して暮らしてみることにします。
2000.06.13追記。 ssh関連は、sadaさんのPrimary Sshのページにインストール方法から使い方まで沢山情報があるので、要チェック〜。 Xの転送は、何もしなくてもやってくれる模様です。
驚愕の新事実が発覚。
GNU screenの所で、mule で M-x shell を沢山できる感じと書いた所、muleでもM-x shellで作成された *shell* というバッファの名前を M-x rename-buffer で変更すれば、複数回 M-x shell できますよ〜とのメールを頂きました。
ありがとうございます〜。
今までずーっと M-x shell は 1muleにつき1個しかできないと信じておりました。
そんなわけで、M-x shell を同時に沢山やりたい場合は、muleを複数起動させていたりしました…。
以下のサイトで検索をかけたが、ヒットせず。
FreeBSD-hackers, FreeBSD-currentで検索すると、「COMPAQ Armada V300にてbioreadで止まっている」などと不幸な情報が少量存在するのみだったりして。 こりゃアカンわ。
そんなわけで、現在検討中のマシンたち。
乱数生成未初期化だかなんだかで立ち上がらず…というのは、こちらのK6-200MHz Solaris 8 for x86でも時々発生していたりします。
george@magi:/export/home/george/ $ ssh-agent ksh Couldn't initialise builtin random number generator -- exiting.
なんとなく、負荷が高い時にsshd / ssh-agent / ssh-add などを実行すると、乱数初期化に失敗するような印象です。
上記のメッセージは、openssl内部で出している、という所までみたんですけど、それ以降は未調査です。