忍者ブログ

火山系フリーターの落書き帳

火山学者が書かない秘密の話。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

MELTS自動化の旅その1。xautomationのインストール

1.はじめに

Linux(Ubuntu)上で動作する熱力学計算ソフト「MELTS(pMELTS/rhyorite-MELTS)」を自動化して使いたいと思った話。 今回は、MELTSを自動で動かすために、xautomationを導入した話を紹介します。

2.xautomationを使ってみる

GUIアプリを操作する際に利用できるのが、xautomationというパッケージです。 インストールすることで、指定座標にマウスを移動したり、指定のキーを入力したりすることが可能になります。

筆者は仮想マシン上のUbuntu 12.10にてMELTSを利用する為、以下それを前提に手順を述べます。

1.xautomationをインストール

Ubuntuをネットに接続し、端末から以下のコマンドを入力。

ユーザー名@vmubuntu:~$ sudo apt-get install xautomation

sudoはスーパーユーザー権限であること。 また、apt-get install xautomationがxautomationのインストールコマンドです。

入力すると、端末にだらーと情報が流れて、すぐに終わります。 これでインストール完了です。 早速利用してみます。

2.xautomationの利用

test.shという自作シェルスクリプトをデスクトップ上に作成し、適当なコマンドを入力します。

#!/bin/sh

xte 'mousemove 550 550'
xte 'mouseclick 1'
xte 'key A'

xautomationは「xte」コマンドから利用します。 mousemoveは指定した座標にマウスを移動し、mouseclickはマウスクリック(左クリックは1)、keyは指定したキーの入力です。

このシェルを走らせるには、端末上からシェルスクリプトの位置に移動(今回はデスクトップ)し、シェルに実行権限を与えた後に実行します。

ユーザー名@vmubuntu:~/デスクトップ$ chmod 755 test.sh
ユーザー名@vmubuntu:~/デスクトップ$ ./test.sh

マウスカーソルが動くアニメーションは無いため、表面上はマウスの動きはわかりません。 が、指定するマウスの座標を変えることで、次のクリック場所が変わるため、特定のメニューを叩いたりすることが可能になります。

3.おしまい

画面上の操作を自動化できれば、あとは入力用ファイルを作ったり、実際の自動処理時の流れを考えたりするだけです。

続きは、MELTS自動化の旅その2。xautomationを使ったコード実装例

PR