skillfed

vncdotool

Command line VNC client

vncdotool v1.3.0 487.6K downloads/30d#6,383 on PyPI523
Permissive license MIT License Active released

What it is and what it does

vncdotool is a command-line VNC client designed to automate interactions with remote displays. It connects to VNC servers and sends commands to type text, move the mouse, capture screenshots, and perform other desktop interactions—useful for automating virtual machine control, testing, or hardware device interaction where direct access is impractical.

The package is built on Twisted for async networking, Pillow for image handling, and cryptography for secure connections. It supports multiple VNC encodings, IPv6 addresses, password-protected servers, and Apple Remote Desktop. Recent versions (1.3.0) have improved type hints, key handling, and switched to the cryptography library for better maintainability. The tool is actively maintained and works with modern Python versions (3.9–3.13).

Use it for:

  • Automate testing of GUI applications running on virtual machines or remote hardware by scripting keyboard and mouse input.
  • Capture screenshots from remote VNC servers for monitoring, logging, or automated visual inspection workflows.
  • Control virtualized environments or embedded devices that expose only a VNC interface, without manual intervention.
  • Record and replay interactive VNC sessions using the vnclog tool to generate automation scripts from manual actions.
  • Integrate VNC server control into CI/CD pipelines or test frameworks that need to interact with headless or remote displays.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

vncdotool is a command-line VNC client that automates interactions with remote displays by sending keystrokes, mouse movements, and screen captures to VNC servers.

Yes. vncdotool is actively maintained, has low install friction, carries a permissive MIT license, and solves a specific automation problem with no known vulnerabilities. Install it if you need to automate VNC interactions; skip it if your use case doesn't involve remote display control.

Install

vncdotool on PyPI

pip

pip install vncdotool

uv

uv add vncdotool

poetry

poetry add vncdotool

Installing vncdotool

Before you install

Low install friction with a pure-Python wheel. Depends on Twisted, Pillow, and cryptography—all well-maintained libraries. Active maintenance as of 2026-04-03, with recent improvements to type hints, key handling, and cryptography integration.

License in practice

MIT License (permissive) places no restrictions on use, modification, or distribution. Safe for commercial and proprietary projects.

Quickstart

pip install vncdotool

vncdo -s 192.168.1.1 type "hello world"
vncdo -s 192.168.1.1 capture screen.png

Requires a running VNC server to connect to; the server address must be specified in the format address[:display|::port].

Verify before relying

  • Whether the package supports all common VNC server implementations (RealVNC, TightVNC, QEMU, etc.) equally well.
  • Performance characteristics when automating high-frequency interactions or large screen captures.
  • Compatibility with modern VNC server security features beyond basic password authentication.

Package facts

License MIT License (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 3 — Twisted, Pillow, cryptography
Maintenance actively maintained — 133 days since the last release
Last repo commit
First released
Downloads 487,611/month — #6,383 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: vncdotool-1.3.0-py3-none-any.whl

Keywords: VNC, RFB

Development Status :: 5 - Production/StableEnvironment :: ConsoleFramework :: TwistedIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: MIT LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Multimedia :: Graphics :: ViewersTopic :: Software Development :: Testing

Tags

VNC client command lineautomate VNC interactionsremote desktop automationVNC screen capturevirtual machine controlRFB protocol clientheadless VNC control
vnc-automationremote-desktoptesting-tool

More Testing packages