Remoty
2014/11/23 改訂(v.3.0)
2014/10/30 改訂(v.2.1)
2007/10/16 改訂(v.1.1)
2007/09/24
改訂の要点
ver.3.1 への改訂のポイント
- multi-files drag&drop
ver.3.0 への改訂のポイント
- refreshed code and looks
- improved user's interface
- full HTML5 (discarded frame tags)
Ver.2.1 への改訂のポイント
- drag&drop upload のサポート
- Pegasus の handler の書き方が簡略化された
Remoty とは
概要
Remoty とは Web ブラウザを通じてサーバー上のテキストファイルを編集するツールである。 もちろん Web ページの作成を目的としている。HTML ファイルなどの編集結果が直ちに確認できるので、効率良く Web ページを作成できる。
さらに画像などのファイルは、ドラッグ・アンド・ドロップでアップロードできる。
従って Remoty を使えば ssh や ftp を使う必要がない。
CGI ファイルの場合にはプログラム自体がサーバとの関わりが強いために、サーバー上で直接的にファイルを編集できる Remoty は特に威力を発揮する。
さて現在の Remoty の機能は以下の通りである。
テキストファイルの編集、画像ファイルのビューア、ディレクトリの編集、ファイルのアップロードなど通常に見られる他のリモートファイル管理システムの機能の他、ブラウザからコマンドが実行できる。
サーバのテキストファイル編集
- save + view で、HTML ファイルの見え方がブラウザで直ちに確認できる
- タブキーが入力できる
- ウィンドウサイズの変化にともない、ファイルの編集エリアも自動的に調整される
図1. Remoty の編集画面
画面の右上の「more」をクリックすると、次のメニューが現れる。
図2. Remoty の more メニュー
なお、インデントサイズの欄(図では 2 となっている)を空白にすると、タブを指定したことになる。
サーバーのファイル管理
GUI によるファイル管理の初等的な方法を提供している。
図3. Remoty のファイル管理画面
directory メニューの中には以下の項目が含まれる。
- ファイルの削除
- ファイルのコピー
- ファイルの移動
- ディレクトリの作成
- ファイルのアップロード
Drag&Drop アップロード
左側のファイル一覧のエリアにファイルを落とす。Remoty Ver.3.1 ではマルチドロップがサポートされている。ディレクトリの丸ごとドロップはサポートされていない。同名のファイルが存在すれば、上書きするか、それともキャンセルするかの警告が表示される。
図4. Remoty の Drag&Drop
システムコマンドの実行
システムコマンドが実行できる。シェルスクリプトであるから、複雑なコマンドが実行可能である。Plan9 のコマンド環境は Unix と似ている。(Unix よりも易しくてかつ強力)
図5. Remoty のコマンド実行画面
Ptt とのインターフェース
また ptt とのインターフェースを備えており、Web ページを楽に作成できる。HTML で直接 Web ページを作るのは苦痛である。HTML は僕にとっては必要以上に強力で、マシン語でプログラムを組む状況を想起する。現在では誰でも高水準言語でプログラムを書いているように、もっと扱いやすい形式で Web ページを書きたい。ptt は Web ページの世界の高水準言語である。
現在の所は Remoty はまだ荒削りで、他の類似製品程の見栄えはしない。しかしコマンドが実行できる事は極めてありがたく、あれもこれもとメニューを追加する必要がないので、至ってシンプルに(そして素人目にはシンプル過ぎる程に)画面構成ができる。
インストール
Remoty は Plan9 の Web server である Pegasus のアプリケーションであり、http://p9.nyx.link/netlib/webappls/
に置かれている。
Remoty をインストールして handler に次の1行を加える。
もちろん Remoty へのアクセスはパスワードで保護しておく必要がある。
/remoty/* - + /bin/remoty /doc
必要なもの
ここに "ptt" は HTML ビルダーであり、Lua-5.2 で書かれている。
多くの依存性を持ち、インストレーションが煩わしいので netget
コマンドが準備されている。これを使うと
netget -i remoty
http:/netlib/netget/
に置かれている。
Remoty は "miniajax1.js" を使っている。これは
http://p9.nyx.link/lib/miniajax1.js
すべての実行ファイルは http space の /bin
に見える必要がある。
また miniajax1.js
は /doc/lib/
の中に見える必要がある。
筆者のケースでは:
- /usr/web/bin/rc/
remoty
,formparse
,hfmt
,urldecode
- /usr/local/bin/rc/
cpdir
,ptt
,rit
- /usr/arisawa/www/doc/lib/
miniajax1.js
使い方
URL
筆者の場合:http://ar.nyx.link/remoty/
文字コード
文字コードは UTF8 に統一されている。Windows の場合には注意が必要である。
日本版の Windows の文字コードは SHIFT-JIS なので、テキストファイルを Drag&Drop でアップロードすると文字化けする。WebDAV を使うときも同様である。
編集画面に Copy&Paste で貼り付けると、文字コードの問題は解決する。
問題点
Remoty は HTTP5 をサポートしているブラウザで動作する。Firefox, Chrome, Safari, Opera, IE11 の動作が確認されている。
デバイスも、PC などの他に、iPad や Nexus7 での動作が確認されている。
Remoty は編集ツールなので、すべてのブラウザで均一に問題なく動作する必要はないことに留意しておこう。
現在までに知られている問題点をまとめる。
スタート
スタート時に too many redirect のメッセージが出るか、あるいは正常な初期画面がでない。
この現象は Safari と Opera で時々発生する。キャッシュが関係しているらしい。
対策
- キャッシュを空にする
- 構わず読み込みを続ける
保存
テキスト編集画面で save をクリックしても、保存されていないことがある。(保存された時は「Remoty」の文字が一瞬動くので、気がつく)
この現象は、Chrome で確認されている。
Chrome が行うキャッシュと関係しているらしい。
キャッシュを空にすると解決する。
Drag and Drop
Linux/Chrome は Drag and Drop が働かない。
File upload (from dir menu)
iPad iOS8
次のブラウザはファイルアップロードをやらないようだ。(注1)またダウンロードした結果は消えてしまう。
Safari, Opera, Chrome
Puffin はファイルアップロード/ダウンロードができる
写真の他、Dropbox のファイルもOK
upload されたファイルの名前は image.jpg になっていた。(固定されているらしい)
従って1枚づつしか送れない!
問題が少ないブラウザ
Chrome や Safari はキャッシュがいたずらをすることがあるようだ。Firefox が一番素直。(遅いけど...)