zupt/doc/zupt-gui.1
2026-08-31 14:14:36 -03:00

157 lines
5 KiB
Groff

.\" SPDX-License-Identifier: AGPL-3.0-or-later
.\" Copyright (c) 2025-2026 Cristian Cezar Moisés
.TH ZUPT-GUI 1 "2026-08-31" "ZUPT 5.2.2" "User Commands"
.SH NAME
zupt-gui \- Qt interface for the ZUPT backup utility
.SH SYNOPSIS
.B zupt-gui
.RI [ ARCHIVE.zupt ]
.br
.B zupt-gui
.BI --compress " FILE ..."
.br
.B zupt-gui
.BI --extract " ARCHIVE.zupt"
.br
.B zupt-gui
.RB [ --help | --version | --selftest ]
.SH DESCRIPTION
.B zupt-gui
is a Python Qt 6 frontend for
.BR zupt (1).
It creates, inspects, verifies, and extracts archives by running the CLI as a
child process. It can also request CLI disk backup and restore operations.
The GUI does not implement an archive codec or cryptography itself.
.PP
PySide6 is tried first and PyQt6 is used as a fallback. The selected
.B zupt
command is checked by executing
.BR "zupt version" .
The ZUPT command and environment variables are preferred; renamed-era names
are accepted only for compatibility with an existing installation.
.PP
When paired with the source-only baseline CLI, the frontend uses a build with
.B WITH_SDK=0
and
.BR WITH_PQBOX=0 .
Native password,
.B --pq
(ML-KEM-768 plus X25519), and
.B --pq-only
(ML-KEM-768) modes remain available. The GUI parses the CLI's
.B Build integrations:
line and exposes
.B --pq-sdk
or
.B --pq-box
only when libvuptsdk or libpqvaptvupt is independently reported enabled.
These two optional integrations are detected separately.
.PP
The gated 5.2.2 GUI release set is limited to the architecture-independent DEB,
noarch/source RPM, and source-only portable ZIP named in the project README.
Package gates require exact checks and installed off-screen GUI/CLI integration.
The portable ZIP receives source scans, an exact safe-member allowlist, and an
extracted launcher test; it bundles no Python, Qt, CLI, or compiled runtime.
AppImage, AppDir and Flatpak bundles and Windows/macOS GUI installers are not
promoted; the Windows ZIP and macOS DMG are CLI-only.
.PP
The GUI does not expose the CLI's recovery-only
.B --allow-legacy-no-ait
option. A known, trusted pre-AIT archive must be recovered explicitly with the
CLI; untrusted trailerless archives must remain rejected.
.SH OPTIONS
.TP
.B --compress
Open the Compress tab with the remaining arguments selected as inputs.
.TP
.B --extract
Open the Extract tab with the following archive selected.
.TP
.B --selftest
Create the complete interface, run the event loop briefly, and exit. A display
backend (or a suitable off-screen Qt backend) is still required.
.TP
.BR --version , " -V"
Print the GUI, Qt binding, CLI version, and selected CLI path.
.TP
.BR --help , " -h"
Print command-line usage.
.SH TABS
.TP
.B Keys
Generate and export recipient keys. Mode choices follow CLI capability
detection, including independent SDK and PQ-box choices when enabled.
.TP
.B Compress
Choose inputs, destination, codec options, password, and an optional recipient
public key.
.TP
.B Extract
Choose an archive, output directory, and any required password or private key.
The GUI uses
.B zupt info
to auto-detect supported archive protection modes. That framing inspection is
unauthenticated and is only a mode-selection hint; the subsequent CLI extract
or test operation performs the required AIT and content validation.
.TP
.B Verify
Inspect an archive header or run the CLI integrity test with the detected
credential type.
.TP
.B Disk
Request full-device or image backup and restore through the CLI. Raw devices
may require operating-system privileges. Restore overwrites its selected target
and requires explicit confirmation in the GUI.
.TP
.B About
Show the detected CLI version and build information.
.SH ENVIRONMENT
.TP
.B ZUPT_BIN
Absolute or executable path to the preferred
.B zupt
command. It must pass the CLI version liveness check.
.TP
.B ZUPT_DEBUG
Print command-discovery diagnostics to standard error when non-empty.
.TP
.B ZUPT_NO_XCB_FALLBACK
Disable the guarded XWayland relaunch used when a Wayland window is never
exposed.
.TP
.BR VAPTVUPT_BIN , " VAPTVUPT_DEBUG" , " VAPTVUPT_NO_XCB_FALLBACK"
Renamed-era compatibility aliases for the corresponding ZUPT variables.
New integrations should use the ZUPT names.
.SH FILES
.TP
.I /usr/bin/zupt-gui
Installed launcher.
.TP
.I /usr/lib/zupt-gui/zupt_gui.py
GUI source location used by the DEB or source installer. The noarch RPM may use
an architecture-independent shared-data directory instead.
.TP
.I /usr/share/applications/zupt-gui.desktop
Desktop entry.
.PP
Distribution packages do not install a
.B vaptvupt-gui
alias. The source installer can create one only with its explicit
.B --legacy-alias
option. The optional alias has no separate manual page.
.SH BUGS
Report reproducible issues at
.UR https://github.com/cristiancmoises/zupt/issues
.UE .
.SH AUTHOR
Cristian Cezar Moisés
.SH LICENSE
The current integrated GUI source carries AGPL-3.0-or-later notices. Published
historical revisions include MIT grants that remain applicable to the exact
material distributed under them. See
.I gui/LICENSE-GUI
and the 5.2.2 licensing erratum in
.I CHANGELOG.md
for scope and repository evidence.
.SH SEE ALSO
.BR zupt (1)