Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

pywinauto is a set of python modules to automate the Microsoft Windows GUI. At it’s simplest it allows you to send mouse and keyboard actions to windows dialogs and controls.

Is there a linux equivalent of this python module?


share|improve this question
You will be able to write your own back-end for pywinauto soon. – Vasily Ryabov Mar 4 at 11:12

The linux desktop testing project (ldtp) should offer what you need. With the python-ldtp Install python-ldtp package, you can write scripts in python. The project uses the accessibility methods to perform actions, so the application in question has to be a “standard” GTK/QT/… application and you need to enable accessibility (“Assistive technologies”).

The following python script would click the “New” button in an (already existing) gedit window and enter the string “foo”:


from ldtp import *
from ldtputils import *
click('*-gedit', 'btnNew') 
share|improve this answer

You can use Sikuli (now named SikuliX)


According to the website:

SikuliX automates anything you see on the screen of your desktop computer running Windows, Mac or some Linux/Unix. It uses image recognition powered by OpenCV to identify and control GUI components. This is handy in cases when there is no easy access to a GUI's internals or the source code of the application or web page you want to act on.

SikuliX supports as scripting languages:

  • Python language level 2.7 (supported by Jython)
  • Ruby language level 1.9 and 2.0 (supported by JRuby)

… and you can use it in Java programming and programming/scripting with any Java aware programming/scripting language (Jython, JRuby, Scala, Clojure, …).

Though SikuliX is currently not available on any mobile device, it can be used with the respective emulators on a desktop computer or based on VNC solutions.

Please bare in mind that it's in beta.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.