以下のFAQは、「DNS & BIND 改訂版」の130ページの脚注9(監訳者注)に対応する
resolv+に関するJLEにresolv+を組み込むための情報を含んだ、fj.sys.sunに掲載されていたものです。
このデータは、あさだたくや氏のご厚意により、株式会社オライリー・ジャパンが許可を得て複製、掲載しているものです。
このFAQに関するご質問については、「DNS & BIND 改訂版」の記述範囲を超える場合や、
特定機種や環境でのインストール方法などのご質問には回答できないことがございます。

※本データの無断複製、頒布、使用を禁じます。


Frequently Asked Questions and Answers list of fj.sys.sun

1994年 11月 8日版(β)


この文書は、fj.sys.sun で見られた質問をもとに作成した、SUN やその互換機に 関する Tips をまとめたものです。

内容に関する訂正、ご意見、未確認の事柄に関する情報、その他ありましたら、 asada@icsd6.tj.chiba-u.ac.jp までお寄せ下さい。


あさだたくや (asada@icsd6.tj.chiba-u.ac.jp)

目次

0. この文書に関する質問

0-1: この文書 (fj.sys.sun FAQ list) の最新版はどこから入手できますか?

WWW 版の fj.sys.sun FAQ は、以下の URL で参照できます。 また plain text 版が

(目次)


1. SunOS に関する質問

1-1: SunOS 4.x でネットワーク関係のコマンドに DNS を引かせるには どうすればよいのですか?

--笹部哲郎さん

二つの方法があります。一つは NIS を使うもので、もう一方は resolv+ を使う方法です。ここでは NIS について説明をします。

NIS を立ち上げ、hsots データベースを作っている makedbm に -b という オプションを付けると、NIS の hosts に無い検索について DNS へ問い合わせに 行くようになります。

SunOS 4.0.x だと、/var/yp/Makefile の 63 行目あたりに

    | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byname; \
という行があります。ここを
    | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byname; \
としてやれば表引き(ホスト名から IP アドレスを検索)に DNS を参照する ようになります。66 行目あたりにある
    | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byaddr; \
    | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byaddr; \
としてやれば逆引き(IP アドレスから host 名を検索)にも DNS を参照する ようになりますが、DNS の持っているセキュリティの問題があるのでお勧めは しません。

SunOS 4.1.x だと、/var/yp/Makefile の最初の方、11-14行目付近に

    #     Set the following variable to "-b" to have NIS servers use the domain name
    # resolver for hosts not in the current domain. 
    #B=-b
    B=
という部分があります。ここで B=-b というオプションを有効にしてやれば 表引きにも逆引きにも DNS を参照するようになります。しかし 4.1.x 場合にも DNS のセキュリティ問題が無くなるわけではないので、この設定では避けた方が 良いかもしれません。その場合には Makefile 先頭で B=-b しておいて、75 行目 付近の
    $(MAKEDBM) $(B) -l - $(YPDBDIR)/$(DOM)/hosts.byaddr 
    $(MAKEDBM) -l - $(YPDBDIR)/$(DOM)/hosts.byaddr 
にして、逆引きは B=-b に影響されないようにするとよいでしょう。あるいは Makefile 先頭での B=-b の設定はせず、4.0.x の場合と同様に 71 行目付近の
    $(MAKEDBM) $(B) -l - $(YPDBDIR)/$(DOM)/hosts.byname 
    $(MAKEDBM) -b -l - $(YPDBDIR)/$(DOM)/hosts.byname 
に書き換えても同じです。

なお、SunOS 4.1.x の一部(具体的に把握していません。少なくとも SunOS 4.1.3 with JLE 1.1.3 はそうです。Rel. note によると 4.1.3_u1 では直って いるようです)には libc 中の逆引き機構に bug があって、実際には表引きと 逆引きが合っているのに

    Jul 28 11:17:10 kikori sendmail[23680]: gethostbyaddr: fuge.hoge.uge.jp != 192.168.54.3
のような log が残ることもあります。これは fuge.hoge.uge.jp が複数の IP address を持っていると起きます。複数の IP address があるなら両方と照合 しないといけないわけですが、この bug 片方とだけ照合してそこで「違う!」 と叫んでしまいます。

(目次)

1-2: user unknown で他からの mail を受け取ることができません。なぜか sendmail を手動で起動しなおすと大丈夫なのですが?

Sun から当然 official patch が出ている筈ですが…。

--黒木 玄さん

問題の解決のためには以下の方法があります:

SunOS4.1.* では /etc/rc.local の中で sendmail が起動されています。 したがって、(b)の方法を取る場合は、rc.local の中で sendmail を起動して いる部分を ldconfig を起動している部分の後に移動することになります。

(c)の方法を取る場合は以下のようなファイルをanonymous FTP などから 入手してください (94/11/11 現在):

(目次)

1-3: $HOME/.forward や /usr/ucb/vacation が上手く使えない。

root になって chmod +x /usr/spool/mqueue して下さい。また $HOME が og+x に なっていない場合や $HOME/.forward が og+r になっていない場合も正しく転送 されません。

(目次)

1-4: /tmp に tmpfs を用いると,時々不都合が生じます。

--三浦史光@NTT情報研

/etc/rc.local の

    mount /tmp 
    mount /tmp; chmod +t /tmp 
に変えてください。

(目次)

1-5: yppasswd で、マスターサーバーのパスワードの更新がききません

--富士ゼロックスの水原 文さん

これは yppasswdd のバグのため、make に余計な引数が渡されてしまう ためです。対策としては /var/yp/Makefile の最後に

  
    rpc.yppasswdd: passwd.time netid.time
と書いておけば、パスワードが正常に更新されるようになります。

(目次)

1-6: OS4.0.3 から、4.1.3 にバージョンアップするには、いくらかかりますか?

これはどこから買ったかによって異なります。自分のマシンを買った業者に 問い合わせるべきでしょう。以下は例として

--東京都立大学の川上さん

まず、4.0.3 から 4.1.3 へとアップする場合には、License Full Upgrade (アップグレードのフルライセンス)が必要です。これに対し例えば 4.1.1 から 4.1.3 への場合には License Partial Upgrade で済みます。これに 加えて、日本語環境で使用したい場合には Japanese OS4.1.3 Media を、 英語環境で使用したい場合には English OS4.1.3 Media がそれぞれ必要と なります。また、Manual Set も別売りです。以下にそれぞれの単価を乗せ ておきます。

ということです。(1993.9.28 現在)

(目次)

1-7: UUCP call で、passwd のあとで、悶絶するのですが、なぜでしょう?

--衛藤@富士通さん

これはたしか SIGSEGV で uucicoが死んでしまうというものだったと思いますが、 これをなくすには「パスワード・ファイルにある空行をなくす」のが回答です。 ついでに pwck でチェックをせよとゆうことです。 SunOS の UUCP が HDB になる 前から引き継いでいる Uxxx の形式のアカウントは先頭に大文字を使っているとか で怒られます。とりあえずそのまま使っても実害はないようです。

(目次)

1-8: Classic, LX で Solaris1.x を使うには?

Solaris 1.1.1 (SunOS 4.1.3_u1) は classic, LX もサポートしています。 詳しくは購入先、担当営業に問い合わせて下さい。

(目次)

1-9: SunOS4.0.3 で、cronが、2回実行されるのは?

バグです。以下のオフィシャルパッチを当てれば直ります。
  
    100058-03   SunOS 4.1.1;4.1;4.0.3:Cron scheduling and queue errors;
                may run jobs twice

(目次)

1-10: Over 1GB のディスクを、フルに使えない。

SunOS-4.1.1b からは、直っています。それ以前のものはパッチ
    100343-05   SunOS 4.1.1: sd.o patch to access scsi drive capacity
                beyond 1GB.
が出ています。このパッチの README によると、
Architectures for which this patch is available: sun4, sun4c, sun4e
となっています。sun3, sun3x の場合は SunOS 4.1.1 では正常に動作しますが、 4.1 だとコケるそうです。

(目次)

1-11: fsck / すると CLEAN FLAG IN SUPERBLOCK IS WRONG; FIX? というエラー メッセージがかえってくるのですが。

--慶大の三平さん

yes と答えてもリブートしろとはいわれず、そのまま終ってしまいますし、 スーパーブロックが壊れているのかと思い、代価のもので試してみましたが、 今度は一応 sync しないでリブートしろといわれるのですが、その通りにしても 直りません。

僕が管理している Sparc1+ SunOS 4.1.3 でも半年ほど同じ現象になっていますが, 別に問題は発生していません. --早稲田大学の青木さん

これは SunOS4.1.2 (Solaris1.0.1) から super block に clear flag という のをつけるようにしていて、システムが正常に shutdown された場合は clear flag が立ち、boot 時の fsck を省略するためのものだったと思います。

(目次)

1-12: 特定のユーザーについて biff が動いてくれません。

--笹部 哲郎さん

これは SunOS 4.1.x の in.comsat のバグで、8 文字のログイン名を持つユーザー について biff が効かないという症状になります。以下のフィクスが出ています。

    100272  patches SunOS 4.1.1;4.1.2;4.1.3 in.comsat daemon fails with
                    8-character login names
また、フリーになっている BSD のソースから comsat だけを持って来ても動きます。

(目次)

1-13: /var/spool/mqueue に大きな core が出来るんですが。

--笹部 哲郎さん

in.comsat か sendmail の問題です。filec /var/spool/mqueue core してみて 下さい。in.comsat の core だった場合は in.comsat のバグです。以下の フィックスが出ています。

    100752  patches SunOS 4.1.1;4.1.2;4.1.3: in.comsat daemon fails
                    with MAXIDLE time 1200 seconds
また、フリーになっている BSD のソースから comsat だけを持って来ても動きます。

(目次)

1-14: NIS なしで netstat を実行すると TIME_WAIT となった空のソケットが 大量に発生します。

OS のバグだそうです。

--岡@エムエフ情報システムさん

スーパーユーザーで次の事を実行して下さい。

    cp /dev/null /etc/defaultdomain
要は /etc/defaultdomain を空のファイルにして下さい。後は、リブートすれば、 対処出来ます。

(目次)

1-15: Solaris2.3 でメールの Date: フィールドがおかしいのですが。

Solaris2.3 の /usr/lib/sendmail のバグです。以下のパッチを当てて下さい。
    Patch-ID# 101739-04
    Keywords: sendmail security .forward headers messages mx timezone
(目次)

1-16: Solaris2.* で送信したメールの From 行にドメイン名が付きません。

sendmail.cfのルール S11 の
  
    R$+              $@$1<@$w>                       tack on our hostname
というところを
  
    R$+              $@$1<@$j>                       tack on our hostname
とすると良いとのことです。また S11 を下記のように変更すれば、いわゆる GENERIC FROM (ユーザ名@ドメイン名) の設定になります.
    S11
    R$*<@$+>$*       $@$1<@$2>$3                      already ok
    R$+              $@$1<@$m>                        tack on my hostname

(目次)

1-17: Solaris2.* でメイルのログが /var/log/syslog に全く残りません。

syslog.conf で、
  
    mail.debug            ifdef(`LOGHOST', /var/log/syslog, @loghost)
という行があるので、これより前に define(`LOGHOST',1) という1行を 加えるか、またはこの行を
  
    mail.debug            /var/log/syslog
に変更すると良いです。

あと loghost=localhost の場合、つまり hosts に

  
    127.0.0.1       localhost loghost 
とある場合には hostname を aho とすると /etc/net/ticlts/hosts に
  
    aho loghost
/etc/net/ticlts/services に
  
    syslog syslog
という記述を加える必要があります。

(目次)


2. JLE に関する質問

2-1: 特定のコマンドが libc.so.101 が無いといわれて実行できません。

JLE をインストールするときにカテゴリ「compat」をインストールすれば、 JLE なしと同じライブラリ、ヘッダファイルが /usr/compat/lib, /usr/compat/include に入りますので、これらを使えば非 JLE 環境でも使える オブジェクトができます (JLE が最初から入った CD-ROM の場合 compat と いうカテゴリがありません。例えば日本語 Solaris 1.1 では /usr/compat/* は SunView_Programmers に入っています)。

/usr/compat/bin/cc というシェルスクリプトがあり、これらのヘッダ、 ライブラリを使ってコンパイルしてくれます。ただし、コンパイラオプションを まともに解釈できないので、 "$*" を "$@" に書き換えて下さい。ついでに exec を 追加しておくのもよいでしょう。

コンパイルする時に、"cc hogehoge -lc.1.6" の様に「-l」オプションで、明示的に link するライブラリを指定するのも手です。ここで指定する数字は OS の バージョンによって違うと思うので、"ls /usr/lib/libc.so.*" で確認して下さい。

コンパイルし直すのはゴメンだというならば、

  
    ln -s /usr/lib/libc.so.1.6 /usr/lib/libc.so.101.6
とするだけでも結構動きます。ただし、その後このホストでなにも考えずに make した他のバイナリを,他の非 JLE ホストに持ってゆくと,そのホストでも libc.so.101 がないと言われてしまいます…。

また、以前 fj.sources ポストされた unjle というツールを使えば、ロードする shared lib を変更することができます。ただし、作者の水原@富士ゼロックスさん 曰く

ご愛用ありがとうございます。ただ、こいつはただダイナミックリンクする ライブラリのメジャーバージョン番号を書き換えているだけなので、JLE の 機能を本当に使っているプログラムは動かなくなってしまいますから、気を つけて下さい。
という事でしたなので、もしこれを使うときはちゃんとコピーを取ってからに して下さい。

(目次)

2-2: gcc の fix-include が上手くいかないのですが。

これは JLE の sed のバグです。例えば、sys/ioccom.h が fix されない。 また、
  
    #if (defined __sun3x__) || (defined __sun4__)
と fix されなければならないところが
    #if (defined __sun3x__) || (defined sun4)
のようになる等の問題があります。非 JLE 機を使うか、p0064-01 のパッチを 当てて下さい。GNU sed などをインストールしてもよいでしょう。

(目次)

2-3: _des_crypt が無いと言われてコンパイルできません。

JLE1.1.1 のバグです。これを解消するには /sys/`arch -k`/OBJ/des_soft.o を リンクしてやるといいです。なお、JLE1.1.2 では解決されているそうです。

(目次)

2-4: NIS を動かそうと思ったのですが、/var/yp と言うディレクトリがありません。

(目次)

2-5: kterm 上で talk (gopher, sc, ccustom …その他) を実行すると、日本語が きちんと表示されません。

kterm を EUC Kanji Mode にしておいて、コマンドが起動した後一旦 EUC Kanji Mode を解除して (JIS モード) EUC Kanji Mode に戻すと、以後は 日本語が入出力できる場合があります。

この様な場合は terminfo の中に "enacs=\E(B\E)0" があるのがよくないよう です。termcap を適切に変更して terminfo を作り直せば、きちんと表示される ようになります。

ちなみに私は以下の様な設定にしています。

    vk|kterm|kterm| (X window system):\
            :hs:es:ts=\E[?%i%dT:fs=\E[?F:ds=\E[?H:\
            :KJ:sc=\E7:rc=\E8:cs=\E[%i%d;%dr:TY=ascii:tc=xterms:

(目次)

2-6: resolv+ と JLE は共存できないのか?

できます。JLEのライブラリとして libc.sa.101.* と libc.so.101.* があり、 non-JLEのライブラリとして libc.sa.1.* と libc.so.1.* があります。普通に resolv+ で make shared を行なって共有ライブラリを作ると libc.sa.101.*.1 と libc.so.101.*.1 が作られてしまいますが、この共有ライブラリは JLE 固有の関数群を含んでいないので、そのまま使うことができません。これは、 /lib/shlib.etc/libc_pic.a が JLE の機能を含んでいないためです。 従って、make shared によって作成された共有ライブラリは、ファイル名を変更 して、libc.sa.101.*.1 → libc.sa.1.*.1 に、libc.so.101.*.1 → libc.so.1.*.1 にします。この上で、LD_LIBRARY_PATH を定義するか /lib へコピーして、ldconfig を行なえば、問題が回避されます。

なお、日本サン・ユーザ・グループの運営するBBSには JLE 用の /lib/shlib.etc があるようです(現状未確認、以前はあった)。これを使えば通常の方法で JLE コードを持った resolv+ を作ることも出来ます。

(目次)


3. X11, OpenWindows に関する質問

3-1: OpenWindows と mit X11R5 との共存

--浜田 直樹さん

xdm で OpenWindows と mit X11R5 とを切替えることができるようにする ためのパッチが fj.sources で公開されています。v34 の 3402 で、以下の ようなものです。

  
  |From: too@sala.sony.co.jp (OKADA Takashi)
  |Newsgroups: fj.sources
  |Subject: experimental patch for xdm - choose local server with menu
  |Message-ID: 
  |Date: 23 Sep 92 03:58:06 GMT
  |Sender: news@sala.sony.co.jp (Usenet News System)
  |Followup-To: fj.sources.d
  |Organization: Science Art Laboratory, Tokyo, Japan.
  |Lines: 706
  |Nntp-Posting-Host: atrai
  |
  |SALAの岡田と申します。
  |
  |  このパッチは,X11R5 の xdm にプルダウン・メニューを付加し,コンソー
  |ルで動作するXサーバプログラムを自由に選択できるようにするための試験的
  |なパッチです。念のため "experimental" ということにしてありますが,一年
  |弱の動作実績があり,それなりに安定して動作しているようです。
現在でも安定して動作しており、動作実績は現在では二年間に延びているそう です。なお作者の方から次のコメントがありました。
  | xdm 自体は安定しているように見えますが,サーバを殺したり再起動したり
  | する回数が増えるに従ってデバイス周りで「ひっかかってとまる」ことがあ
  | るようなので,これを使う場合は OpenWindows 2 のサーバはやめたほうが
  | いいでしょう。
  | また,作ったのが昔なんで,最近の fixes があたっているときに,そのまま
  | パッチが当たるかどうかは存じません。

(目次)

3-2: キーリピートの開始までの待ち時間が短い

--浜田 直樹さん

これは Xsun のオンラインマニュアルに記述のあるとおり、サーバーを立ち 上げる時に引数として

  
  |     -ar1 milliseconds
  |             This option specifies amount of time in milliseconds
  |             before   which   a   pressed  key  should  begin  to
  |             autorepeat.
  |
  |     -ar2 milliseconds
  |             This option specifies the internal  in  milliseconds
  |             between autorepeats of pressed keys.
を指定すれば調節できます。デフォルトではそれぞれ 200 ms, 50 ms です。

なお static に default 値を変えるには,mit/server/ddx/sunの sun.h の中に、

    #define AUTOREPEAT_INITIATE     (200)           /* milliseconds */
    #define AUTOREPEAT_DELAY        (50)            /* milliseconds */
というところがあります. ここの部分を調節すればいいはずです。

(目次)

3-3: OpenWindows の client を X11R5 の上で動かしたい

方法としては2通りのアプローチがあるようです。

(目次)

3-4: OpenWindows で Ctrl-Spc で JLE の漢字入力が動かないようにしたい。

次の二つの方法があります。 特定の cmdtool や shelltool で漢字入力を使わないようにするには、
  
    cmdtool -lc_inputlang C
として起動すれば良いでしょう。

(目次)

3-5: cg9をサポートしたxnews、あるいはX11のパッチはありますか。

X11R5 のパッチで、Xsun24 というのがあります。このパッケージを使うと、 TrueColor サーバ、PseudoColor サーバの二種類のサーバを生成することが できます。 ftp://ftp.iij.ad.jp/pub/X/contrib/Xsun24-3.0.tar.Z などから入手 できるでしょう。

また 3.0 から 3.1 の差分が、 ftp://ftp.iij.ad.jp/pub/X/contrib/Xsun24-3.0.tar.Z などにあります。

なお、SS10/GS + SunOS4.1.3 では PseudoColor サーバが動かないそうです。 それから CG9 でも X11R5 のパッチレベルが高すぎるとカラー、モノクロの 切り替え時に画面が乱れるという不都合があるそうです (未確認)。

(目次)

3-6: SPARC classic + 15 inch MONITOR で X11R5 が立ち上がりません。

src/mit/server/ddx/sun/sunCG3C.c の struct cg3bc の宣言の 128*1024 の 部分を 96*1024に修整して再コンパイルすればいいです。
  
      typedef struct cg3bc {
    #ifdef sparc
            u_char mpixel[128*1024];         /* bit-per-pixel memory */
            u_char epixel[128*1024];         /* enable plane */
    #endif
            u_char cpixel[CG3B_HEIGHT][CG3B_WIDTH]; /* byte-per-pixel memory */
    } CG3BC, CG3BCRec, *CG3BCPtr;
これが面倒ならば、rom-monitor (ok プロンプトが出ているところ) で
    k setenv output-device screen:r1152x900x66
と入力してからリブートして、ディスプレイの解像度を変える方法があります。 ただしハードウェアオーナーズガイドによると、これは 16inch モニタのみで しか保障されていない方法だそうですので、your own risc でお願いします。

output-device をこれ以外に設定すると、コンピュータが起動しなくなって しまいます。もしも起動しなくなったら, L1(Stop)-N を押しながらスイッチを 入れて, 不揮発メモリを初期化してください。

(目次)

3-7: Solaris 2.x JFP の atok7 を X11R5 から呼ぶには?

atok は、入力サーバ htt が通信する言語エンジンで、htt は Ximp で Xlib と 通信するので、Xlib さえ Ximp を話すなら、XIM interface を用いている contrib の Xaw の client とか、Interviews のように、直接 Ximp を話す toolkit から なら、そのまま、atok が使えます。

X11R5 を keep したまま atok をすぐ使えるようにするには、OpenWindows の なかから、

    /usr/openwin/bin/htt
    /usr/openwin/lib/libX11.so
    /usr/openwin/lib/locale/ja/* (=>5 font M pcf EH")gKvH")
を抜きだして X11R5 と hybrid にすることによって、atok を使える X11R5 に なります。

また、OpenWindows の X11/NeWS Server と font を X11R5 sample server で 置き換えることもできます。

(目次)

3-8: X を終了するときに keyboard がロックしてしまうことがあるのですが。

rlogin して kbd_mode -a を root または最後に console を使ったユーザーの 権限で実行してみて下さい。それでだめなら、

篠田さん(茶々:笹部哲朗さん)--

という方法もあるそうです(篠田さんは何台くらい捨てたんだろう?)。

岡田さん--

マニュアルのすみからすみまで読めば書けるコードなんで PDS あつかいでい いですが,無保証です.

    #include        <stdio.h>
    
    #include        <sys/types.h>
    #include        <sys/stat.h>
    #include        <fcntl.h>
    
    #include        <sys/stream.h>
    #include        <sys/stropts.h>
    #include        <sundev/kbio.h>
    #include        <sundev/kbd.h>
    
    int
    main( argc, argv)
         int        argc;
         char       **argv;
    {
      int   fd;
      int   arg;
      struct kiockeymap     m;
      
      fd = open("/dev/kbd", O_RDWR);
    
      if (fd < 0) 
        {
          perror("/dev/kbd");
          exit(1);
        }
    
      arg = KBD_CMD_RESET;
    
      if (ioctl( fd, KIOCCMD, &arg) < 0) 
        {
          perror("KIOCCMD");
          exit(1);
        }
    
      arg = TR_ASCII;
    
      if (ioctl( fd, KIOCTRANS, &arg) < 0) 
        {
          perror("KIOCTRANS");
          exit(1);
        }
    
      exit(0);
    }
なお最後の手段として「キーボードを引っこ抜いてもう一度差し込めば モニタに落ちる」というのがあります。 (目次)

3-9: 日本語 OpenWindows 2.x で Mosaic を使いたいのですが

設定の例が以下の2個所にあります。参考にして下さい。 (目次)

4. ハードウェアに関する質問

4-1: WangDATが正常に動かない。

--なかのなおき@インテリジェントシステムズさん

うちの SUN Sparc station IPX OS 4.1.3 JLE 1.1.3 で WangDAT model 3200 を とりあえず繋いだ状態では、 Exabyte EXB-8200 8mm Helical Scan と認識して いたようで、正常に読み書きはできるのですが、スピードが遅過ぎて使いものに なりませんでした。そこで、/sys/scsi/targets/st_conf.cを以下の様に変更し、 リコンフィグしたところ scsi dat deviceと認識し、快適に動きました。

  ------- st_conf.c ----- EXB8500の次へ挿入
    /* WangDAT 3200 */
    {
        "WangTek 3200 DDS-DC/DAT",18,"WangDAT Model 3200",
        ST_TYPE_WANGDAT3200,512,
        (ST_VARIABLE | ST_BSF | ST_BSR | ST_KNOWS_EOD | ST_LONG_ERASE |
         ST_AUTODEN_OVERRIDE),
        5000,5000,
        { 0x00, 0x00, 0x00, 0x00 },
        { 0, 0, 0, 0}
    },
  -----stdef.h -----------
    #define ST_TYPE_EXABYTE         0x28    /* Exabyte */
    #define ST_TYPE_EXB8500         0x29    /* Exabyte */
    #define ST_TYPE_WANGDAT3200     0x2a    /* WangTek 3200 */
  --------ここまで---------

(目次)

4-2: Sun 純正の 5GB DAT は Solaris1.x で使えるか?

Solaris1.1.1 (SunOS4.1.3u1) ではサポートされています。 それ以前のものでも一応使えるようですが…、 --早稲田大学の青木和麻呂さん

さらに調子良く使うためには、st_conf.cに以下の部分を追加しました。

    /* Local Addtional Tape Drive (5GB 4mmDAT) */
    /* This code from Nihongo-Solaris2.1/2.2:/kernel/drv/st */
    #ifdef ST_NO_POSITION
    /* SunOS5.1/5.2 ? */
    #define oNO_POSITION | ST_NO_POSITION
    #else
    #define oNO_POSITION
    #endif /* ST_NO_POSITION */
     
    #ifdef ST_KNOWS_EOD
    /* SunOS4.1.2/4.1.3 */
    #define oKNOWS_EOD | ST_KNOWS_EOD
    #else
    #define oKNOWS_EOD
    #endif /* ST_KNOWS_EOD */
    {
        "Archive Python 4mm Helical Scan", 14, "ARCHIVE Python",
        /* type */ 0x2c, 1024,
    #if 1
        (ST_VARIABLE | ST_BSF | ST_BSR |
         ST_LONG_ERASE oKNOWS_EOD oNO_POSITION),
    #else
        (ST_VARIABLE | ST_BSF | ST_BSR | ST_LONG_ERASE |
         ST_AUTODEN_OVERRIDE oKNOWS_EOD oNO_POSITION),
    #endif
        5000, 5000,
        { 0x00, 0x8c, 0x8c, 0x8c},
        { 0, 0, 0, 0 }
    }
この修正により、st0に接続しているとすれば、 で使えます。

(目次)

4-3: Apple CD-150, CD-300 は Sun でも使用可能ですか。

Apple CD-150, CD-300 のブロックサイズは 2048bytes なので 512bytes に変更する 必要があります。そのため、下記のプログラムのソースが comp.sys.sun.admin に ポストされました。なお Sun-3/60, Sun-3/80 などの Sun3 系のマシンでは動かない ということです。
    #include <fcntl.h>
    #include <sys/types.h>
    #include <sys/ioctl.h>
    #include <scsi/generic/commands.h>
    #include <scsi/generic/mode.h>
    #include <scsi/impl/uscsi.h>
    
    struct uscsi_cmd cmd;
    
    union scsi_cdb cdb;
    u_char md[12] = {                       /* random data */
        0,                                  /* reserved */
        0,                                  /* medium type */
        0,                                  /* reserved */
        8,                                  /* block descriptor length */
        0,                                  /* density */
        0,0,0,                              /* # of blocks */
        0,                                  /* reserved */
        0,2,0,                              /* block length (512b) */
    };
    
    main()
    {
        int fd;
    
        if ((fd = open("/dev/rsr0", O_RDWR | O_NDELAY)) == -1) {
            perror("open");
            exit (1);
        }
    
        cdb.scc_cmd = SCMD_MODE_SELECT;
        cdb.low_count = 12;
    
        cmd.uscsi_cdb = (caddr_t) &cdb;
        cmd.uscsi_cdblen = CDB_GROUP0;
        cmd.uscsi_bufaddr = (caddr_t) md;
        cmd.uscsi_buflen = sizeof(md);
        cmd.uscsi_flags = USCSI_DIAGNOSE | USCSI_ISOLATE; /* write */
    
        if ((ioctl(fd, USCSICMD, (struct uscsi_cmd *) &cmd)) == -1) {
            perror("ioctl");
            exit (1);
        }
        exit(0);
    }
(目次)

4-4: PC-98 用 CD-ROM ドライブは使えるか? セクタ長を 512bytes に変更できるか?

セクタ長はドライブの機種によって、できるものとできないものがあります。 512bytes/s でないものは boot は不可能ですが、それ以外は kernel にパッチ を当てるか、mount する前にドライバ(添付)を動かせば問題なく動作します。 原@京大さん--

SUPER ASCII(94/9), 日経バイト(94/11) および独自調査の中間報告です。 使用されているドライブごとに製品名を並べてみます。

PIONEER DR-U104X        512可   パリティ有り
        PIONEER         DR-S104X

シナノケンシ PX-34CH    512可   パリティ有り
        PLEXTOR         PX-45CH
        ICM             CD-610S
        ELECOM          ECD-L650

シナノケンシ DM-3028    512可   パリティ有り
        PLEXTOR         DM-5028

東芝 XM-3501B
        ELECOM          ECD-550
        TAXAN           TS-CD400
        Caravelle       CD-440P
        MIDORI          CXA-600
        Logitec         SCD-400

東芝 XM-4101B           512不可 パリティ有り
        Toshiba         XM-4100A
        ELECOM          ECD-250B
        Logitec         LCD-550
        Caravelle       CD-100P

NEC CDR-260
        NEC             PC-CD60

NEC CDR-510                     パリティ有り
        NEC             PC-CD170
        NEC             PC-CD170N
        MIDORI          CXA-450
        TAXAN           TS-CD300

NEC CDR-511
        NEC             PC-CD180
NEC CDR-210             512不可 パリティ無し    SCSI
        TEXA            LU-CD2
        Logitec         SCD-200
        MIDORI          CXA-301

SONY    CDU7811-10              パリティ有り
        SONY            CDU7811-10

SONY    CDU-55S
        MERCO           CDS-E

Media Vision CDR-H93MV  512不可 パリティ有り
        TAXAN           TS-CD200

松下 CR-503                     パリティ有り
        ICM             CD-310S

AIWA    ACD-300         512可   パリティ有り
        AIWA            ACD-300
このうち PIONEER と PLEXTOR の製品は DIP SW の切替で、ブロックサイズを 512bytes にできるので、boot に使用できる。東芝の XM-4101B はパターン カットにより 512bytes に変更できる。

なお、その他の製品はスイッチによるブロックサイズ変更をサポートしている のか不明ですので、これらの製品を使用されている方で、「マニュアルに記述 がある」とか、「マニュアルに説明のないスイッチがある」などという方は、 御一報ください。

rkling@austin.intel.com (Ralph Kling) さん(和訳:辻さん)--

東芝の 2048 バイトにたいしサンは 512 バイトを転送ブロック・サイズに しています。これを直すために SunOS の user-scsi-driver を利用した 小さいプログラムを書きました。これをドライブをマウントする前に走らせて ください。例の "unrecognized vendor" というのは無視できます。audio を 使いたいのなら、同じ user-scsi-driver を使って自分でドライバーを書く 必要があります。コマンドがサンのとは全然違うからです。東芝に電話をかけて スペックを聞いて下さい。(15ドルでそれを送ってくれます)

        # include <sys/types.h>
        # include <sys/buf.h>
        # include <sun/dkio.h>
        # include <scsi/targets/srdef.h>
        # include <scsi/impl/uscsi.h>
        # include <strings.h>

        # include <stdio.h>

        char cdrom[] =  "/dev/rsr0";

        extern char *   cdrom_status();

        /* group 0 commands */

        #define TEST            0x00
        #define REZERO          0x01
        #define SENSEREQ        0x03
        #define READ            0x08
        #define SEEK            0x0b
        #define NOP             0x0d
        #define INQ             0x12
        #define MODESEL         0x15
        #define RESERVE         0x16
        #define RELEASE         0x17
        #define MODESENSE       0x1a
        #define STARTSTOP       0x1b
        #define DIAGRCV         0x1c
        #define DIAGSND         0x1d
        #define MEDIUMLOCK      0x1e

        /* group 1 commands */

        #define READCAP         0x25
        #define READEXT         0x28
        #define SEEKEXT         0x2b

        /* group 6 commands */

        #define AUDIOTRACK      0xc0
        #define AUDIOPLAY       0xc1
        #define AUDIOSTILL      0xc2
        #define AUDIOSTOP       0xc3
        #define EJECT           0xc4
        #define CLOSE           0xc5
        #define AUDIOSUB        0xc6
        #define AUDIODISK       0xc7
        #define ROMMODE         0xc8

        /***/

        #define CMDLEN(cmd) ((cmd >= 0x20) ? 10 :  6)

        /***/

        main() {
                int                     fd;
                int                     i;
                struct uscsi_cmd        ucmd;
                char *                  s_command;
                char *                  s_buffer;

                if ((fd = open(cdrom, 0)) == -1) {
                        fprintf(stderr, "open: ");
                        perror(cdrom);
                        exit(1);
                }
                s_command = (char *) malloc(10);
                if (s_command == NULL) {
                        printf("malloc error (command)\n");
                        exit(-1);
                }
                bzero(s_command, 10);
                s_buffer = (char *) malloc(256);
                if (s_buffer == NULL) {
                        printf("malloc error (buffer)\n");
                        exit(-1);
                }
                bzero(s_buffer, 256);
                s_command[0] = MODESEL;
                s_command[1] = 0x10;
                s_command[4] = 12;
                s_buffer[3] = 0x08;
                s_buffer[10] = 0x02;
                ucmd.uscsi_cdb = s_command;
                ucmd.uscsi_cdblen = 6;
                ucmd.uscsi_bufaddr = s_buffer;
                ucmd.uscsi_buflen = 4096;
                ucmd.uscsi_flags = USCSI_WRITE;
                i = ioctl(fd, USCSICMD, ucmd);
                close(fd);
                exit(i);
        }
(目次)

4-5: イメージスキャナーを繋ぎたい。

杉山@龍谷大学さん--

MacLife 1994/10 にのっていたスキャナの比較記事を参考にして選びました ので、Mac 用のソフトはすべてにあります。その他広告も参考にしました。

UNIX用のソフトを提供しているスキャナ

                          Optical   Software   bit
・SII     CS-6151         400x 800    ? x ?     8   ColorCCD  \288,000
・SII     CS-7151         400x1200  1200x2400   8   ColorCCD  \473,000

        SII ScanMate

        Sun: SunOS 4.1.[23] + OpenWindows [23]  \100,000
        SGI: IRIX 5.x                           \400,000?


・HP      ScanJet IIc     ?  x ?      ? x ?     8     ?      \???,???
・HP      ScanJet IIcx    400x 400  1600x1600   8  ColorCCD  \178,000

        HP MPower 2.0(Multimedia Package)

        HP: HP-UX 9.x                           \100,000?

・UMAX    PowerLook       600x1200  2400x2400  10   ColorCCD  \300,000?

        ???(for UNIX)                           \???,???
--

長橋@富士通研さんが作成した EPSON GT-8000/6000 用画像取り込みツール gtscan, xscan があります。 ftp://keisu3.t.u-tokyo.ac.jp/pub/keisu/ImageScanner/ などから入手できます。多分 GT-9000 でも問題なく動くでしょう。

現在、対応しているのは kernel architecture が sun4c のもののみです。 sun4m には対応していませんが、実は動くという報告もあるようです。 (目次)

4-6: Sunの画面又は特定のWindowをビデオに落としたい。

Parallax の XVideo board 等の製品が使えるそうです。XVideo には色々な オプションがあり、質問のようなことも可能です。ただし、画像はあまり奇麗では ないそうです。最近新製品が出たという情報もあります (未確認)。

(目次)

4-7: スワップ領域は、どの程度とるのがいいでしょうか?

--富士ゼロックスの水原 文さん

SunOS の場合、プロセスが動くためにはあらかじめスワップ領域にプロセスが 使用するメモリと同じ大きさの領域を確保しておかなくてはいけません。ですから スワップ領域は、少なくとも (物理) メモリとおなじだけは必要です。目安として メモリの 2倍、という話を聞いたことがあります (根拠は忘れました)。 巨大なプロセスを動かす人は、スワップ領域も大きくとる必要があります。 ちなみに私は現在 150MB ほど取っています (100MB では足りなかった)。

複数台のディスクが接続されている場合、一個のディスクに巨大なスワップ領域を 取るよりは、いくつかのディスクにスワップ領域を分けて作成し、/etc/fstab に

    /dev/sd1b  swap    swap rw 0 0
    /dev/sd3b  swap    swap rw 0 0
などと書いておけば、ページングやスワップが高速に行なえます。

また、スワップ領域はディスクの先頭に作ることはできません。1シリンダでも いいから、かならず普通のパーティションを切って、その後にスワップ領域を 取りましょう。

注: SunOS 4.X の場合、/usr/kvm/sys/(ARCH)/conf のコンフィギュレーション ファイルの "config" の項目を変更し、カーネルを再構築することによって、 デフォルトのスワップ領域を変更することができます。詳しくはマニュアル "System Administration Procedures" の pp225, Chap9,Sec "System-Specific Description Lines" 参照して下さい。
--松下電器産業の和気 裕之さん

分散スワップを使用する目的は、スワップ時のディスクの負荷を分散させる ことにあります。しかしながら、システムに高速ディスクと低速ディスクが 混在している場合はこの限りではありません。

砂原 訳、Nutshell Handbooks シリーズの "UNIXシステムチューニング" (アスキー出版局) の pp175,"4.5.3 スワップ領域の分散" の項で、以下のように 解説されています。

最良の性能を得るためには、スワップパーティションやスワップファイルを できるだけ多くの異なったディスクに置く必要がある。しかし、システムに 高速ディスクと低速ディスクが混在している場合、スワップにはすべて高速 ディスクを使用しなければならない。

(目次)

4-8: Sun-3/80が、ある日ブートできなくなった。

--PRUGの宮森さん

原因:
ID/NVRAM(eeprom,idprom)の内容が消えた。
対策:
内容が消える前にデータを保存しておき、ID/NVRAM の内容をモニタコマンドで 書き込む。データの保存方法は、
    # cp /dev/eeprom myeeprom.dat
とでもします。紙に印刷しておくと安心です。

ID/NVRAM は、q コマンドで書き換えられますが、HOSTID やイーサネットアドレス などの書き込み禁止領域があるようです。当方で確認している書き込みアドレスは、

    0xfef04800〜0xfef04fff
です。モニタの o コマンドを使って書き込みます。

書き込んだ後も内容が消えるようなら、ID/NVRAM の内蔵電池の消耗が考えられます。 マシンの購入先や秋葉原の部品やさん等で SGS-Thomsonの MK48T02B を注文して 手に入れます (私は実際に注文したことはありません)。

(目次)

4-9: Quntum105 で、ディスクが読めなくなってしまいました

Quntum105 には、ヘッド固着がおきやすく動かなくなるという問題点があります。 24 時間運転を行っている場合はよいのですが、しばしば電源を止めるようなら 交換したほうがよいかもしれません。ディーラに電話すると、シリアルによっては 無償で交換してくれるそうです。

などすれば一応動くようになるそうです…。

(目次)

4-10: NEC 1.2MB MS-DOS FD は、読み書きできるか

まずは、ハード的な話。現在、NEC 1.2MB をサポートしている、Floppy を搭載 しているモデルは、以下のものだと思います。 どちらかといえば、Sol2.X が標準でついてくるような、新しいプラットフォーム のものです。詳しくはサポートに問い合わせるか、カタログで確認して下さい。 なお、SPARC 互換機である JCClassic では、NEC FD を読めないそうです。

従来の、SS1, SS1+, SS2, IPC, IPX といった古いタイプのモデルでは、Floppy のドライブを交換すればできそうです(やった人連絡下さい)。

次にソフト的な話。

Solaris1.1 は OK、2.2 は volume manager と同時に使えないというバグが あるようです。

Solais2.* では、File Manager のメニューを使って、NEC-DOSを選んで format すれば mount でき、98でも読み書き可能だそうです。ただ、すでに format されているdiskを読んでも毎回、Unformatted Floppy の menu が出てしまう そうです。OS の Version-up に期待したいところです (今はどうなっているの でしょうか?)。

SunOS 4.1.* では、mtools の改変版によって読み書き出来ます。 このパッチは京大マイコンクラブの伊藤 康史さんによるもので、

  
    Newsgroups: fj.sources
    Subject: mtools-2.0.7 patch for Japanese 2HD (1232KB) format
    Message-ID: <2gmgkn$785@hemp.imel.kyoto-u.ac.jp>
として投稿されています。

(目次)

4-11: メモリを増設するには、どの順に、4Mb SIMMをいれていけばいいのか。

純正のメモリオプションには、マニュアルが添付されておりますので、 それを参照して下さい (機種によって違いがあります)。

ちなみに、 --麦谷 浩平@ジュース奈良さん

    SS-1,SS-1+

           前面  HDD

           L         R
       ========= ========= 0        4枚で、1組。
       ========= ========= 1        (0L,1L,2L,3L)(4L,5L,6L,7L)
       ========= ========= 2        (0R,1R,2R,3R)(4R,5R,6R,7R) が、組。
       ========= ========= 3          4Mbx9 SIMMを、先に充填する。
       ========= ========= 4          残った場所に、1Mbx9 SIMMを入れる。
       ========= ========= 5          SIMMは、いずれも、30pinタイプ。
       ========= ========= 6
       ========= ========= 7

           背面  

    SS-2,IPCについては、後日。

(目次)

4-12: アクセスタイムなんぼのメモリを使うべきか。

IPC,SS-1+,SS-2で、80ns以上。SS-1では、100nsでも動くかもしれませんが、 機種に依存しますので、それぞれ対応機種を確認のうえ購入して下さい。

(目次)

4-13: NeWSprint1.0 が止まってしまって、再起動しないと動かない。

以下のパッチが出ています
    Patch-ID# 100351-01
    Synopsis: NeWSprint queue hangs up when out of paper
  D  ate: 13-Aug-91
ところが、これでも直らないという情報もあります。バージョンアップすれば 直るのでしょうか? (未確認)

(目次)

4-14: キーボードを取り換えたい (TYPE 4, 5 キーボードの種類について)

まず、Sun のキーボードの種類について簡単に説明します。

SS で使う TYPE 5 キーボードは主に3種類あります。

Type4 と Type5 では Qwerty 部分や CTRL キーなどに大きな違いはありません。 決定的な違いは Type4 では独立していなかったカーソルキーなどが独立している ことです。このため、感覚的には2まわり分ぐらい横に大きくなっています。

キートップが英語なら UNIX の TYPE 5 という訳ではなく (日本ではあまり お目にかかることはないと思いますが) アメリカやイギリスの TYPE 5 という のもあるそうです。決定的に違うのが Esc の位置で、Help キーの右隣にある のが各国語の、tab の上にあるのが UNIX の TYPE 5 です。

これらの扱いは、ディーラ・代理店によってかなり違ってくるようですので、 まずは担当の業者に相談してみて下さい。なお 1994 年現在で、値引き前で 60000 円強くらいだったという話を聞いたことがあります。海外の通信販売 等が利用できるなら、もっと安く換えるでしょう。 (Sun Type4 keyboad の コンパチキーボードが $150 というのがあったそうです) --笹部哲郎さん

最近、ハードウェア的には JLE Type5 互換だけれど大きさは XMiNT の キーボードなみ、配列は ASCII +カナで10キー無し、というキーボードが 販売されています。複数の業者が扱っていて例えば笹部のところには伊藤忠 テクノサイエンスを経由して買ったものがありますし、Sun Express でも 扱っていますが、モノはすべて同じようです。

このキーボードは大きさ配列とも多くの Type 3/4 ファンを納得させるものと 思いますが、問題もあります。キーストロークが浅くちょうどノート PC の ような感じです。好みが別れるでしょう。Type 3 のキータッチが好きな人は 耐えられないかもしれません。

(目次)

4-15: 日本語 keyboard を 英語 keyboard と思い込ませる方法はないでしょうか。

--村上@松下ソフトリサーチさん (Approved: 東大電気の大野さん)

(目次)

4-16: Sgi (Indigo/Indy) でリストアしたテープは、Sun で読めるのか?

    %dd if=/dev/rst0 conv=swab | tar xvf - 
で読めますが、最初から Sgi の方で
  
    % tar cvf /dev/tapens
としたり、リモート・ログインできるならば SUN のドライブを使って
    % tar cvf sun:/dev/rst8
とする方が、簡単でしょう。

(目次)

4-17: CD-ROM や MO, FD を一般ユーザーが mount するよい方法はありませんか。

Mount.c というプログラムを setuid してインストールすることによって とりあえず可能です。もう少し便利なものが欲しければ… --稲木孝明@松下電器情報システム名古屋研究所さん

以前 comp.sources.misc に流れた、

  
    comp.sources.misc v22i031-v22i033
    mntdisk - Allow general users to mount disks, Part01-03
がお勧めです。 などのコマンドがインストールされ、一般ユーザから各種のリムーバブルメディアの 制御が可能になります。

マウントやイジェクトだけでなく、FDの初期化などもできるので便利 :-) syslog でログも残せるので管理者としても便利ですし....

(目次)

4-18: NeWSprint 2.1J がプリント中に止まってしまい、lpq で見ると unable to print: too little DVMA space to print といわれる。

2.1J の known bug で、今のところ patch は出ていません。

(目次)

4-19: SPARC Classic で NeWSprint が使えないんですが。

SunOS 4.1.3c の known-bug だそうです。/usr/sys/sun4m/conf にある config ファイルの
    device-driver audioamd 
という行をコメントアウトして カーネルを再構築すればいいです。LX では 問題ないようです。

(目次)

4-20: IBMPC 互換機用の 72pin SIMM は SPARCclassic/LX や IPX に使えますか?

パリティなしのものは残念ながらだめです。アクセスタイムは 70ns で大丈夫 とのこと。SLC では 4MB のものが、ELC/IPX なら 16MB のものも使えるそうです。

(目次)

4-21: 日本語 Solaris2.3 で Cannon LaserShot を接続して使いたいのですが。

--前川@日亜さん

アンサーセンターによると LaserShot を使うには手動で

    # chown lp /dev/term/a
    # chmod 600 /dev/term/a
    # lpadmin -p プリンタ名 -v /dev/term/a -I simple
    # lpadmin -o cs8 -parenb -istrip onlcr ixon -tabs
      ±^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      この行はエラーがでて受け付けてくれなかったので設定しませんでした
    # accept プリンタ名
    # enable プリンタ名 
と設定すればできるそうです。設定する時は admintool で登録済みのプリンタ名を 削除しておいて下さいね。(でもこれだけでだめだったので以下へ)

次に、この後に /etc/lp/interfaces/ プリンタ名というファイルができるので、 これを書き換えます。このファイルは lpr によってインターフェース設定および フィルタに使われるシェルスクリプトです。書き換えるところは 547 行目から stty でインターフェースの設定をしてるので、stty のオプションをプリンタの 設定にあわせてやります。(bps,parity,stopbit等々)詳しくは man stty で見 て下さい。

それと onlcr を -onlcr へ変更するのを忘れないように。これをしないとイメージ データが正常に出力されない場合があります。またヘッダバナーを出力させない ようにするには、332 行目の nobanner を yes にすれば大丈夫です。

--小山田@富士通ネットワークエンジニアリングさん

設定方法は以下の通りです。

    lpadmin -p プリンタ名 -v シリアルポート名 -o nobanner -o
          "stty='回線速度 cs8 -parenb -istrip -opost -tabs'"
tab の設定がうまく行かないことがあるので stty で設定して下さい。

最終的な設定は

    [lpstat -p lw2 -lの出力結果]
    
    printer lw2 is idle. enabled since Fri Feb 25 20:04:38 JST 1994. available.
            Form mounted: 
            Content types: simple
            Printer types: unknown
            Description: Canon LASER-SHOT A-304
            Connection: direct
            Interface: /usr/lib/lp/model/standard
            On fault: write to root once
            After fault: continue
            Users allowed:
                  (all)
                  Forms allowed:
                  (none)
            Banner not required
            Character sets:
                  (none)
            Default pitch:
            Default page size:
            Default port settings: 19200 cs8 -parenb -istrip onlcr ixon -tabs 
この設定で一応は印刷できるようになりますが、LASER SHOT の場合 (というか LIPS では) ジョブという概念があって、ジョブ開始や終了の LIPS コマンドを プリンタに渡すようなフィルタが必要です。フィルタは awk 等で簡単に作れますが、 このフィルタを lpfilter コマンドで登録しなければなりません。私の所では これがうまくいかないので、alias で回避しています。
    alias lpr 'lips3 \!* | lp -o nobanner'
lips3 は以下のような awk script です。
    #!/bin/awk -f
    BEGIN {
        printf("^[P31;300;2J^[\\")          # ジョブ開始 (LIPS3 300dpi EUC)
        printf("^[<")                       # ソフトリセット
        printf("^[[4 L^[[10`^[[0t")         # 行ピッチ      (8LPI) 
                                            # 水平絶対位置移動 (10)
                                            # マージン設定 (左)
    }
    {
        print
    }
    END {
        printf("^[P0J^[\\")                 # ジョブ終了
    }

(目次)

4-22: Solaris2.x でプリンタが上手く繋がらないのですが。

Solaris 2.x の lp まわりには「死ぬほど」バグがあるらしく、"lp jumbo patch" という lp モジュールをほとんど総入れ替えするオフィシャルパッチが出ている そうです。例えば
    Patch-ID# 101317-04
    Keywords: lp bug fixes
    Synopsis: SunOS 5.3: lp jumbo patch
    Date: Jan/11/94
の README によると、FIX された bug ID はおよそ 100 個ほどあるそうな…。

(目次)

4-23: ○○というディスクのディスク情報がわかりません。

comp.sys.sun.admin に、format.dat が定期投稿されているので、それを使うと よいでしょう。

また、HDD を物理的に接続してから、scsiinfo というプログラムを -F オプションとともに用いると、disk_type の出力が format.dat の形式で 出力できます。

Mac に継いで何とか…というのも、あったような気がする。

(詳しい方、教えてください)

5. アプリケーションに関する質問

5-1: mh-6.8 の設定で From にホスト名を入れないようにしたい。

まず、案外知らない人が多いのですが conf/examples の下に主要機種の 設定例があります。参考にして下さい。 READ-ME を読めば分かるのですが… conf/MH に option: DUMB または options BERK といれて下さい。

(目次)

5-2: SPARCstation 用の dialup PPP の patch2 が当らない。

dp-2.3-vpatch2.tar.gz が壊れている可能性があります。 正しいアーカイブは以下のサイズになっています。
    FILE      rw-r--r--     27379  Sep 16 13:55   dp-2.3-patch2.tar.gz
    FILE      rw-r--r--     44696  Sep 13 13:02   dp-2.3-patch2.tar.Z

(目次)

5-3: CAP を使って unix から LaserWriter の類に印刷するときに、時々同じ データが複数部印刷されてしまうことがある。

--佐々木@東大情報さんのサマリ

原因:
プリンタドライバ papif は、デフォルトでは、印刷指令後一定時間 経過した後にプリンタの状態を調べる。

ここでもし印刷が終了していないのにもかかわらずプリンタが idle 状態に なっていれば、印刷指令が届かなかったとみなして再出力指令を出すように なっている。

この判定部分が正しく動かない場合があり、印刷が成功しているのにも かかわらず、papif が印刷を再試行してしまうことがある。これが、問題の 原因であった。

この判定部分は、papif.c の中にあり、IDLESTUFF というフラグにより判定& 再試行を行うかどうかを制御する。

対策方法:
次のうちのどれかを行うことで、この症状はなくなるようである。

(目次)

5-4: Sun 上で KODAK PhotoCD を利用する方法を教えてください。

--矢向@NKKさん

私の知識が古いので、情勢が変わっているかも知れませんが(と但し書き)。

xv や hpcdtoppm などのソフトウェアの話以前に、繋ぐ CD-ROM Drive によって データが読めるかどうかという問題があります。Photo-CD つまりマルチセッションの CD-ROMは、Solaris2.3 から対応されると発表されていました(使ったことがないので 真実は知りません)。これは、Drive がマルチセッションに対応していて、挿入した CD-ROM がマルチセッションでもマウントができますよと言うことだと思います。

では SunOS4.1.3 ではマウントできないかと言うと、そうでもありません。 というのは、初期の頃の Drive を使えば、当時はマルチセッションなどという規格が ありませんでしたから、普通の CD-ROM だと認識しちゃいます。だから SunOS4.1.3 もマウントしてくれます。逆に、Photo-CD 対応などと唱っている Drive を使うと、 マウントできません。

ただし、古い Drive でマウントできちゃうとは言っても、あくまでシングル セッションとしてマウントしてしまうので、最初に書き込んだデータしか読む ことが出来ないはず。つまり追記したりファイルの順番を変えたりという情報は 無効に扱われるはずです。

ソフトに関してもあまり最新情報をフォローしていないんですが、hpcdtoppm で ppm フォーマットに変換できることは確認しました。hpcdtoppm のフォーマット 変換ロジックを xv に入れ込むパッチも流れたと思います。

ただし (但し書きが多いな)、Kodak は Photo-CD のファイルフォーマットを 公開しておらず、hpcdtoppm は著者 Hadmut Danisch が Photo-CD のファイルを 独自に解析してロジックを組んだプログラムなので、色の再現性が忠実ではないと 言われていますが、ただ画面で見て楽しむぶんには充分だと私は感じました。

忠実性を確保したければ、Kodak からライセンスを買って組んだソフトを利用する ことをお勧めします。

(目次)

5-5: SunOS 4.1.3 上で動く ZMODEM や BPLUS 対応のファイル転送プログラムは ありませんか?

telnetx というプログラムを試して下さい。ZMODEM や BPLUS のファイル転送 プログラムが付いてきます。結構有名なソフトですから、各地の ftp サイトに あるでしょう。

6. 謝辞

本文最後に示した方々以外にも、多くの方々から助言を頂きました。大変感謝 いたします。

(目次)


DNS & BIND 改訂版のページへ戻る/ 全タイトル・リストへ戻る/ O'Reilly Japanホームページへ戻る