Autohotkey-Äquivalent?


48

Gibt es ein gleichwertiges Produkt / eine gleichwertige Methode für AutoHotkey? Für diejenigen, die es nicht wissen, ist es ein Produkt, mit dem Sie Ihre Mausbewegungen und Tastatur programmieren können. Dies ermöglicht es mir, bestimmte Funktionen in Programmen zu "makro", anstatt sie manuell ausführen zu müssen. Früher nannten sie sie Keyboard Stuffers. Aber das ist nur die Hälfte der Lösung, da ich auch einen "Mausbewegungs" -Stuffer benötige.

Gibt es so ein Biest?

Antworten:


31

Es gibt einen Port von AutoHotKey für Linux namens IronAHK und ein ähnliches Tool namens Autokey . Ich habe es auch nicht benutzt, ich weiß nicht, wie gut sie funktionieren.

Anders als bei solchen Programmen werden Sie nicht genau die gleichen Automatisierungswerkzeuge finden. Das grundlegende Tool zur Benutzerautomatisierung auf Unix-Systemen ist die Shell. Die Shell ist der Klebstoff, der andere Tools kombiniert: Sie kann externe Programme starten und steuern, wie sie Daten austauschen. Die Shell selbst enthält nichts, um GUI-Konzepte wie Fenster und Mauszeiger zu manipulieren¹. Sie rufen in einem Shell-Skript spezielle Tools auf, insbesondere xdotool , um Fenster zu bearbeiten und Tastatureingaben und Mausereignisse einzufügen .

Das folgende Skript klickt beispielsweise auf die Position (40,20) im Fenster von Myapp.

#!/bin/sh
xdotool search --class Myapp \
        mousemove --window %1 40 20 \
        click 1

¹ Außer dtksh , aber ich habe noch nie einen Linux-Port davon gesehen.


Nizza Zusammenfassung, schade, dass das Projekt 4 Jahre veraltet ist und die Binaries alle 404 sind, wird das xdotool aber versuchen. Danke, dass Sie sich die Zeit genommen haben.
Meer Borg

xdotool ausprobiert, funktioniert wie ein Zauber, aber Sie sollten auf jeden Fall ihre Dokumente lesen, bevor Sie beginnen
ConstantineK

1
AFAIK, IronAHK wurde nie vollständig implementiert und wurde aufgegeben.
Joe

2

Sie können xautomation unter Linux verwenden. Ich verwende es auf Raspberry Pi-Bildschirmen, um F5-Seitenaktualisierungen und Eingabetastenanschläge für Anmeldungen zu senden.



1

Laden Sie Autohotkey unter Linux herunter. Erstellen Sie eine Autohotkey-Datei (example.ahk). Verwenden Sie wine, um Ahk2Exe.exe aus dem Autohotkey-Ordner auszuführen. Kompilieren Sie Ihre example.ahk-Datei zu example.exe. Verwenden Sie wine, um example.exe auszuführen


2
Es ist keine gute Option. Im Moment ist die Funktionalität von Autohotkey, das durch Wein läuft, sehr eingeschränkt: appdb.winehq.org/… .
Banan3'14

1

Es gibt mehrere Projekte, die sich damit befassen. Die beiden aktivsten, AFAIK, sind Sikuli und AutoKey (ein Projekt, das ich unterstütze.)

Ich habe Sikuli nicht verwendet, aber es scheint darauf zu beruhen, Muster auf dem Bildschirm zu finden und darauf basierende Aktionen auszulösen.

Mit AutoKey kann der Benutzer Triggerphrasen und Hotkeys definieren, die Phrasen erweitern (ähnlich einer sehr leistungsstarken Autokorrekturfunktion) oder in Python3 geschriebene Skripts ausführen, die nur durch die Programmierkenntnisse des Benutzers eingeschränkt sind. Es bietet eine API für die Erzeugung von Tastatur- und Mausereignissen. Es ist auch in Xautomation integriert, sodass Sie ein kleines Bild auf dem Bildschirm finden und den Mauszeiger darauf bewegen können.

Ich benutze AutoKey seit vielen Jahren und unterstütze es auf unserer Liste . Es ist wie mit einer Reihe von Produktivitätswerkzeugen: Sie können ohne sie auskommen, aber sobald Sie mit der Verwendung beginnen, werden Sie sich fragen, wie Sie es jemals ohne sie getan haben.

Einige Besonderheiten:

AutoKey funktioniert nicht mit AutoHotKey-Definitionen und -Skripten. Sie müssen neu geschrieben werden.

Ich habe ein Proof-of-Concept-Bash-Skript geschrieben (auf Anfrage erhältlich), das AutoHotKey-Phrasen in AutoKey-Phrasen übersetzt. Es ist jedoch nur ein Ausgangspunkt und ignoriert die meisten Optionen von AutoHotKey.

Da AutoKey-Skripte in Python3 geschrieben sind, ist es auch möglich, Werkzeuge wie xdotool und wmctrl aus einem Skript heraus aufzurufen, um zusätzliche Funktionen bereitzustellen. Dies ist jedoch normalerweise nicht erforderlich. Obwohl AutoKey-Skripte in Python geschrieben sind, kann mit sehr begrenzten Python-Kenntnissen eine ganze Menge erreicht werden. Sie müssen für die meisten Zwecke kein fließender Python-Programmierer sein.

Wenn Sie eine Debian-basierte Distribution verwenden, installieren Sie bitte nicht die von Ihrer Distribution bereitgestellte Version von AutoKey. Ihr AutoKey-Paket ist nicht gewartet und sehr alt. Fordern Sie bei uns eine aktuelle Version an .


0

... programmieren Sie Ihre Mausbewegungen und Tastatur. Dies ermöglicht es mir, bestimmte Funktionen in Programmen zu "makro", anstatt sie manuell ausführen zu müssen.

Kantu ist ein plattformübergreifendes Desktop-Automatisierungstool , das unter Ubuntu sehr gut funktioniert (ich habe es nicht mit anderen Versionen getestet).

Das grundlegende Tool zur Benutzerautomatisierung auf Unix-Systemen ist die Shell.

Ja. Mit AHK und Kantu kann der Benutzer Aufgaben innerhalb einer Anwendung automatisieren, indem er Mausklicks und Tastaturanschläge simuliert. Die Shell kann das nicht. Ich benutze es für automatisierte Tests und ein paar Produktivitäts-Hacks.

Natürlich können Sie Kantu mit Python kombinieren oder es direkt von der Shell aus starten.


2
Jim, wenn Sie mit einem dieser Produkte verbunden sind, auf die Sie verlinken, beachten Sie bitte, dass in der Hilfe dieser Website Richtlinien zum erwarteten Verhalten in Bezug auf die Offenlegung Ihrer Zugehörigkeit in Ihren Antworten enthalten sind. Antworten, die dies nicht enthalten, können gelöscht werden. Danke!
Jeff Schaller

0

Verwenden Sie einfach XEV und XMODMAP. EINFACH und besser als dedizierte Programme oder die Emulation von beschissenen Windows-Apps. Alle meine LINUX-Sachen verwenden Skripte, um Schlüssel neu zu definieren und den Bildschirmmodus zu ändern. Wenn das Programm beendet ist, setzen Sie alles wieder auf den Normalzustand zurück. Es ist ungefähr so ​​einfach, XMODMAP zu verwenden und ein Skript zu erstellen wie ein AHK-Skript, aber mit dem zusätzlichen Vorteil, dass Sie keine emulierte Windows-App ausführen müssen. Und für Leute, die sagen, man kann das oder das nicht ... FALSCH. Mit der Linux-Shell können Sie mehr als mit jedem anderen Betriebssystem tun, und Sie können alles tun, worüber wir sprechen, einschließlich des Verschiebens von Fenstern, und trotzdem systemfreundliche Systembefehle verwenden, die eingebaut sind!


3
Soweit ich weiß, könnte diese Antwort zu 100% richtig und genau sein. Es wäre jedoch  viel nützlicher, wenn es einige Beispiele und / oder Anweisungen oder sogar Links zu weiterer Dokumentation enthalten würde.
Scott

0

Ich möchte darauf hinweisen, dass alle oben genannten Lösungen nur auf X11-Systemen funktionieren. Es gibt keine Lösung (oder zumindest habe ich noch keine gefunden), die auf Wayland funktioniert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.