[Linux] コマンドでマウス(カーソル)を動かす (xdotool)
ターミナルからコマンドでマウスを動かす方法は複数あるが、xdotoolを使うといろんなことが簡単にできる。
インストール~マウスを動かす
インストールはdebian系(Ubuntuなど)ではsudo apt install xdotool
、RedHat系(CentOS, Fedoraなど)ではsudo dnf install xdotool
だけで可能である。
マウスを指定座標(x,y)に移動させるには、xdotool mousemove x y
でできる。例えば(300,500)に移動したければxdotool mousemove 300 500
で可能だ。
xdotoolが優れているのは現在のカーソルの位置から相対位置を指定することもできることである。マウスを現在のカーソルの位置から右にx, 下にy動かすには
xdotool mousemove_relative x y
でできる。例えば現在(50,80)で、右に3,下に10動かして(53,90)にするためには
xdotool mousemove_relative 3 10
とするだけで良い(もちろん絶対座標で指定してxdotool mousemove 53 90
でも構わないが)。左もしくは上を指定するときにはx, yをマイナスで指定する。ただしそのまま-をつけて数字を売ってしまうとコマンドラインのオプションと認識されてしまうのでマイナスの座標が入るときには
--
オプションを先につけて、xdotool mousemove_relative -- -x -y
(上にx, 左にy移動する場合)とする。例えば現在の位置から左に5、上に3移動するならxdotool mousemove_relative -- -5 -3
となる。今回はxdotoolでのマウスの移動について記したが、マウスのクリック、キーの入力なども行うことができる。詳しくは
man
コマンドで見てほしい。
応用例
応用例(と言ってもこれをやるためにマウスを動かしたかったのだが…)としてはしばらくPCを放置したときにスクリーンセーバー->ロックに入らないようするために一定時間ごとに微妙にマウスを動かすスクリプトである。スリープ(ロック)までの時間が設定できる人はこんなものを使う必要はないが何らかの理由でそれが制限されている時にちょっとスクリプトを作って裏で動かすだけでロックに入らなくなって便利である。
筆者はxdotool mousemove_relative -- 1 1
とxdotool mousemove_relative -- -1 -1
を5分に一回実行するスクリプトをバックグラウンドに起動させている。(5分に1回1px動かしてまた戻すので、見た目上・操作上の影響は今の所出ていない。)
同じカテゴリー(技術メモ)の他の記事を表示
全記事を表示
タグ: CentOS, Fedora, Linux, Ubuntu
投稿日: 2019年10月24日