メモ ※ ○ の部分は作成中です。 ○パッチ ftp://plan9.bell-labs.com/plan9/update/ ●CPUサーバーとの接続、切断 cpu -h システム名(cpu または p9auth) でつながる。プロンプトが cpu% となる(<ホームディレクトリ>/lib/profile の内容による)。 cpuサーバーとの接続を切断するには、exitを入力する。ただし、cpuサーバー 上で動かしているウィンドウを閉じておく必要がある(閉じないとexitがブロッ クされる)。 ●キーボードについて UNIXのCtrl-Cに当たるもの PC Delete Sun NumLock(SunのDeleteキーは、Backspaceキーと同じ) PCの Caps Lock キーは Ctrl キーとして機能する。 81/2の入力方法 PC Altキーを押しながら1と2を続けて押す。 Sun Composeキーを押してから(離す!)、1と2を続けて押す。 ESC キー 矢印が変化し、キー入力がアプリケーションに送られなくなる。ただし、キー 入力は受け付けられていて、もう一度ESC キーを押した時に、アプリケーショ ンに一度に送られる。 その他の特殊文字(記号)の入力方法 /lib/keyboardを見る。第3フィールドの文字(記号)を入力するには、 Sunでは、Composeキーを押してから(離す!)、第2フィールドの文字を入力する。 ●マウスについて PCのマウスが認識されない場合(ターミナルの場合)は、 aux/mouse -dC を試してみる(このオプションについてはドキュメントに記述なし)。 ●ユーザーの登録 認証サーバーのコンソールで auth/changeuser <ユーザーID> この時に、パスワード等の入力を行う。 ファイルサーバーのコンソールで newuser <ユーザーID> この操作により /usr/<ユーザーID> ディレクトリが作成される。 ターミナルでログインする。まだ、この状態ではウィンドウシステムは動作し ない。 /sys/lib/newuser を実行するとホームディレクトリの下に bin lib tmp ディレクトリが作成さ れ、lib の下にログイン時に実行される profile ファイルが作成される。こ の中でウィンドウシステムを起動するようになっている。次回ログインした時 は、自動的にウィンドウシステムが起動される。 ※PCの場合、マウスが認識されない場合には、何も操作ができなくなる。 ○ユーザーの登録(その他) ●ユーザー毎の設定 ホームディレクトリの下の lib/profile を編集する。 ○起動時に実行されるもの /rc/bin/cpurc /rc/bin/termrc ●ネットワーク上のホスト情報 ネットワーク上のホスト情報は、/lib/ndb/local に記述する。 ●ftpfs term% ftpfs 192.168.121.5 220 linux FTP ... User[default = ishida]: anonymous 331 Guest login ok, ... Password: リターンキーのみ 230-... ... term% これでFTPサーバーの内容が(開いたウィンドウ内の) /n/ftp に見えるように なる。ただし、コネクションは張られたままである(ウィンドウを閉じればコ ネクションはクローズされる)。 unmount /n/ftp でコネクションをクローズできる。(カレントディレクトリが/n/ftp 以下でな ければ)この時、 ftpfs: mount read と表示されます。 ※ftpfsを使用した時に、anonymous以外のユーザー名を入れると、/n/ftpに login時のホームディレクトリが見える。Plan 9からは、ホームディレクトリ の親ディレクトリは見えない。 ●b.comに付ける引数(デフォルトはplan9.iniに記述されているもの) 引数 説明 s!0 --- plan9 boot(?) partition にあるもの(9pc 9pccpu 9pcdisk 9pcfs) sd!0 --- dos partition にある 9pcdos(インストール画面に移行する) ●タイムゾーン 一度次のことを実行する。ターミナルから行う場合は管理用アカウントで行う。 % cd /adm/timezone % mv local local.org % sam local ファイルの内容 --- ここから JST 32400 JDT 32400 0 10 ファイルの内容 --- ここまで JDTは特に意味はない。 /sys/src/libc/9sys/ctime.cのreadtimezone()が次のファイル形式でないもの は、エラー扱いとし、GMTをセットするようになっている。 タイムゾーン名A AのGMTとの差 Bタイムゾーン名 BのGMTとの差 Aの代わりにBを使う期間の始まりと終わりの組(1970年からの秒数) 時間を合わせるには、ファイルサーバーのマシンのdos上でGMTに合わせておく。 (dosのtimeコマンドを使う) ファイルサーバー上で date -秒 または date +秒 で行っても良いが、再起動した時に時刻が狂う。 ファイルサーバーやcpuサーバーは、ファイルサーバーのマシンの時刻を合わ せてから再起動すると自動的に時刻が合う。 ※ファイルサーバーとcpuサーバーやターミナルの時刻表示(タイムゾーン)は 違うので注意! ○フロッピーへのアクセス ●Wingate経由のalbertへのtelnet term% telnet -r 192.168.121.6 connected to tcp!192.168.121.6!telnet on /net/tcp/0 Wingate> albert albert … … BSDI BSD/OS 2.1 (albert.… login: ※内部のホストにつなぐ場合でも、プロバイダにダイアルアップしてしまう。 ○Mail ●Sunターミナルのカラー化 fb/getmap 9 を実行する(ブート時に実行されるとVol.2のp.335には書いてあるが...)。 fb/getmapには、/lib/fb/cmapにある物が指定できる。 ●フォントの指定(日本語表示) exec 81/2 -s -f /lib/font/bit/pelm/unicode.9.font /lib/font/bit ディレクトリの下にあるunicodeフォント(拡張子がfontのもの) pelm/unicode.8.font 漢字とASCIIフォントの大きさが違う pelm/ lucm/ lucida/unicode.8.font 日本語表示できない。 lucida/ 3つのフォントしか試していない。 ●エディター ed と sam がある。 samの簡単な使い方(ファイル名 sometext) 1.sam の起動 term% sam sometext 2.マウスの右ボタンを押し、"- sometext"を選択する。すると、カーソルの形 状が変わるので、下半分のウィンドウでマウスの右ボタンをクリックする。 新しくファイルを作成する場合は、上半分にエラーメッセージが出るが無視す る。 3.下のウィンドウでテキスト(プログラム)を作成。 4.上半分のウィンドウでマウスを左クリックし、フォーカスを移動する。 5.wと入力する(セーブ)。 6.qと入力する(samの終了)。 このような使い方の場合に 上半分はsamウィンドウと呼び、ファイルのセーブや検索などを行う。 下半分はファイルウィンドウと呼ぶ。 ※カーソル(正確にはドットと言う)移動は、マウスで行う。 普通のカーソル移動見たいなものはあるのか? 何行目の左からどれだけは、samウィンドウで、 <上からの数値-1>#<左からの数値> で可能。 ●Plan 9 の認証について /lib/ndb/local の dom(domain) の記述のところは、ファイルサーバーと認証 サーバーの部分が記述されていれば良い。cpuサーバーのdomainの記述は使用 されていないようである(AUTH(6)を読んだ感じでは、NVRAMに保存された記述 も使用されないようである)。 ●日本語入力方法について 1.まず、日本語を表示できるようにする。 2.ktransを起動する。これはすぐにプロンプトが戻って来る。 Ctrl+E 英語入力モード Ctrl+G 日本語入力モード(Ctrl+Tで漢字に変換。目的の漢字が出ない場合は、 何度も押してみる) Ctrl+K カタカナ入力モード ※漢字変換できるのは、ktransを起動したウィンドウないのみ。 ※辞書は、ktransに埋め込まれています。 ●他のOS上で作成した日本語ファイルを Plan 9 上で表示させる方法 (漢字コードの変換方法) (例)EUCコードのものをunicodeへ tcs -s -f ujis unicode_file -f で指定できるもの(元のファイルの漢字コード) ujis EUCコード jis-kanji JISコード ms-kanji Shift-JISコード jis 上3種類の漢字コードの自動認識 逆にunicodeから変換するには、"-t 漢字コード" オプションを用いる。 char(1), file(1) ●PSファイルの表示方法 page PSファイル名 左ボタン ドラッグすると表示される位置が変わる。 中ボタン 次のページの表示 右ボタン 押しっぱなしでメニュー表示。(ページの選択&終了) ○DNS うまくいかなかった。 ●ゆっくりスクロールさせるには 中ボタンで noscroll にしておく。そして、「ローマ字/かな」キーでスクロー ルさせる。(Sunの日本語キーボードの場合) ○mkfile 内容 ここから(test1.c用mkfile) ... の部分 boot/mkboot スクリプトに terminal の記述はない。スクリプトに記述のな いもの(例えば abc)は、terminal として扱われるようである。 ※ここの部分で terminal か cpu サーバーかが決まるようである。 sscd を書き換え、boot の行の cpu を terminal に書き換えて mk した。 cpu サーバーをこのカーネルでブートした。cpu サーバーで aux/listen il を実行後 terminal から cpu コマンドでつないで見た。 8 1/2: /dev/cons: permission denied 8 1/2: slave mount: write to hungup stream の部分(オプション) bootdisk=""と埋め込まれる。 どこをデフォルトの root とするか指定するもののようである。 ※Plan 9 での boot と root の使われ方がおかしい(良くわからない)? ※awkで書かれているので良くわからない。 の部分 候補リストを指定する root is from (候補リスト)[デフォルト]: boot terminal bootの後の文字列がterminal,cpu il ┐候補リストを指定する tcp ┘ ・/sys/src/9/portにあるスクリプト port/mkextract は、他のスクリプトから呼び出される。例えば、 port/mkextract -u dev 1 コンフィグファイル名(複数指定可)とすると複数の ファイルから dev のところが重複せずに取り出せる。 ファイル名 関係するフィールド mkdevc dev stream link misc port mkdevh dev mkdevlist dev mklinklist link mkmisclist misc mkstreamlist stream mkfileの記述では上のスクリプト(全部ではない)を利用しているはず。 "*list"のものは、シェルのプロンプトからはうまく動かない(予想と違う動作 をする)。mkstreamlist のみ mkfile で予想どおりに動作することを確認した。 mkdevh でプロトタイプ宣言のファイル debtab.h を作成している。 コンフィグファイルに ss を指定した時に、なぜか ss 以外のコンフィグファ イル sscpu sscd も利用している。不要なはずである。port/portmkfile の devtab.h ターゲットのところの記述が $CONF でなく $CONFLIST となってい る。これが間違いかどうかは確認していない。 ○alef aggr --- struct と typedef をあわせたようなもの。 tuple --- 関数の戻り値に複数の変数が扱える。 ●Plan 9 ファイルサーバー用フロッピーのマスターの作り方 UNIX上でddコマンドでコピーする。 linux上の場合の手順 実際にブートに使用しているフロッピーをドライブに入れる。 % dd if=/dev/fd0 of=fsdisk 新しいフロッピーを入れる。 % dd if=fsdisk of=/dev/fd0 新しいフロッピーでブートできるか確認する。 ○RC 標準エラー出力もlogfileに (例) mk 'CONF=ss' >logfile >[2=1] ●UNIX に telnet 後 vi を使えるようにする方法(カーソル、TERM環境変数)。 hpコマンド実行後にtelnetすれば問題ない。 (手順) 1.大きめにウィンドウを開く。 2.hpコマンドを実行する。 3.マウスの右ボタンで24x80を選択する。 4.3の操作で得られたアウトラインに従ってリサイズする。 (エディターは24行だと思って起動する。) ●pc認証サーバー上で cdrom のマウント実験 % 9660srv % mkdir /n/cd % mount /srv/9660 /n/cd '#R4/cd4' (SCSI ID = 4 の場合) /n/cdにcdromの内容が見えた。 % unmount /n/cd ※ インストール後の設定次第では mkdir のところで引っかかるかもしれない。 ○ftp, telnet について ftp は none または anonymous を、telnet は none をユーザー名に指定すれ ば、パスワードなしでアクセスできてしまう。(セキュリティー上よくない) -Nオプションをつければいいらしい(テストしてません)。 ※Unix から Plan 9 の man を読むのに便利。