Xdotool: Unterschied zwischen den Versionen
K Textersetzung - „<div style="column-count:3">“ durch „<div style="column-count:2">“ |
|||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''xdotool''' - | '''xdotool''' - Simulation (Erstellung) von X11-Tastatur- und Mauseingaben-Ereignissen | ||
== Beschreibung == | == Beschreibung == | ||
Mausbewegungen | ; Mausbewegungen per Kommandozeile automatisieren | ||
Simulation (Erstellung) von X11-Tastatur- und Mauseingaben-Ereignissen | |||
Xdotool ermöglicht, Tastatureingaben und Mausaktivität programmiert (oder manuell) zu simulieren, Fenster zu bewegen oder deren Größe zu verändern usw. | |||
* Verwendung der X11-Erweiterung [[XTEST]] und von Funktionen der [[Xlib]] | |||
; Koordinate ermitteln | |||
* [[#getmouselocation|Koordinate ermitteln]] | * [[#getmouselocation|Koordinate ermitteln]] | ||
== Installation == | == Installation == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo apt install xdotool | sudo apt install xdotool | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Aufruf == | == Aufruf == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 38: | Zeile 44: | ||
== Anwendung == | == Anwendung == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 45: | Zeile 51: | ||
Um mit ''xdotool'' den Mauszeiger an eine bestimmte Stelle auf dem Bildschirm zu bewegen, können wir den ''mousemove'' Befehl verwenden | Um mit ''xdotool'' den Mauszeiger an eine bestimmte Stelle auf dem Bildschirm zu bewegen, können wir den ''mousemove'' Befehl verwenden | ||
* Bewegen wir also den Cursor in die linke obere Ecke | * Bewegen wir also den Cursor in die linke obere Ecke | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
xdotool mousemove 0 0 | xdotool mousemove 0 0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 58: | Zeile 64: | ||
Wir können den ''xdotool'' ''klick'' Befehl verwenden, um die Maustaste zu klicken | Wir können den ''xdotool'' ''klick'' Befehl verwenden, um die Maustaste zu klicken | ||
* Klicken wir also mit der linken Maustaste | * Klicken wir also mit der linken Maustaste | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
$ xdotool Klick 1 | $ xdotool Klick 1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 71: | Zeile 77: | ||
Um mit ''xdotool'' komplexe Mausaktionen wie Drag and Drop, Scrollen oder Doppelklick durchzuführen, können wir die ''mousedown'', ''mouseup'', und ''mousedrag'' Befehle | Um mit ''xdotool'' komplexe Mausaktionen wie Drag and Drop, Scrollen oder Doppelklick durchzuführen, können wir die ''mousedown'', ''mouseup'', und ''mousedrag'' Befehle | ||
* Ziehen wir eine Datei von einem Ordner in einen anderen | * Ziehen wir eine Datei von einem Ordner in einen anderen | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
$ xdotool mousemove 100 100 mousedown 1 mousemove 200 200 mouseup 1 | $ xdotool mousemove 100 100 mousedown 1 mousemove 200 200 mouseup 1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 80: | Zeile 86: | ||
; Simulation des Scrollens und Doppelklickens mit ''xdotool'' | ; Simulation des Scrollens und Doppelklickens mit ''xdotool'' | ||
Wir können ''xdotool'' verwenden, um mit dem Mausrad nach oben oder unten zu scrollen | Wir können ''xdotool'' verwenden, um mit dem Mausrad nach oben oder unten zu scrollen | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
$ xdotool click --repeat 10 --delay 50 4 | $ xdotool click --repeat 10 --delay 50 4 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 88: | Zeile 94: | ||
Wir können auch ''xdotool'' verwenden, um mit der linken Maustaste doppelt zu klicken | Wir können auch ''xdotool'' verwenden, um mit der linken Maustaste doppelt zu klicken | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
$ xdotool click --Wiederholung 2 --Verzögerung 100 1 | $ xdotool click --Wiederholung 2 --Verzögerung 100 1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 98: | Zeile 104: | ||
Mit dem Befehl ''sleep'' können wir eine Verzögerung zwischen den Befehlen einfügen | Mit dem Befehl ''sleep'' können wir eine Verzögerung zwischen den Befehlen einfügen | ||
* Fügen wir zum Beispiel eine Verzögerung von einer Sekunde zwischen zwei Befehlen ein | * Fügen wir zum Beispiel eine Verzögerung von einer Sekunde zwischen zwei Befehlen ein | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
$ xdotool mousemove 100 100 sleep 1 click 1 mousemove 200 200 | $ xdotool mousemove 100 100 sleep 1 click 1 mousemove 200 200 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 123: | Zeile 129: | ||
=== Siehe auch === | === Siehe auch === | ||
<div style="column-count: | <div style="column-count:2"> | ||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | <categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | ||
</div> | </div> |
Aktuelle Version vom 28. Juni 2025, 11:12 Uhr
xdotool - Simulation (Erstellung) von X11-Tastatur- und Mauseingaben-Ereignissen
Beschreibung
- Mausbewegungen per Kommandozeile automatisieren
Simulation (Erstellung) von X11-Tastatur- und Mauseingaben-Ereignissen
Xdotool ermöglicht, Tastatureingaben und Mausaktivität programmiert (oder manuell) zu simulieren, Fenster zu bewegen oder deren Größe zu verändern usw.
- Koordinate ermitteln
Installation
sudo apt install xdotool
Aufruf
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
Wert | Beschreibung |
---|---|
0 | Erfolg |
>0 | Fehler |
Anwendung
Grundlegende Verwendung
mousemove
Um mit xdotool den Mauszeiger an eine bestimmte Stelle auf dem Bildschirm zu bewegen, können wir den mousemove Befehl verwenden
- Bewegen wir also den Cursor in die linke obere Ecke
xdotool mousemove 0 0
Dadurch wird der Cursor an die Koordinaten (0,0) bewegt
- Wir können also jede beliebige Koordinate angeben, wenn sie innerhalb der Bildschirmauflösung liegt
getmouselocation
Wir können die zu verwendenden Koordinaten bestimmen, indem wir den Befehl xdotool getmouselocation ausführen, wenn wir den Cursor auf einen beliebigen Punkt auf dem Bildschirm bewegen
Klick
Wir können den xdotool klick Befehl verwenden, um die Maustaste zu klicken
- Klicken wir also mit der linken Maustaste
$ xdotool Klick 1
Damit wird ein einzelner Klick mit der linken Maustaste simuliert
- Wir können auch andere Tasten angeben, z. B. 2 für die mittlere Taste oder 3 für die rechte Taste
Erweiterte Verwendung
Sehen wir uns einige fortgeschrittene Befehle an, die in xdotool verfügbar sind
mousedown, mouseup, mousedrag
Um mit xdotool komplexe Mausaktionen wie Drag and Drop, Scrollen oder Doppelklick durchzuführen, können wir die mousedown, mouseup, und mousedrag Befehle
- Ziehen wir eine Datei von einem Ordner in einen anderen
$ xdotool mousemove 100 100 mousedown 1 mousemove 200 200 mouseup 1
Bewegen Sie den Cursor auf die Koordinaten (100, 100), halten Sie die linke Maustaste gedrückt, bewegen Sie den Cursor auf die Koordinaten (200, 200) und lassen Sie die linke Maustaste los
Scrollen und Doppelklick
- Simulation des Scrollens und Doppelklickens mit xdotool
Wir können xdotool verwenden, um mit dem Mausrad nach oben oder unten zu scrollen
$ xdotool click --repeat 10 --delay 50 4
Dies simuliert das 10-malige Klicken des Mausrads nach oben mit einer Verzögerung von 50 Millisekunden zwischen jedem Klick.
- Wir können auch 5 statt 4 für das Herunterscrollen verwenden
Wir können auch xdotool verwenden, um mit der linken Maustaste doppelt zu klicken
$ xdotool click --Wiederholung 2 --Verzögerung 100 1
Damit wird das zweimalige Klicken der linken Maustaste mit einer Verzögerung von 100 Millisekunden zwischen den einzelnen Klicks simuliert
Verzögerungen
- Hinzufügen einer Verzögerung zwischen den Befehlen
Mit dem Befehl sleep können wir eine Verzögerung zwischen den Befehlen einfügen
- Fügen wir zum Beispiel eine Verzögerung von einer Sekunde zwischen zwei Befehlen ein
$ xdotool mousemove 100 100 sleep 1 click 1 mousemove 200 200
Der Cursor wird zu den Koordinaten (100, 100) bewegt und eine Sekunde lang gewartet
- Dann führt er einen Linksklick aus und bewegt sich dann zu den Koordinaten (200, 200)
Problembehebung
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
Anhang
Siehe auch
Dokumentation
- Man-Page
- Info-Pages
Links
Projekt
Weblinks
- https://www.baeldung.com/linux/terminal-mouse-control
- https://github.com/carrot69/keep-presence
- https://github.com/InvincibleZeal/jiggler