SikuliXがバッググラウンドで動作するか知りたい方へ。結論から言いますと、バックグラウンドでは動作しません。

PC端末の画面やデバイスを占有して動作しますので、SikuliXの動作中にマウスやキーボードを触ると誤動作を引き起こしてしまいます。

ではRPAとして使うにはどうすればいいのでしょうか。

この記事で解説すること
  1. SikuliXはバックグラウンドで動くか【結論:動きません】
  2. SikuliXをRPAとして使うときの運用方法

私の信頼性
  1. 顧客企業において2016年からRPA内製化をサポートし実績を積み上げています。Sikuliを自動化に利用しています。
  2. Sikuliを利用したRPAシステム構築の理論・構築・開発・運用を網羅した書籍『オープンソースで作る!RPAシステム開発入門』を出版しました。
  3. 2019年3月中小企業のための失敗しないRPA導入研修を行いました。Sikuliを使ってRPAを説明しました。
  4. 2019年5月リクルートスタッフィング登録者向けRPA超入門ハンズオンを行います。Sikuliを使ってハンズオンを行います。

 

1.SikuliXはバックグラウンドで動くか【結論:動きません】

SikuliXはバックグラウンドでは動作しません。

PC端末の画面やデバイスを占有して動作しますので、SikuliXの動作中にマウスやキーボードを触ると誤動作を引き起こしてしまいます。

一台のパソコンで作業をしながら、バックグラウンドで何からの処理を実行させておく、という利用の方法は出来ないということです。

これはSikuliXが画面イメージを使う性質から避けられないことです。

1-1.便利ツールとしてのSikuliXの使い方

SikuliXをPC端末にインストールしてRPAとして利用する身近な例としては、毎回繰り返す面倒な作業を登録しておき、自動実行させ、その間はPC作業ではない業務を行うということです。

例えば、VPNで顧客のネットワークに接続して作業するフリーランスエンジニアは、毎日何回もその作業を繰り返します。このVPN接続作業が自動化されると心理的負担も軽減されます。

同じようにクラウドシステムに毎日ログインしてデータを取得するような作業も自動化することで楽になりますし、その間別の業務を進めることもできます。

問題は、この使い方では時間が短縮されないということです。

これでは、RPAというよりは便利なデスクトップ自動化フリーソフトという感じです。

では、SikuliXをインストールしても時間の効率化が図れないのではないか?ということになります。

 

2.SikuliXをRPAとして使うときの運用方法

2-1.どのように運用すべきか【専用端末を用意】

RPAとして本格的に業務自動化を行う場合、SikuliX専用端末を用意すべきです。SikuliX動作中にマウスとキーボードに触れないように隔離した状態を作ります。

SikuliXは画面イメージを使いますので、ディスプレーの解像度が変わっただけでも動作しなくなります。なるべくディスプレーやOSの環境を変えないようにしましょう。

業務用に兼用するのは厳禁です。何からの環境を意識せずに変えてしまうことが多発するからです。

2-2.ローカルPCでも対話式で使うならよい

自分の業務を手助けするロボットとしてSikuliXを利用するという方式でなら、共存できます。

例えば、CSV形式のファイルをExcelで開くまではSikuliXにやらせ、その状態でSikuliXを待たせます。「編集してください」というポップアップを出しておくという方法でよいでしょう。

Excelの編集は人が行ったあと、ポップアップの「OK」を押すと、SikuliXがExcelの内容をチェックしておかしくなければ名前を付けて保存します。

このようにSikuliXと人が共同で業務を行うパターンでは、専用端末を用意する必要はありません。

2-1と2-2は両方使いこなすと非常に効率があがります。実際に私も両方のパターンを使って効率化を図っています。

SikuliXは何台使っても無料ですので、このようなことができるのです。通常のRPAだと1台毎に数万円/月かかりますので、2-1と2-2の併用などは困難です。

2-3.リモートデスクトップを使えるか【使えるが画面イメージが必要】

SikuliXをバックグラウンドで動かしたように使うには、別端末もしくはサーバー側でSikuliXを動かし、それをリモートデスクトップでつなげて利用するという方法があります。

自分の端末では通常の業務を行い、リモートデスクトップを小窓で表示しておくわけです。

  1. リモートデスクトップにはキーボードの動きを送らない
  2. リモートデスクトップ画面を最小化しても動くようにレジストリを変更する(ご自身の判断で行ってください)

といった工夫をすることで、この運用は可能です。

課題としてはリモートデスクトップが画像イメージをローカルPC側にとってしまうと、リモートデスクトップ先で再ログインしないと、リモートデスクトップ先でイメージが使えなくなることです。

これを回避する方法は次の2つです。

1.リモートデスクトップでつないだ後は再起動してリモートデスクトップ先の環境を初期状態にする。

このとき、ログインパスワードを設定しないようにしておくことです。これはセキュリティ上この運用が許される場合のみ有効な方法です。

2.リモートデスクトップを切断状態でも動作させるテクニックを使う

詳しくは以下の記事をご参照ください。

リモートデスクトップ切断状態で動作させるテクニックを解説します

 

まとめ

この記事ではSikuliXはバックグラウンドで動くか?というよく質問に対して解説してきました。答えとしては「SikuliXはバックグラウンドで動きません」です。

しかし、SikuliXをRPAとして使うことはできます。その方法は以下の3つです。

  1. 専用端末を用意する
  2. ローカル端末にインストールして対話式で使う
  3. リモートデスクトップで使う

これらを組み合わせて、SikuliXをRPAとして有効活用してください。

 

ちなみに私の著書では1番目の方法「専用端末を用意する」でSikuliXを使っています。

≫オープンソースで作る!RPAシステム開発入門ってどんな本?