Tomcat: Simple-Text Web Common Tools
TomcatはLinuxシステムのシングルユーザモードや端末での操作で利用する若干実用的なシンプルなWebツールコマンド群である。これはPhoenix Desktop内のCCD min Systemの一部としてや独立したTomcat Env.としても利用でき、jailによって構成された仮想環境内でUNIX Directoryとして構築される。
このツールではプレーンテキストをメディア形態として採用し、例えばWebサーバのページもプレーンテキストで配置する。非常に簡易で軽量なWebシステムのため、非力すぎるマシンでWeb通信を行いたい場合に使えるものと言える。使いにくいLynxに替わるWebツールとしての役目もある。
例えば掲示板のようなことをやりたいならTomToolsではCGIを建てるのではなくテキストメールを送るための文章の書式をWebサイト内のテキストページで文章で指定して、読者がそれを読んで指定された書式通りにメールを送ってWeb管理者がそれを解読してテキストを書き直してWebサイト内のテキストページに反映させるという手法を取る。この手法はチャットの内容の公開時でも同様である。実際のCGI的な処理は全てユーザーがZ上で行うことになる。
これらのツールはLinux用のパッケージやPhoenix Desktopのシステム拡張モジュールやCCD min Systemの一部としてPhoenixのサイトから提供されている。
コマンド群
テキストはASCIIが推奨だがあるいはUnicodeやUTF-8なども使え、場合によっては日本語ならEUC-JPやShift-JISやJISも読める。どのコマンドを起動しても連動してtomshellも起動し、本来端末レベルで装備することが要求されるページャの機能を利用できるようになる。
UNIXシステムのサブセットのようにjail内のシステムは構成されている。
tomcat:内部コマンドにパスやアドレスを指定してローカル・Web双方のテキストファイルの内容を表示する。文字化けした場合など必要に応じてエンコーディングは指定できる。lsコマンドを併用することによりそのディレクトリのファイルを並列表示可能。テキストは絶対あるいは相対のリンクアドレステキストを含むことが想定され、相対のパスを内部コマンドに入力すればリンク先のテキストファイルを表示可能。HTMLを表示する時は文書の内容のところだけをプレーンテキストで表示する。HTMLのリンクは絶対及び相対パスでカッコで括ったテキストに自動で変換する。
tomfix:POPサーバーからメールを受信する。サーバー内のメールを削除せずにコピーして受信することが可能でありまたこれがデフォルト。メールの内容はテキストファイルとして受信箱に当たるディレクトリに保存される。内容を読むならtomcatを使う。メールが新着したらプロンプトが戻った時に通知を表示する。
tommail:テキストファイルを指定することによりメールとしてテキストを送信可能。宛先と件名と本文としてのテキストファイルを指定するだけでテキストメールを送信可能。送信待ちや送信済みのメールは所定のディレクトリに保持される。テキストの編集はtomviで行う。
tomvi:テキストエディタであり最低限のテキストの編集機能を持つ。ほとんどviのようなソフトだが、シンタックスハイライトのような複雑な機能は持たない。入力モードと編集モードが有り、大体の使い方は普通のviと同じ。編集中のテキストファイルはtomtoolによってロックされるため別のtomviプロセスは編集できない。tomaccで取得したWebサーバーのtomdirで書き込み可能なアクセス権のディレクトリならtomviを使ってオンラインのテキストを直接編集することも可能である。
tomchat:チャットソフトであり、プレーンテキストでチャットをするソフト。tomaccで取得したアカウントで相手のアカウント名を指定すれば、相手の端末に通知を出して、相手が承認すればチャットを始めることが出来る。離席している時は離席のフラグを張ること。チャットソフトとしてはシンプルにユーザー名と会話内容だけをリスト表示して更新していくだけのソフトである。
tomtee:tomchatなどの他のtomコマンドの出力をテキストファイルに保存する。ログを取るような使い方ができるだろう。
tomacc:TomTools用のオンラインアカウントの取得用ツールのコマンド。アカウント名を指定するだけでオンラインアカウントを作ってくれる。そのアカウントではWebサーバーのストレージ容量が割り振られ、メール用のメールサーバーが用意され、チャット用のオンライン上のプラットフォームが利用可能になる。
tomget:Webサーバーからテキスト文書以外の実体的なファイルをダウンロードしてくるためのコマンド。wgetと同様に進行表示が出るのでファイルをダウンロードしている進行状況がわかりやすい。
tomup:tomaccで取得したWebサーバー領域にファイルをアップロードするためのコマンド。大体FTPソフトに似ている。アップロードの進行表示が出る。
tomdir:tomaccで取得したWebサーバー領域でアクセスするユーザーごとにディレクトリにアクセス権を指定するコマンド。<内部コマンド> <ユーザー名>、<ディレクトリ><アクセス権>のように専用の記法のキーを使ってディレクトリにアクセス権を指定する。
tomjpeg:X Window SystemのようなGUI環境がある環境で画像を表示するシンプルなコマンド。JPEGがコマンドの名前だがJPEGだけでなくGIFやPNGも表示できる。自由なリサイズは出来ないものの、段階的な拡大縮小は可能である。このコマンドはオンラインの画像も表示できる。
tomhelp:テキストで書かれたヘルプ。使い方はこれを読んで調べる。
tomlib:プラットフォームとして働くコマンド。TomToolsの様々なコマンドが使うライブラリとしての役割を果たす。
tomshell:ターミナル上で内部コマンドとして履歴を選択できるようにしたりページャの機能を果たすのはこのコマンドである。他のコマンドを実行すればtomshellが自動起動しtomshellの機能は自動実行される。
tomclamd:tomclamdはストリームを監視してclamscanを呼び出して全てのテキスト及びデータのストリームを常時ウイルススキャンする。これはテキストですらエンコーディングの脆弱性を突くようなウイルスが存在しうるからである。
実体のバイナリの名前はもっと長いが、上記のリストではリンクしたシンボリックリンクとして配置される短いファイル名を提示した。
プレーンテキストだと制約が大きすぎるので、太字とリンク色と選択背景色を含んだrtomcatを考える。rtomcatはrtomcatのページの見出しやrtomchatのチャットのユーザー名など強調したいところは太字にし、リンクは青色で、背景選択色は背景白文字黒で選択項目は上下矢印キーで移動できるようにし、これらを記述するためにシンプルなHTMLのようなマークアップ言語であるRTOMMLを利用する。文字化けを防ぐために宣言文を先頭に書き、宣言文を有意的に自動解析で読み取れる文字コードで表示する。rtomshellはインターフェイスのプラットフォームの役割をし、リアルタイム通知、内部コマンド、ナビゲーションバー、ページャ、スクロール、スプリットビュー、リンク、選択、履歴、自動補完、太字の機能を持つ。rtomcatは左右矢印で進む・戻るが利用可能である。またサイトの検索用のインターフェイスを機能として持つ。現状ではrtomcatが実用的であるためプレーンテキストではないRTOMMLをメディア形態として使ったこちらが推奨される。特にRtomcat.Envが環境自体を提供するためより推奨される。最低限の書式がないと識別性や利便性が落ちるため、プレーンテキストを使ったTomcatよりRTOMMLを使ったRtomcatが推奨される。Linux原理主義的な端末においても最低限の書式くらいは表示できる。
以下はUNIX Directory的な手法に関する説明。root権限でアクセスできるのは全体であるが、システムを破壊しかねないためあまり推奨はされない。admin権限を取得するaddo(一時的に管理者権限を取得する。管理者以外でも利用可能)やad(恒常的に管理者としてログインする)は設定作業やインストール作業をするために使うコマンドであり、通常利用のための権限と分けることでアクセスできるディレクトリを分別している。例えば個人のものでないバイナリなどはadmin権限がないと書き込みできない。読み込み権限と書き込み権限は区別されるため、管理者がインストールしたコマンドをユーザーが読み込み権限だけで利用するなどの手法がとられる。環境変数PATHを通すことにより既定のディレクトリにインストールされたバイナリはLaunchPadのように機能として呼び出すことが可能で、カレントディレクトリはGUIのデスクトップ環境での開いているファイルブラウザウィンドウに相当する。他のディレクトリを参照する場合はフルパスや相対パスを記述することになる。独自のコマンドへはパスを指定して実行することになる。カレントディレクトリの手法は一見原理的でないように視えてUNIX Directoryの手法では合理的である。ホームフォルダ内にメディアのカテゴリのフォルダを作り、ディレクトリ構造とメモテキストでライブラリを構築するのが自己責任である。









