2013-01-06 23 views
7

Ich versuche, gedit vom Terminal ausgeführt und geben Sie einen Text in einer geöffneten Datei, aber keinen Erfolg. Ich versuche, den Befehl gedit; sleep 2; xte -x display 'key k'; zu verwenden, aber dieser wird nur gedit ausgeführt (ohne das k-Zeichen einzugeben). Kann jemand in mich eindringen?Simulieren Taste drücken mit Bash

+1

Klingt wie Sie fragen, wie ein lösen Radmutter, wenn Sie tatsächlich eine Punktion reparieren wollen. Können Sie beschreiben, was Ihr größeres Bild, das Sie zu lösen versuchen, ist? –

+0

@MatsPetersson Ich versuche bash Automatisierungsskript für die Ausführung einiger Anwendungen zu schreiben und simulieren die Aktion des Benutzers (Tastendruck, Mausbewegung e.t.c) – abilash

+0

Also eine Art Testautomatisierung einrichten? Oh, und was ist "das funktioniert nicht". –

Antwort

7

Xdotool (keine Ahnung, was auf der Webseite passiert ist, hier ist seine source) für so toll:

xdotool key k 

Und mit gedit:

gedit & sleep 2; xdotool key k; 
+0

Ich habe es versucht, aber beim Kompilieren ist ein Fehler aufgetreten. Schwerwiegender Fehler: X11/Xlib.h: Keine solche Datei oder kein Verzeichnis. Ich benutze Ubuntu 12.04 32 Bit System. Wie kann ich es reparieren? – abilash

+0

Vielleicht brauchen Sie libx11-dev? Aber irgendwo gibt es Binärdateien (vielleicht sogar im Ubuntu-Repository) – BeniBela

+0

Ich installiere es, aber ich habe das gleiche Problem für dieses util. Wenn ich Gedit benutze; Schlaf 2; xdotool Schlüssel k; In der Befehlszeile wird nur gedit ausgeführt (ohne Symbole einzugeben), und erst nach dem Schließen von gedit wird k char im Terminal eingegeben. Aber wie kann ich dieses util zwingen, Zeichen in gedit geöffnete Akte einzutippen ??? – abilash