# Install gtk-vnc with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

VNC viewer widget for GTK. Version 1.5.0 via Homebrew; verified 2026-05-11.

## Install

```sh
sudo av install brew:gtk-vnc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gtk-vnc
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install gtk-vnc
```

  Evidence: MacPorts ports tree: gnome/gtk-vnc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add gtk-vnc
```

  Evidence: Alpine Linux edge package indexes: gtk-vnc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install gir1.2-gtk-vnc-2.0
```

  Evidence: Debian stable package indexes: gir1.2-gtk-vnc-2.0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install gtk-vnc2
```

  Evidence: Fedora Rawhide package metadata: gtk-vnc2 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#gtk-vnc
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gt/gtk-vnc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S gtk-vnc
```

  Evidence: Arch Linux sync databases: gtk-vnc from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install gtk-vnc-devel
```

  Evidence: openSUSE Tumbleweed package metadata: gtk-vnc-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:gtk-vnc
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/gtk-vnc>
- **Version:** 1.5.0
- **Source summary:** VNC viewer widget for GTK
- **Homepage:** <https://gitlab.gnome.org/GNOME/gtk-vnc>
- **Repository:** <https://gitlab.gnome.org/GNOME/gtk-vnc>
- **Upstream docs:** <https://gitlab.gnome.org/GNOME/gtk-vnc>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://download.gnome.org/sources/gtk-vnc/1.5/gtk-vnc-1.5.0.tar.xz>
- **Last updated:** 2026-05-11T14:57:51-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gvnccapture (cli)
- gvnccapture (alias)

## Dependencies

- cairo
- gdk-pixbuf
- gettext
- glib
- gmp
- gnutls
- gtk+3

## Build dependencies

- gettext
- gobject-introspection
- meson
- ninja
- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.5.0
- Package-manager updated: 2026-05-11
- Local data: ok
- Upstream repository: https://gitlab.gnome.org/GNOME/gtk-vnc
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

gtk-vnc is a GNOME-hosted VNC client library and GTK display widget. It packages the Remote Framebuffer/VNC protocol behind reusable C libraries, so downstream programs can embed a remote-desktop viewer instead of shelling out to a separate VNC client.

### Project history

The GNOME wiki describes gtk-vnc as a VNC viewer widget for GTK built around coroutines so it can remain asynchronous while single-threaded. The same page documents the public GitLab repository and the GNOME source tarball location.

Early releases in the upstream NEWS file show the project maturing from the 0.3 line through GTK 2 and GTK 3 integration. The 0.3.8 release added Win32/MinGW portability and MS Logon authentication, while later 0.4 releases included GTK 3 support and removal of older GDK image/pixmap usage. The 0.5 and 0.6 lines added protocol, authentication, introspection, Python, Vala, and API refinements.

The 1.0.0 release in August 2019 marked a packaging and API boundary: Autotools was replaced with Meson, GTK 2 support was dropped, GTK 3 became mandatory, and the example/demo code was modernized. Later releases continued the library direction with desktop resize extensions, GNUTLS changes, macOS build fixes, gi-docgen API docs, coroutine portability work, and visible-cursor and authentication fixes.

### Adoption history

The GNOME wiki explicitly names Vinagre, GNOME Boxes, and virt-viewer as gtk-vnc users. That is the adoption pattern that matters for packagers: gtk-vnc is not usually installed because users type its executable, but because virtualization, remote desktop, and GNOME applications need its libraries, introspection data, and small tools.

Distribution package names in the input show the same split role across ecosystems: some package the library as gtk-vnc, while Debian and Ubuntu expose GObject Introspection packages such as gir1.2-gtk-vnc-2.0 and RPM ecosystems often provide development packages for consumers that compile against the widget.

### How it is used

Applications embed gtk-vnc when they need a GTK widget that speaks VNC/RFB, handles authentication and encoding details, and participates naturally in a GTK application. Users may also encounter command-line helper programs such as gvnccapture, but the core value is the embeddable library.

The project history matters operationally because VNC clients sit at the edge of security, graphics, input, and portability. NEWS entries mention SASL, TLS certificate handling, VeNCrypt, MS Logon authentication, cursor encodings, HiDPI rendering, desktop resize extensions, and coroutine implementations for Unix, Windows, and macOS.

### Why package nerds care

gtk-vnc is a classic dependency package: small on the surface, but it carries ABI, introspection, protocol, and toolkit-version consequences for remote-desktop stacks. It is important to package indexes because applications such as Boxes and virt-viewer depend on a stable embeddable VNC widget rather than reimplementing RFB.

It also captures GNOME platform migration history. The move from GTK 2 support to GTK 3-only in 1.0.0, from Autotools to Meson, and later from gtk-doc to gi-docgen mirrors broader GNOME packaging shifts.

### Timeline

- 2008-12-07: Version 0.3.8 includes Win32/MinGW portability and MS Logon authentication support.
- 2010-07-11: Version 0.4.0 includes GTK 3 support and removes older GDK pixmap/image usage.
- 2011-12-21: Version 0.5.0 starts a new feature line with API and protocol additions.
- 2016-08-18: Version 0.6.0 release appears in GNOME source tarballs.
- 2018-08-01: Version 0.8.0 deletes the Python 2 binding in favor of GObject Introspection.
- 2019-08-07: Version 1.0.0 replaces Autotools with Meson, drops GTK 2 support, and requires GTK 3.
- 2021-04-14: Version 1.2.0 adds desktop resize, scaling, and several VNC extension APIs.
- 2025-01-06: Version 1.4.0 replaces gtk-doc with gi-docgen and broadens coroutine portability.

### Related projects

- VNC and the RFB protocol are the remote-display technologies implemented by gtk-vnc.
- Vinagre, GNOME Boxes, and virt-viewer are named upstream users.
- GTK, GLib, GObject Introspection, GNUTLS, SASL, and Meson are important platform and packaging dependencies in the upstream history.

### Sources

- <https://download.gnome.org/sources/gtk-vnc/>
- <https://download.gnome.org/sources/gtk-vnc/0.6/>
- <https://download.gnome.org/sources/gtk-vnc/1.3/>
- <https://gitlab.gnome.org/GNOME/gtk-vnc/-/raw/master/NEWS>
- <https://wiki.gnome.org/Projects%282f%29gtk%282d%29vnc.html>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** gtk-vnc
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - gir1.2-gtk-vnc-2.0 - 1.5.0-1: normalized package name match | Debian stable package indexes: gir1.2-gtk-vnc-2.0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GObject introspection data for GTK-VNC | https://wiki.gnome.org/Projects/gtk-vnc
- Debian apt - gvncviewer - 1.5.0-1: normalized package name match | Debian stable package indexes: gvncviewer from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | VNC viewer using gtk-vnc | https://wiki.gnome.org/Projects/gtk-vnc
- Debian apt - libgtk-vnc-2.0-0 - 1.5.0-1: normalized package name match | Debian stable package indexes: libgtk-vnc-2.0-0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | VNC viewer widget for GTK+3 (runtime libraries) | https://wiki.gnome.org/Projects/gtk-vnc
- Debian apt - libgtk-vnc-2.0-dev - 1.5.0-1: normalized package name match | Debian stable package indexes: libgtk-vnc-2.0-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | VNC viewer widget for GTK+3 (development files) | https://wiki.gnome.org/Projects/gtk-vnc
- Debian apt - libgvnc-1.0-0 - 1.5.0-1: normalized package name match | Debian stable package indexes: libgvnc-1.0-0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | VNC GObject wrapper (runtime libraries) | https://wiki.gnome.org/Projects/gtk-vnc
- Debian apt - libgvnc-1.0-dev - 1.5.0-1: normalized package name match | Debian stable package indexes: libgvnc-1.0-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | VNC GObject wrapper (development files) | https://wiki.gnome.org/Projects/gtk-vnc
- Nix - gtk-vnc: normalized package name match | nixpkgs package indexes: pkgs/by-name/gt/gtk-vnc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - gir1.2-gtk-vnc-2.0 - 1.3.1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: gir1.2-gtk-vnc-2.0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | GObject introspection data for GTK-VNC | https://wiki.gnome.org/Projects/gtk-vnc
- Ubuntu apt - gvncviewer - 1.3.1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: gvncviewer from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | VNC viewer using gtk-vnc | https://wiki.gnome.org/Projects/gtk-vnc
- Ubuntu apt - libgtk-vnc-2.0-0 - 1.3.1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libgtk-vnc-2.0-0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | VNC viewer widget for GTK+3 (runtime libraries) | https://wiki.gnome.org/Projects/gtk-vnc
- Ubuntu apt - libgtk-vnc-2.0-dev - 1.3.1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libgtk-vnc-2.0-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | VNC viewer widget for GTK+3 (development files) | https://wiki.gnome.org/Projects/gtk-vnc
- Ubuntu apt - libgvnc-1.0-0 - 1.3.1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libgvnc-1.0-0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | VNC GObject wrapper (runtime libraries) | https://wiki.gnome.org/Projects/gtk-vnc
- Ubuntu apt - libgvnc-1.0-dev - 1.3.1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libgvnc-1.0-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | VNC GObject wrapper (development files) | https://wiki.gnome.org/Projects/gtk-vnc
- apk - gtk-vnc - 1.5.0-r0: normalized package name match | Alpine Linux edge package indexes: gtk-vnc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | VNC viewer widget for GTK | https://gitlab.gnome.org/GNOME/gtk-vnc
- apk - gtk-vnc-dev - 1.5.0-r0: normalized package name match | Alpine Linux edge package indexes: gtk-vnc-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | VNC viewer widget for GTK (development files) | https://gitlab.gnome.org/GNOME/gtk-vnc
- apk - gtk-vnc-doc - 1.5.0-r0: normalized package name match | Alpine Linux edge package indexes: gtk-vnc-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | VNC viewer widget for GTK (documentation) | https://gitlab.gnome.org/GNOME/gtk-vnc


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [cairo](https://www.automicvault.com/pkg/brew/cairo/) - Runtime dependency declared by Homebrew.
- [gdk-pixbuf](https://www.automicvault.com/pkg/brew/gdk-pixbuf/) - Runtime dependency declared by Homebrew.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [glib](https://www.automicvault.com/pkg/brew/glib/) - Runtime dependency declared by Homebrew.
- [gnutls](https://www.automicvault.com/pkg/brew/gnutls/) - Runtime dependency declared by Homebrew.
- [gtk+3](https://www.automicvault.com/pkg/brew/gtk-3/) - Runtime dependency declared by Homebrew.
- [gobject-introspection](https://www.automicvault.com/pkg/brew/gobject-introspection/) - Build dependency declared by Homebrew.
- [meson](https://www.automicvault.com/pkg/brew/meson/) - Build dependency declared by Homebrew.
- [ninja](https://www.automicvault.com/pkg/brew/ninja/) - Build dependency declared by Homebrew.
- [virt-manager](https://www.automicvault.com/pkg/brew/virt-manager/) - Popular package that depends on this formula.
- [tiger-vnc](https://www.automicvault.com/pkg/brew/tiger-vnc/) - Shares av.db curated category or tags: cli, networking, remote-access, remote-desktop, vnc.
- [vncsnapshot](https://www.automicvault.com/pkg/brew/vncsnapshot/) - Shares av.db curated category or tags: cli, networking, remote-access, remote-desktop, vnc.
- [x11vnc](https://www.automicvault.com/pkg/brew/x11vnc/) - Shares av.db curated category or tags: cli, networking, remote-access, remote-desktop, vnc.
- [gateway-go](https://www.automicvault.com/pkg/brew/gateway-go/) - Shares av.db curated category or tags: cli, networking, remote-access.
- [mosh](https://www.automicvault.com/pkg/brew/mosh/) - Shares av.db curated category or tags: cli, networking, remote-access.
- [mussh](https://www.automicvault.com/pkg/brew/mussh/) - Shares av.db curated category or tags: cli, networking, remote-access.
- [pssh](https://www.automicvault.com/pkg/brew/pssh/) - Shares av.db curated category or tags: cli, networking, remote-access.
- [putty](https://www.automicvault.com/pkg/brew/putty/) - Shares av.db curated category or tags: cli, networking, remote-access.
- [pan](https://www.automicvault.com/pkg/brew/pan/) - Local package facts share a topical domain. Shared terms: cairo, cli, gdk, gdk-pixbuf, gettext.
- [gupnp-tools](https://www.automicvault.com/pkg/brew/gupnp-tools/) - Local package facts share a topical domain. Shared terms: cli, gdk, gdk-pixbuf, gettext, glib.

## Combined YAML source

View the package source record on GitHub. [combined/gtk-vnc.yml](https://github.com/automic-vault/db/blob/main/combined/gtk-vnc.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
