qtermy

Name

qtermy - graphical TermySequence terminal multiplexer client

Synopsis

qtermy [options]

Description

qtermy is a graphical multiplexing terminal emulator client implementing the TermySequence protocol using the termy-server(1) multiplexing terminal emulator server. The emulator aims for XTerm compatibility and supports modern terminal extensions such as 256-color text, mouse tracking, shell integration, and inline image display. In addition, the TermySequence protocol provides many features beyond standard terminal emulation, including flexible, efficient connectivity between servers, file monitoring and transfer, and multi-user terminal sharing and collaboration.

On startup, by default qtermy will attempt to connect to an already running termy-server(1) instance using a per-user local socket. If the server is not already running, it will be launched. This server instance is intended to be independent of user login sessions in the manner of tmux(1) or screen(1) and is referred to as the "persistent user server." Note that terminals launched on this server will typically lack the environment variables needed to launch graphical programs on the desktop, such as DISPLAY.

In addition, by default qtermy will launch a second, private termy-server(1) instance as a direct child process. This server instance will exit along with qtermy, but its terminals will have access to desktop environment variables such as DISPLAY. This server instance is referred to as the "transient session server."

Connections to additional termy-server(1) instances running in containers, on other hosts, or as other users, including root, can be made from qtermy or by using termy-connect(1) or its wrapper scripts termy-ssh(1), termy-su(1), and others.

qtermy listens on a per-user local socket of its own, which can be used to launch remote pipe commands and application actions programmatically using qtermy-pipe(1).

For comprehensive documentation of the many features offered by qtermy, refer to the support pages at https://termysequence.io/doc/

Options

--noplugins
Disable loading all plugins.
--nosysplugins
Disable loading plugins from /usr/share/qtermy/plugins.
-t,--rundir dir
Look for the server's local socket under runtime directory dir. The specifiers %t and %U, if present, are expanded to the systemd runtime directory and the user UID respectively. Specifying this option is only necessary if termy-server(1) is launched with a custom runtime directory.
--tmp
Store the application's per-user local socket and other runtime files under /tmp rather than $XDG_RUNTIME_DIR. This is the default unless systemd support is compiled in.
--nofdpurge
Don't look for and close leaked file descriptors on startup. This is useful when debugging the application with tools such as valgrind.
--version
Print version information
--man
Attempt to show this man page

Files

$XDG_CONFIG_HOME/qtermy/

Location where qtermy stores its configuration files.

$XDG_DATA_HOME/qtermy/
/usr/share/qtermy/

Locations where qtermy looks for icons, images, plugins, and other data files.

$XDG_CONFIG_HOME/qtermy/attr-script
/etc/qtermy/attr-script
/usr/lib/qtermy/attr-script

Programs executed by qtermy to set client-specific UTF-8 key-value pairs reported to servers and visible to other clients. The program should print lines of the form key=value and must exit quickly. These scripts are optional and are not required to be present.

A small number of basic client attributes, such as the UID, are set directly by qtermy and cannot be changed from scripts.

Notes

When systemd(1) is used to manage login sessions, certain administrative commands must be run to to allow the persistent user server to survive across user login sessions. Refer to termy-setup(1) for more information.

qtermy has the ability to perform remote file and directory mounts using fuse(8), but only if FUSE support was enabled at compile time, the FUSE runtime is present on the system, and the user has the necessary permissions to establish unprivileged FUSE mounts.