2013年10月7日月曜日

Zero Install再び。Tera Termをインストールする2

このエントリは、 以前に書いたもの を Zero Install Publishing1.0 用に書き直したものです。

はじめに

以前にも書いたZeroInstallのエントリですが、Zero Install Publishing が新しくなり、 大幅に機能が増えましたが、前バージョンで自動でやっていたものが、今度は手動で設定しな くてはならなかったり、少し不親切なインターフェースになったので、書き直すことにします。
かなり頻繁に更新されているので、このエントリもすぐに古くなるかもしれません。
書いてるうちに1.0.3になってしまいました。大幅な変更はないと思います。

Zero Install Publishing toolsをインストールする

まずZero Install を使ってソフトウェアをインストールするためには、フィードを作成する必要があります。 フィードはXMLファイルですが、使いやすい作成ツールが用意されています。 ツールはZero Installでインストールできるため、まずZero Install自体をインストールしましょう。
Zero Installを ダウンロードページ からダウンロードします。 PCを使用しているユーザー全員が使用できるようにするには、「For administrator」を選びます。 全員に使用させたくない場合は 「For users」 、USBに入れて持ち歩きたい場合は、「For travelers」 を選びます。
どれでも構いませんが、ここでは「For administrator」をインストールすることにします。
インストールが終わったらスタートメニュー(画面)からZero Installを起動します。
起動後、「Catalog」タブを押すとソフトウェアの一覧が表示されます。
中に「Zero Install Publishing tools」というものがあります。 右の「Run」というボタンを押せばダウンロードが始まり、ダウンロードが終わると実行することができます。 毎回一覧から探すのは手間な場合は「+」ボタンを押して「My applications」に登録しましょう。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFmc4pDPXKDTeXVIvWNjtriBtuiXOX9ilHTw4G_bkoX1V02PVK5wenAWzqPhLS-J249_2nGoOqg7ScZ2-7csGGi92sQE3qn2cI-xkWhCVPmYIudL3G8MatiPL4tz-NxWTrzE_DylmOCVe7/s1600/zi02.png
Zero Install Publishing toolsを起動させると、ダイアログが表示されるので、 新しくフィードを作成する場合は「New Empty Feed」を、作成したフィードを編集する場合は、 「Open Feed」を選択します。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcEIf_WW7zZbaT7kG-QATTHlQjoGG8PK-0M9sRaU5tz4fRFgauQvVBDlXfaPDIWRynlFZAbIIVy7xDPV-DM_jupJyXBMLMhsrhSNcAvUldw0ql-wD4L8ij40gS_BjUFzZRNhyphenhyphencu8PvsqR1/s520/screenshot.20130915_090820.png
ここで、「New Empty Feed」を選択すると、設定画面が開きます。

Tera Termのフィードを作成する。

基本情報の入力

フィード作成を開始しましょう。 Zero Install Publishing toolsを起動すると、 左側に要素名が、右側に選択された要素の属性の一覧が表示されます。
初期状態では、左側にインターフェース要素のみがあり、 右にインターフェース要素の属性が表示されます。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjLyHR_DqJi7_YegtJV1Mr3T2c4Ba4LkNVpCoxhLCy7wLuNCCfIx89HGmYzGq2D2pMKk8tFAtJEhlQjYJFE38UpbZtcIo0iQSbimOPYalTyU2-vFHgeyroPaX_WUh3AH135Z5Px2tYO-2v/s520/screenshot.20130915_091000.png
フィードの作成は、このインターフェースの下に要素を作っていきます。
まず、基本となるインターフェース要素の設定を行いましょう。 今回は以下のように入力しました。
Name:「Tera Term」を入力
Uri:入力しない。
Summary:「en」を選択、右に「Terminal emulator (communication program)」を入力。
Description:入力しない。
Homepage:http://ttssh2.sourceforge.jp/」を入力。
Minimum:最新版を選択。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSts8lYstdyyTR30M4OCI2gvP00OgL3cYJYQzXULleRzd28_57H8RjrlubTfLVMruQPIz41eXSXSwPeKoTegmGYU07YtVaR0oZTVcXaNxK5OOX5xtOC7XrH1bOfi-BYss0zpi-qfcAPG3G/s520/screenshot.20130915_092327.png
Uriについてはフィードをインターネットで公開する場合、公開するURLを入力します。 今回は公開しないローカルフィードですので何も入力しません。
SummaryやDescriptionは複数の言語で入力出来ます。 デフォルトでは英語「en」となっているので、 日本語の説明も入れたければ「ja」や「ja-JP」を選びます。
コマンドプロンプトで実行するコマンドはneeds Terminalを選択しておくと、インストール後、 設定すれば、PATHが通る位置にコマンドを入れてくれます。
Minimum Zero Installについては、古いバージョンで使えない新しい機能を使っていなければ、 古いバージョンを選択してもいいはずですが、古いバージョンでどの機能が使用できないのかわからないので、 最新版を選択しておきました。

グループの作成

フィードにはインストールするソフトウェアの複数のバージョンやプラットフォームを登録することができます。 また共通の項目はグループに設定しておくと、共通の設定を一か所で記述することが可能です。 グループはなくてもかまいませんが、後々便利なので、とりあえず1つは作っておいたほうがいいでしょう。
グループで設定出来る項目はバージョンや実行ファイル名、動作するプラットフォーム、ライセンス安定版など色々あります。 グループは複数個、複数階層作成することが可能なので、必要なだけ作成します。 とりあえずTera TermはWindows版しかありません。構成などは配布物間であまり変わりがないので、 ここではグループを一つだけ作成し、その中に各バージョンの情報を入れることにします。
ではグループを作成します。interfaceが選択されている状態で、Addを押し、groupを選択します。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQEvZ5tfqsfd1cqMej2D-JBkDx0tfxWStEDOnhI41NbRwB3aHBSPbm_ngi9hg6rcFSvuLHf9SBKxmXfqtcUfWOa5HBBByAdzCIAcsQJzji0TyW8WNB_QYclxXETnnwGU2xSfC7kPBMn3re/s520/screenshot.20130915_093210.png
インターフェースの下にグループが作成されます。 右側には以下のように入力します。
Main:「ttermpro.exe」を入力。
OS:「Windows」を選択。
License:「BSD License」を入力。
Language:「en」「ja」「fr」「de」「ru」を選択。
Tera Termを動かすと上の5つの言語が選べるようです。 地域コードはよくわからなかったので省いています。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZgOf1PLxf6YGHWj58tMg-pN0WTJeNcT3VyyR87i4jZsp006IxOecoFhLZ6XFxrpHVb6jwCE7zX7QvVdpQtxaYIlghoPYzGJ2vhDnSbF7z_kpQMqnDeyTydpGbSkgu4Z0V-aFfNLz5G8Fj/s520/screenshot.20130915_093755.png

インプリメンテーションの作成

グループが出来ましたので、その下にインストールするソフトウェアの情報を入力しましょう。
まず、先ほど作成したグループを選び、Addを押し、「implementation」を選択します。 右側の属性はグループの属性とほとんど同じです。 今回はTera Termのバージョン4.77をインストールする設定を行います。 すでにグループで設定した項目はここで設定する必要はありません。 以下のように入力します。
Version:「4.77」と入力。
Released:チェックボックスをチェックし、2013年2月28日を選択。
Stability:「Stable」を選択。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnr5c-jltJScQg5dXbDUEffZ0AdqkyJMjAvQ6FYPkNM4Kygc5UXpfusJSQlZUIVltD-5nfh79f1RJqRLA9hZa5K-QjfIkktMlE9GvbJrvYP3YFITT6-MuTpQtmu2zpAwNnFJXh83HtmYuG/s520/screenshot.20130915_094245.png

アーカイブの入力

まだソフトウェアをダウンロードする場所を設定していませんでした。 ダウンロードする場所を登録するために、先ほど入力したインプリメンテーションをクリックし、 Addを押し、「archive」を選択します。
Source URL:http://jaist.dl.sourceforge.jp/ttssh2/58215/teraterm-4.77.zip」を入力。
MIME Type:「application/zip」を選択。
Extract:「teraterm-4.77」を入力する。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNWuADRDKZuabWLFLdhNSapbJzztPu_9TNftQcWU1GLs3MpxnyZ_YZWPwSHRe2PHwJ-NcSDVCZ3juZZJH9fUlXFP5SwbJdVsjIoWgkoLRYm5ye2ebt7S1dHQabkYFC1Sm5mLQpoVpV0XXe/s520/screenshot.20130915_095424.png
登録できるファイルの形式は「MIME Type」の一覧を見ればわかります。今回はzipファイルを登録します。
ExtractにはZIPファイルをダウンロードした後、ZIPファイルの中から展開するディレクトリ名を入れます。 これについては、一度ZIPファイルをダウロードしてから、ZIPファイルの中身がどうなっているかを 実際に見てみないとわかりません。
Note
ダウンロードはSourceForgeなのでダウンロードをクリックした後、 JavaScriptで飛ばされて、CGIで飛ばされてとなるのですが、最終的なダウンロード先を入力して下さい。 ダウンロードが始まった時点でダウンロードしているURLを見たほうが間違いないかもしれません。
入力が終わったら、「Update」ボタンを押し、アーカイブがダウンロードされ、「File size」欄が 自動的に設定されます。 また、このときインプリメンテーションのManifestDigestが計算されます。
Note
複数のアーカイブやファイルから一つのパッケージを作成したい場合、 レシピを作成し、その中に複数のアーカイブを入れることができます。

インプリメンテーションIDの設定

Warning
最新版1.0.3で確認したところインプリメンテーションIDの設定は自動で行うようになっていたので、 この作業は必要ありません。
アーカイブを登録したら、一度インプリメンテーションの設定に戻り、IDの設定を行います。 IDはManifestDigestからとるため、Archiveの登録が終わらないと設定できないためです。 (前のバージョンでは自動で設定してくれたのですが。)
インプリメンテーションを選択し、IDに「sha1new=」と入力し、 そのあとにSha1Newの属性値をコピーします。
ID:sha1new=88748c4f9a1e6c7e893a56c9c6b136820fed95d3
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7iZRfnbB-6QF6w-bb4ClqdkyoJLtBBFsKaBmUTHZas3SUAPatUcXCYcdG9IlsKUCeoJ6Mxz8TLgNi4-zdlhMVXNtpQu8QhrRwD2iNvk4roduq-zC854tSYlsJVQV9zBDaiyVPbf9dzI18/s520/screenshot.20130915_100831.png
Note
これについては、公式サイトの「Historical note about id」に 説明 があります。 ただし、sha256を入れるよう記述がありますが、sha1newの間違いではないでしょうか。

フィードの実行

ここまで来たら、最低限の設定は終わりです。試しにフィードを実行してみましょう。 まず、フィードを保存します。ここではteraterm.xmlという名前で保存します。 保存するとXMLファイルのほかXSLファイルとCSSファイルが同じディレクトリに作成されます。 これはXMLファイルをHTMLに見やすく整形してくれるものです。XMLファイルをIEで開いてみましょう。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-gIQR1NhoOvvMwseG6ZUxsB2NSXqQ1VGzpUa8xPVmy2f5iDcMxpz7oMW7V5CXq5nUITlT1UD4atvvqI0F_ixCGcyisjghBukd2fwMUWo7-js1y2hxVXEkbadN2SMmRvnHx84o2NndraXn/s520/screenshot.20130915_101023.png
見やすく表示されます。今回はローカルフィードですが、インターネットで公開する場合、 XMLとXSLとCSSをWebサーバーにアップロードすれば同じように表示してくれます。
では、作成したフィードのテストをしてみましょう。 やり方はXMLファイルをZero InstallのウィンドウのMy applicationにドロップするだけです。ドロップするとそのフィードが登録されます。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2xRVChCnyIYQI3Z6fL2UrZhErfoHmPiZiZsOncQw-JCGTXcVtTU740B5KhsKQ263xNcYLmeqpYpjXJZp3p7-1sH9bJVnOYUJOcFzhb0bIATdn2-97JSIteqDn-dBgngYXKWm_0JOl8q15/s520/zi11.png
Note
Zero Installにドロップしただけではフィードが登録されないことがよくあります。 その場合、Zero Installを立ち上げなおしてから、登録するとうまくいきます。
次に右の「Run」ボタンを押すと、ダウンロードが始まり、それが終わると実行されます。 Runの下の左の設定のアイコンを押すと、スタートメニューやデスクトップにショートカットを作成することができます。 コマンドラインのコマンドの場合は、もう一つ「Command-line」という項目が表示されるので それを選べばPATHが通っている位置にコマンド(正確にはコマンドを呼び出す実行ファイル)を入れてくれます。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg20uTfUDCK7nNnOaC6yY8uX59KabJtp0S_XDPB7a7pwHqPJUjGfZkxu_zwmiMda-Yez7JZu64SteeJRZFuvA4cO5qZqto8gkp_lM6xsTKWMGxOBzcb3C74S2S7Z4RJ1Mzr96AR6_VH-MBk/s520/zi12.png
「Run」ボタンの右の矢印を押すと「Select command」「Select version」「Update」が表示されます。 別のバージョンを同時に入れることが出来るのもZero Installの利点です。
TeraTermはデフォルトでインストールされたフォルダに設定を書き込みますが、 書き込み権限がないため、TeraTermの設定を保存することができません。
その場合、マイドキュメントにTERATERM.INIファイルを保存すれば、そこから設定ファイル を読み込むので、設定を保存できるようになります。また、SSH Known Hostの保存先も 設定→SSHから読み書きと書いたボタンを押して変更してください。
詳しくは マニュアル に書いてあります。

アイコンの設定

アイコンを設定すると、Zero Installの画面やショートカットアイコンとして表示出来ます。 画像形式はpngとicon形式のものを2つ登録します。 Icon形式のものについては、デスクトップなどのアイコンに、 png形式のものについては、Zero Installの画面に表示されます。
今回はプロジェクトページのfaviconがIcon形式だったので、それを指定しました。 png形式もプロジェクトページのスクリーンショットにあったものをそのまま使用しました。
画面左からinterfaceを選び、Addを押して、iconを選択し、以下の設定を行います。
MIME Type:「image/png」を選択。
Icon URL:http://static.sourceforge.jp/thumb/g/0/70/180x135_0.png」を入力。
もう一つiconを作成し、以下の設定を行います。
MIME Type:「image/vnd.microsoft.icon」を選択。
Icon URL:http://ttssh2.sourceforge.jp/favicon」を入力。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtMPI2GKVGmIuVx0YDsUmIEoJkHa6nX0e0WidwkC-5su4wcDx6i2FQZhjXpEX6soER3G7qlQrAtd45sedYqJ5gZrVTi42yUeMm7gweXEt2-xFeMwPDpZT9eumo7QUdY_-UyejSdFk-5C2C/s520/screenshot.20130915_104656.png

コマンドの登録

Teratermだけでなく、一緒に含まれている「ttpmacro.exe」も実行できると便利です。
実行コマンドの登録はグループの下でもインプリメンテーションの下でもいいのですが、 Tera Termのバージョンが変わっても実行ファイルは変わりそうにありません。 ということでグループの下に登録することにします。
画面左よりgroupを選択し、Addを押して、「command」を選択します。 以下の設定を行います。
Name:「macro」と入力。
Path:「ttpmacro.exe」を入力。
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH3Hr-FlZkr0Ze8eLwle9vvrFbw1kE7L8AMtq_q6UI_bb5sYzUWXt1_CVERtNTpteSpEEuWVagP-6CjOtzpkpDQqnWjDd0Z3uOHP7KE4Q1IHe2DKoda2rRjgd7vJh2KMZnfqN5w6hWg4-2/s520/screenshot.20130915_103459.png

エントリーポイントの入力

ZeroInstallでアプリケーションリストのSelect commandを選ぶと実行できるコマンドを選択 できますが、選択メニューに表示させるにはコマンドの他エントリーポイントの設定が必要です。
エントリーポイントはインターフェースの下に入れる必要があります。 画面左よりinterfaceを選択して、Addボタンより、end-pointを選択します。
この要領で二つエントリーポイントを作成します。 作成されたエントリーポイントにそれぞれ以下のような設定を行います。
1つ目
Summary:Tera Term
Command:run
2つ目
Summary:Tera Term Macro
Command:macro
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw-jAW82IkNKMpS4xvrl3GdMmVVwJ45ivvF0Wz3Yqq9FdFY_qGFsbIUWEvWr3QbgJb7Bwu_LfrpuLp9x5XgF3Up3vwBhWc0To79aO9fFGkv2crYcU0ORKIXrEpGOIYumhN4R1dfKakBHTa/s520/screenshot.20131007_015147.png

関連付け

.ttl拡張子をインストールしたTeraTerm Macroに関連付け できるようにしてみましょう。
画面左からinterfaceを選び、Addを押して、capabilitiesを選択します。 以下の設定を行います。
OS:Windows
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-ATEFRCLVjehxYpau-guvZvjRh-MEcvevpD5UjJuqBabawtmrssg38Ca_OYJkSQwM6ttXblvuZgXDj6F8M4boXybZs8bSk33j3bIzRh0QaOswO5qtL9G4fHGLMWJR_vGTIoy0rwbnVaSU/s520/screenshot.20130915_105725.png
作成したcapabilitiesの下にいくつか作成するエントリがあるので、一度に作成してしまします。 capabilitiesの下にfile-typeを作成し、file-typeの下にextensionとverbを作成します。
file-typeには以下の設定を行います。
ID:Tera Term.ttl
extensionには以下の設定を行います。
Value:.ttl
verbには以下の設定を行います。
Arguments:“%1”
Command:macro
Name:open
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKM4ObpfPZRKd3kL2pxtcaY1cn3sp-QNqNHDuiXsIUljh4_nXgVAfPU0QkAMo18hBW2S0TF92CVTbzQgjf9ujvMvCNJED8uFqTTAONhQ5XSwmDZTxVtAQ-xRWrfP1dURR6YQxA0qlmkkLe/s520/screenshot.20131007_020925.png
作成した関連付けを有効にするにはZeroInstallで、 設定するアプリケーションの右のコンピューターのボタンをクリックし、 Advanced settingsを選びます。
ここら辺の動作が不安定なところがあり、うまく関連付けできたりできなかったりします。

インターネットで公開する

これでフィードの作成は終わりですが、このローカルフィードをインターネットで公開するためには、 基本情報で入力しなかった「Feed URI」にフィードを公開するURLを入れて下さい。 そして、フィードにGPGで署名を行い、キーサーバーに登録して下さい。
署名の仕方は、コマンドラインで「0launch http://repo.roscidus.com/security/gnupg –gen-key」を実行して、 GPGのキーを作成して下さい。Publishing toolsの右上のGnuPG keyからキーが選択できるので作成したキーを選択して下さい。 保存した時にキーのパスワードが聞かれるので、入力して保存して下さい。といっても私も試していないのでよくわからなかったりします。 詳しくはこの ページ を参照して下さい。
キーサーバーへのキーを登録するとユーザーに警告無しでインストールさせることができます。 詳しくは調べていませんが、 ここ にメーリングリストに投げてくださいと書いてあるので多分メーリングリストで申請すればいいのかと思います。
参考 Packaging guide http://0install.net/injector-packagers.html
Feed file format specification http://0install.net/interface-spec.html
おわり。

0 件のコメント:

コメントを投稿