Command Line
Documentation
/ Contents - CyThrough
Command Line
Three binaries. cythrough and cythroughd are Motif-free. cythrough-prefs is the Motif launcher. Conf paths are in Files and Paths.
cythrough Viewer
cythrough [OPTION]... --connect HOST[:PORT]
Display published apps from HOST as native X windows.
- -c, --connect HOST[:PORT] -- server to attach to (required for a session)
- -p, --port NUMBER -- port (default 4900)
- -a, --app NAME -- published app id to launch after AUTH
- --user NAME -- remote login (default: local user name)
- --list-apps -- catalog only; no display session
- --watch-catalog -- catalog then stay for CATALOG_CHANGED
- --stop -- AUTH then SESSION_STOP (kill all owned apps)
- --stop --app NAME -- AUTH then APP_KILL for one app
- -n, --no-crypto -- do not encrypt (lab/LAN)
- --no-knock -- crypto on, TCP AEAD, no SPA knock
- --knock-secret TEXT -- SPA/AEAD passphrase (hidden in ps)
- --knock-secret-file PATH -- passphrase from file
- --password TEXT -- session password (hidden in ps)
- --password-file PATH -- password file (`-` = stdin)
- --once -- AUTH then BYE (lab)
- --lab-probe -- canned input then BYE (tests); may print BENCH
- --noshm -- disable MIT-SHM
- --quality MODE -- auto, smooth, fast, or fastest
- --refresh -- poke a running viewer and exit
- -h, --help -- this help
- -V, --version -- version
- --selftest -- built-in checks, exit
Examples:
cythrough -n --connect 127.0.0.1 --user tester \
--password-file /tmp/cypass --app xlogo
cythrough --connect host --user me --password-file ~/.cypass \
--list-apps
cythroughd Daemon
cythroughd [OPTION]...
Publish X11 apps for CyThrough viewers. Apps come from publish lines in conf, not from CLI flags.
- -n, --no-crypto -- do not encrypt (lab/LAN)
- --no-knock -- crypto on, TCP AEAD, no SPA
- --knock-secret TEXT -- SPA/AEAD passphrase (hidden in ps)
- --knock-secret-file PATH
- --foreground -- do not daemonize (lab / session)
- --port NUMBER -- listen port (default 4900)
- --auth-file PATH -- lab user:blake2b file (not OS login)
- --hw -- attach existing X; do not start Xvfb
- --display NAME -- hardware X display (with --hw)
- --check-conf -- load conf, print, exit
- --list-apps -- print the publish catalog, exit
- --once -- one client then exit (lab)
- --encstat -- ENC line every frame (else detach)
- --lat -- LAT/LATF latency clocks
- --reap-orphans -- kill leftover dummy Xvfb for this uid, exit
- -h, --help
- -V, --version
- --selftest
Examples:
cythroughd -n --foreground --auth-file /tmp/cyauth
cythroughd --foreground --hw --display :0
cythroughd --reap-orphans
v1 is a personal daemon. No setuid. OS auth is your login password. A lab tester needs --auth-file. The manager process handles knock, AUTH, and catalog; a backend child pushes pixels.
cythrough-prefs Launcher
cythrough-prefs [options]
Standard:
- -h, --help / -V, --version / --selftest / --caps / --log SPEC
- -v, --verbose / -q, --quiet
CyThrough-specific:
- --settings -- open with Settings up
- --session NAME -- load a saved session
- --launch NAME -- connect NAME (window only on error)
- --print-argv NAME -- print the exec argv and exit
- --no-crypto -- standing: encryption off, no dialog
- --no-knock -- crypto on, TCP AEAD, no SPA
- --connect HOST -- prefill host
- --app NAME -- prefill app
- --knock-secret TEXT -- SPA passphrase (overrides conf)
- --password-file PATH
Client face: pick a server, log in, click a published app. Server face: start/stop/restart cythroughd. Published Apps: local publish menu.
Password and Knock Order
Password for the client, first match wins:
1. --password TEXT (argv slot overwritten so ps does not keep it) 2. --password-file PATH (`-` reads stdin; prefer 0600) 3. CYTHROUGH_PASSWORD (environ slot overwritten after read)
Knock secret, first match wins:
1. --knock-secret TEXT 2. --knock-secret-file PATH 3. CYTHROUGH_KNOCK_SECRET 4. knock_secret in ~/.cyanotype/cythrough.conf (client) or cythroughd.conf (daemon)
Prefer 0600 files for menus and Materialize scripts.
Environment
- CYTHROUGH_PASSWORD / CYTHROUGH_KNOCK_SECRET -- see above
- CYTHROUGH_CLIENT / CYTHROUGH_DAEMON -- override binary paths from prefs
- CYTHROUGH_HOME -- alternate home for conf layout
- CYTHROUGH_MENU -- publish menu path override
- CYTHROUGH_DESKTOP -- Materialize target directory
- CYTHROUGH_BENCH=1 -- bench line with lab-probe
- DISPLAY -- required for the viewer session (not for --list-apps)