Solaris 10 に sl コマンドを入れる

ハッカーたるもの遊び心を忘れてはいけない。というわけで、sl コマンドをマジメなシステムにぶっこむ。
>> sl オフィシャルサイト: 豊田正史とslコマンド


$ cd src/
$ wget http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/sl/sl.tar
$ gtar xf sl.tar
$ cd sl/

デフォルトのスピードでは、障害対応の時などにシャレにならないので、一瞬表示するように usleep の値をいじっておく。
これで実用性(?)のある sl コマンドが作れる。

$ vi sl.c

--- sl.c.old
+++ sl.c
@@ -81,7 +81,7 @@
if (add_sl(x) == ERR) break;
}
refresh();
- usleep(20000);
+ usleep(1);
}
mvcur(0, COLS - 1, LINES - 1, 0);
endwin();

コンパイルして /usr/local/bin に入れておく。
man (sl.1) は、文字コードが iso-2022-jp なので、UTF-8 に変換しておく。

$ make CC=/opt/SUNWspro/bin/cc
$ sudo cp sl /usr/local/bin/
$ sudo bash -c "iconv -f iso-2022-jp -t utf-8 sl.1 > /usr/local/man/man1/sl.1"

sl を実行すると、SL が画面を横切っていく。

      ====        ________                ___________
_D _| |_______/ \__I_I_____===__|_________|
|(_)--- | H\________/ | | =|___ ___| _________________
/ | | H | | | | ||_| |_|| _| \_____A
| | | H |__--------------------| [___] | =| |
| ________|___H__/__|_____/[][]~\_______| | -| |
|/ | |-----------I_____I [][] [] D |=======|____|________________________|_
__/ =| o |=-~~\ /~~\ /~~\ /~~\ ____Y___________|__|__________________________|_
|/-=|___|| || || || |_____/~\___/ |_D__D__D_| |_D__D__D_|
\_/ \__/ \__/ \__/ \__/ \_/ \_/ \_/ \_/ \_/

-a や -l や -F オプションなんかが用意されている。

User Commands                                               SL(1)



名称
sl ¥- キータイプを矯正します。

形式
sl [ ¥-alF ]

解説
sl は、高度に発展した、キータイプ矯正を目的とする ア ニ メー
ションプログラムです。

次のようなオプションがあります。

¥-a なにかアクシデントがあったようですね。助けを求める人々
が悲痛です。

¥-l 小さくなります。

¥-F 飛びます。

関連事項
ls(1)

バグ
カレントディレクトリの内容が表示されることがあります。

著者
豊田正史(toyoda@isea.is.titech.ac.jp)

改造パッチもあるっ!

sl コマンドは、キーボード強制ソフトなので、「重くなるほどに本来の目的を果たせる」という趣旨で、おもーーーくなるパッチが存在する。
ただし、こんなもん実機に導入した日にゃ、クビが飛ぶ;
>> パッチ開発サイト: SL 改造計画

導入には ncurses が必要。

$ wget --passive-ftp \
ftp://sunsite.tus.ac.jp/pub/sun-info/Solaris/intel/10/ncurses-5.4-sol10-intel-local.gz
$ gunzip ncurses-5.4-sol10-intel-local.gz
$ sudo /usr/sbin/pkgadd -d ncurses-5.4-sol10-intel-local

The following packages are available:
1 SMCncurs ncurses
(intel) 5.4

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: [ENTER]
:(skip)
Installation of <SMCncurs> was successful.

$ cd src/
$ wget http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/sl/sl.tar
$ wget http://www.linet.gr.jp/~izumi/sl/sl5-1.patch
$ gtar xf sl.tar
$ cd sl/
$ gpatch -p1 < ../sl5-1.patch
$ make CC=/usr/sfw/bin/gcc LDFLAGS="-lcurses -ltermcap"

パワーアップした sl コマンドを体験してみてくださいw

タイトルとURLをコピーしました