Linux Tips

デスクトップ作業を自動化するには

北浦訓行
2007/2/28

 Fedora Core 6(FC6)には、GUIアプリケーションのテストなどを目的とした「Dogtail」というツールがある。これを利用すれば、GUIプログラムの操作を自動的に行うことができる。

 デフォルトの設定では、Dogtailはインストールされない。そのため、以下のようにyumコマンドでインストールを行う。

# yum install dogtail

 インストールが完了したら、[アプリケーション]メニューの[プログラミング]−[Dogtail Script Recorder]でDogtailを起動する。初めて起動すると、以下のように支援技術(Assistive Technology)を有効にするかどうかを尋ねるダイアログが表示される。

[Enable Assistive Technology Support?]ダイアログ

 [Enable]ボタンをクリックすると、[Script Recorder]というウィンドウが表示される。これがDogtailの画面だ。

[Script Recorder]ウィンドウ

 [録音]ボタンをクリックすると、GUI操作の記録が行える。Dogtailは、GUIの操作をPythonのスクリプトとして記録する。ちなみに、マウスの軌跡などは記録されない。

 例えば、

  1. [ヘルプ]メニューをクリックした
  2. [ヘルプ]メニューの[情報]をクリックした

といった操作が記録される。

Dogtailで記録されたスクリプト

 [保存]ボタンをクリックすると、このスクリプトを保存できる。また、[演奏]ボタンをクリックすると、記録した操作を再現できる。

 以下は、保存されたスクリプトの内容だ。これに実行属性を付けると、GNOME端末などからスクリプトとして実行できる。

$ cat baobab.py
#!/usr/bin/python
from dogtail.procedural import *

focus.application('baobab')
focus.frame('ディスク使用量アナライザ')
click('ヘルプ(H)', roleName='menu item')
click('情報(A)', roleName='menu item')
focus.dialog('Baobab (バオバブ) について')
click('閉じる(C)', roleName='push button')
click('アナライザ(A)', roleName='menu item')
click('終了(Q)', roleName='menu item')

 原稿執筆時点のDogtailでは、ソフトウェアの起動を記録できない。しかし、以下の1行を追加すれば、ソフトウェアの起動をスクリプトから実行できる(注)

注:記録されたスクリプトは、テキストエディタなどで変更可能だ。

$ cat baobab.py
#!/usr/bin/python
from dogtail.procedural import *

run('baobab') ←この行を追加

focus.application('baobab')
(省略)

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間