仮想でマウスを動かして、コンピュータが停止しないようにするスクリプトを作成したいと思います。ところでxdotool
私が使っているコンピュータには存在せず、ルートではないのでインストールできません。カーソルを使わずに移動する方法はありますかxdotool
?
答え1
~によるとこれ回答コマンドラインを使用してマウスポインタを移動できます。次の手順に従ってください。
まず、マウス入力デバイスを探す必要があります。
grep mouse /proc/bus/input/devices | grep event
H: Handlers=mouse0 event7
私に似たものを見なければなりません。複数のマウス(タッチパッドなど)がある場合は、2行以上を出力できます。重要なことは、event7
これはあなたがに手紙を書くことを意味します/dev/input/event7
。
次のコードは、マウスポインタを右に100ピクセル移動します。
seconds=$(date +%s) type=2 # EV_REL code=0 # REL_X value=100 # 100 pixels printf '%08X%04X%04X%08X%08X\n' $value $code $type 0 $seconds | xxd -r -p | \ perl -0777e 'print scalar reverse <>' > /dev/input/event7 type=0 # EV_SYN code=0 # SYN_REPORT value=0 printf '%08X%04X%04X%08X%08X\n' $value $code $type 0 $seconds | xxd -r -p | \ perl -0777e 'print scalar reverse <>' > /dev/input/event7
私はこのプロセスがロックメカニズムを停止するという意味で、実際のマウスの動きに対応するかどうかをテストしていません。
答え2
ルートではないとしてもxdotool
特別な権限が必要ないため、プログラムを実行できないという意味ではありません。
ただダウンロードしてコンパイルしてくださいソースから。
コンパイラにアクセスできない場合は、システムに適したパッケージを直接ダウンロードしてパッケージからファイルを抽出できます(最初に.deb
使用する場合はar
抽出を使用できます)。.rpm
rpm2cpio