Was sind die Unterschiede zwischen xdotool und xautomation?

21

xdotool und xautomation sind zwei Befehlszeilen-X11-Automatisierungstools. Ich habe das erstere für eine Weile benutzt und erst kürzlich von der Existenz des letzteren erfahren, und ich bin gespannt, was jemand, der beide für eine Weile benutzt hat, über sie zu sagen hat. Bestimmtes:

  1. Haben sie den gleichen Verwendungszweck? Es scheint so aus den Manpages, aber ich könnte ein paar Details vermissen.

  2. Werden sie in den meisten Systemen gleichermaßen unterstützt? Oder ist einer weiter verbreitet als der andere?

  3. Gibt es Dinge, die mit dem einen gemacht werden können, aber nicht mit dem anderen?

glS
quelle
7
Ich benutze xdotool auch für einfache Dinge (wenn ich etwas brauche, das AutoKey nicht kann) und wusste nichts von Xautomation. Der größte Unterschied besteht darin, dass xautomation Tools zum "Betrachten" des GUI-Bildschirms enthält, xdotool jedoch nicht. Ich werde weiter darauf eingehen, weil ich diese Fähigkeit brauche.
Joe

Antworten:

10

xdotoolist ein kompiliertes Programm, das Sie von überall aus verwenden können. Und es kann auf Ihrer Distribution vorinstalliert sein. Sie orchestrieren es mit jeder Skriptsprache. Wird von vielen empfohlen , kann aber beim Schreiben von aufwendigeren Ketten mühsam werden.

Ein Beispielbefehl, der in jeder Skriptsprache / -shell verwendet werden kann:

xdotool type "Hello Unix.StackExchange Reader"

Weitere finden Sie ab hier:


XAUT"(ehemals X Automation)" ist eine C-Bibliothek und ein Python-Modul, "um die Verwendung von Tastatur und Maus sowie die Bearbeitung von Fenstern programmatisch zu simulieren. Die Inspiration dafür kam von AutoIt sowie von AutoHotkey."

In den neuesten Distributionen xautoder xautomationsollte auch verfügbar sein.

Ein Beispielskript pykönnte so aussehen:

import xaut
kbd = xaut.keyboard()
kbd.type("Hello Unix.StackExchange Reader{Return}")

Dies "zwingt" Sie dazu, Python zu verwenden. Wenn Sie jedoch etwas Aufwändigeres tun, z. B. Eingaben aus AD oder * SQL lesen möchten, werden Sie wahrscheinlich schnell die Fähigkeiten zu schätzen wissen, die Python Ihnen mit seinem nützlichen Modul-Ökosystem bietet.

Alex Stragies
quelle
Also ... empfehlen Sie eine über die andere? Welche Aspekte sollte man berücksichtigen, wenn man sich für einen entscheiden muss?
Torben Gundtofte-Bruun