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.
Gilles 'SO - hör auf böse zu sein'
quelle
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.
quelle
Verwenden Sie AutohotkeyX, eine neuere WINE-Portierung von autohotkey, die laut winehq-Test alles macht, was Autohokey unter Windows kann. Es ist einfach die beste und direkteste Antwort.
https://appdb.winehq.org/objectManager.php?sClass=version&iId=17738
Ich habe das nicht persönlich getestet, aber die WINEHQ-Ergebnisse tendieren dazu
quelle
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
quelle
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 .
quelle
Kantu ist ein plattformübergreifendes Desktop-Automatisierungstool , das unter Ubuntu sehr gut funktioniert (ich habe es nicht mit anderen Versionen getestet).
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.
quelle
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!
quelle
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.
quelle