試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Hotwireの基本的な部分の覚え書き

(2014/9/27)このソフトウェアは2008年から更新されずに放置状態となっている。

  1. 概要
  2. 起動
  3. コマンドを強制的に終了
  4. 基本的な操作
  5. Hotwireのタブと端末のタブ
  6. コマンド実行結果の蓄積と切り替え
  7. 出力結果からの検索
  8. アプリケーションのシェルなどへのキーボード入力
  9. 出力を別ウィンドウに出す

概要

Hotwireのインストール時の覚え書きとebuild」にも書いているが、グラフィカルな端末/シェル環境で、一部の内部コマンドでは出力結果の部分を操作することができ、デスクトップ環境とも統合されている。

  • lsの結果からファイルを開く/別のアプリケーションやゴミ箱などへドラッグ・アンド・ドロップ/ディレクトリをダブルクリックでディレクトリ移動などができる
  • procの結果の右クリックメニューからプロセスを終了できる
  • cdで過去に移動した階層にはウィンドウ左下のリストから選択で簡単に戻れる

zenityはコマンドとして使用し、別のコマンドと組み合わせてGUIのダイアログを出すが、これとは対照的に、コマンドラインシェルに近い操作感覚の、独自なグラフィカルシェルという形となっている。
CLIの操作に不慣れな人にはありがたい存在となっている例もあり、すでにCLI操作に慣れていて、日常的に使用しているという人にはありがたみが薄いかもしれないが、試してみる価値はありそう。クロスプラットフォームのため、Windows上でも内部コマンドに関しては同じ操作感覚で使えるというのも、意義があるような気がする。
一方で、完成度としてはまだまだな部分も多く、これから先どうなっていくのかが気になる。

起動

(2007/12/8)ディストリのパッケージを入れた場合や「sudo python setup.py install」で手動インストールした場合、デスクトップ環境のメニューに出る。GNOME 2.20では「システムツール」、Xfce 4.4.2では「アクセサリー」に入っている。
起動コマンドはhotwire
インストールせずに、zipファイルを展開した中のui/hotwireから実行することも可能。このファイルに実行属性があり、かつ/usr/bin/pythonが存在すれば、先頭の「python」は省略できる。

python [Hotwireのディレクトリ]/ui/hotwire

これをコマンド名としてランチャに登録するなどしてもOK。

コマンドを強制的に終了

(2007/12/9)yesをそのまま実行した場合など、実行中のコマンドを強制的に終了する場合、通常の端末上ではCtrl+Cで止める(か、killする)。Hotwire上では、Shift+Ctrl+Cで止める。

基本的な操作

ウィンドウ下のテキスト入力領域からコマンド入力を行う。コマンド名/ファイル名/履歴の補完も行える。
コマンド名とファイル名は、自動的に「Completion」という一覧が出てくるので、Tabで切り替えてEnterで確定。現在のディレクトリ階層のファイルを候補に表示したい場合には、「./」を付けると出る。
履歴は、過去に一度入力したことのある部分と(途中の一部分だけでも)マッチすると、「History」という一覧が(Completionと別に)出てくるので、上矢印キーでさかのぼってEnterで確定。

上の画像は、一度「term gksudo -- sh -c 'CCACHE_DIR=/root/.ccache make HOSTCXX="ccache g++" CC="ccache gcc"'」を実行した後で再び途中まで入力したところ。*1

Hotwireのタブと端末のタブ

Ctrl+Tでは新しくHotwireのタブを開くことができる。同様にCtrl+Nではウィンドウを開く。
Shift+Ctrl+Tで開く端末タブは、一般的な端末エミュレータと同じように使える(性質上、全ての操作をHotwireのみで行うことはできないために用意されている)。termという内部コマンドによって、新しく端末タブを開いてコマンドを実行することもできる。
端末タブの前景色と背景色は設定で変更できる。

コマンド実行結果の蓄積と切り替え

通常の端末や端末エミュレータでは、一度実行したコマンドの実行結果は上に流れてしまう。多少は端末エミュレータの機能などでさかのぼれるが、不便ではある。*2
Hotwireでは、タブごとにコマンド実行結果を(タブ/ウィンドウを閉じるか、終了するまで)保持していて、ウィンドウ左上に「[保持数] commands」という表示のボタンが出るので、

これをクリックすると、出力結果をさかのぼって切り替えられる。1つでも戻ると、左下にもボタンが出て、これを押すと次の結果に移動する。これらを使用することで、保持している出力結果を自由に行き来できる。
Ctrlキーを押しながら矢印キーの上下で簡単に切り替えることもできるため、覚えておくと便利。
Shift+Ctrl+Oで、同じタブ内で過去に実行したコマンドとその結果の概要を一覧でき(Overview表示)、もう一度押すと元の表示に戻る。この表示のコマンド名部分をクリックしても出力結果にジャンプできる。

出力結果からの検索

テキスト形式の出力を行うコマンド*3では、Ctrl+Sで出力結果からの文字列検索ができる。

アプリケーションのシェルなどへのキーボード入力

code.google.com/p/hotwire-shell/wiki/HotwireCommandInput
にあるように、pythonmysqlのような、対話的にキーボードからの入力を行うコマンドは、Ctrl+Iで入力欄を表示して、その中でキー入力を行う。パスワードモードのチェックを入れると、入力した文字列は画面上で「*」になる。

出力を別ウィンドウに出す

出力結果を別のウィンドウに出したいときには、タブが2つ以上ある状態でShift+Ctrl+Nを押す。新しいウィンドウの中からウィンドウやタブを開くこともできる。

関連URL:

使用したバージョン:

  • Hotwire 0.620

*1:実際には「HOSTCXX」などの部分を入れて履歴から選択したほうがよいが、両方表示した状態を画像にするため、このようにした

*2:残しておきたい実行結果があるときは、新しい仮想端末やタブを作成したり、出力をファイルにリダイレクトするなどにより対処することはできる

*3:グラフィカルな出力を行うlsprocなどを除く大部分のコマンド