ssvnc(1)

πŸ’– ssvnc β€” the manual, but make it cute πŸ’–

okay bestie, sit down, hydrate, because we're talking about ssvnc today and honestly? she's iconic. this is the ssvnc(1) manual page, remixed with love, and every single fact is staying exactly where it was. no cap. 🫢


✨ NAME ✨

ssvnc β€” a GUI wrapper for SSL and SSH VNC connections. that's her. that's the whole job. πŸ’…


🌸 SYNOPSIS 🌸

ssvnc
ssvnc [host][:display]
ssvnc [saved-profile-name]
ssvnc [options] [host-or-profile]
ssvnc -cmd [ssvnc_cmd-args]
ssvnc -viewer [viewer-args]
ssvnc --help

look at all these ways to summon her. pick your fighter. πŸŽ€


πŸ¦‹ DESCRIPTION πŸ¦‹

so ssvnc is a tcl/tk gui wrapper that runs on Unix, MacOSX, and Windows. she sets up an SSL or SSH tunnel to the remote VNC Server, and then launches the VNC viewer β€” either the one she ships with or another one you've specified β€” so it can use that encrypted tunnel to connect to the VNC Server. and yes, the use of Proxies and Gateways to make the connections is implemented. we love a networking queen. πŸ‘‘

once you've started the SSVNC gui, you can click on the buttons "Help", "Options -> Help", "Certs -> Help", etc. for much information on how to use and configure the tool. so much info. a whole buffet of info. πŸ“

in short: you supply a VNC server "hostname:display" in the "VNC Host:Display" entry box and then press the "Connect" button to connect to the server via SSL (stunnel). e.g. "far-away.east:0". Port numbers are also allowed, e.g. far-away.east:5905. ✨

or supply user@hostname:display and click on the "Use SSH" option, then press the "Connect" button to connect to the server via an SSH tunnel. e.g. "fred@far-away.east:0". 🌈

note it is also possible to disable the use of SSL/SSH encryption tunnels by using a vnc:// or Vnc:// prefix before host:display. Shift+Ctrl-E is a short-cut to add/remove it. see also the -noenc option below for the 'No Encryption' button. (unencrypted? in this economy? okay but she'll warn you.) 😭

normally you do not specify any command line options. you simply run ssvnc and use the GUI that starts up. that's the whole vibe. πŸ’…

however, as shortcuts you can supply a VNC host:display (or host:port) on the command line to connect to immediately β€” the GUI is started and the connection is initiated. for example, "ssvnc far-away.east:0". instead of a host:display, you can specify the name of a saved profile to automatically load that profile and then connect to its server. for example "ssvnc far", if you named the profile "far". you can use the -profiles option to list the profiles you have saved. πŸ“‹

the related commands sshvnc and tsvnc start up the GUI in simplified modes: SSH Only Mode, and Terminal Services Mode, respectively. see below and the application Help for more information on the modes. two little sisters, both thriving. 🧚

you can also place certain settings in your ~/.ssvncrc β€” see the SSVNC Help panel ('Tips') for more info. πŸŽ€

the -cmd option does not start the GUI β€” it runs the command line utility ssvnc_cmd directly with the given arguments. ssvnc_cmd can launch the viewer directly (-viewer ...) or, by default, the ss_vncviewer SSL/SSH tunnel wrapper script. see its help output for more information. πŸ“–

there are also some command line options described as follows. and bestie, we're listing all of them. ⭐


πŸ’… OPTIONS πŸ’…

  • -help, -h β€” prints out to the terminal a brief description and the options. short and sweet, like a good text. πŸ’Œ
  • --help β€” starts up the GUI as though the 'Help' button was pressed, to show the main Help panel. it's giving interactive. πŸ–±οΈ
  • -cmd [ssvnc_cmd-args] β€” launch the ssvnc_cmd utility command directly (no GUI) with the given arguments (for use when ssvnc_cmd is not in one's PATH). if neither ssvnc_cmd nor ssvncviewer is in PATH, one can launch the viewer directly via: ssvnc -cmd -viewer [viewer-args] β€” see the next option -viewer for an alias. πŸ‘€
  • -viewer [viewer-args] β€” shorthand for ssvnc -cmd -viewer [viewer-args]. lazy girlies, this one's for us. πŸ™ˆ
  • -profiles β€” list the saved SSVNC profiles you have created. a profile is a destination host with specific parameter settings. ✨
  • -list β€” same as -profiles. twin behavior, no notes. πŸ‘―
  • -ssh β€” start in "SSH Only Mode". no SSL aspects are shown. same as running the command sshvnc. πŸ”
  • -ts β€” start in "Terminal Services Mode". this is like "SSH Only Mode", but simpler, and assumes x11vnc is available on the remote side to start and manage X and VNC sessions. same as running the command tsvnc. πŸ–₯️
  • -tso β€” same as -ts "Terminal Services Mode", however never let the user leave this mode (no button to switch modes is provided). same as SSVNC_TS_ALWAYS=1. it's a locked door and she's holding the key. πŸ”’
  • -ssl β€” force the full GUI Mode: both SSL and SSH. this is the default. same as -ss. the main character mode. πŸ‘‘
  • -nv β€” toggle the "Verify All Certs" button to be off at startup. 🚫
  • -nvb β€” never show the "Verify All Certs" button. same as SSVNC_NO_VERIFY_ALL_BUTTON=1. πŸ™ˆ
  • -bigger β€” make the Profile Selection Dialog window bigger. same as SSVNC_BIGGER_DIALOG=1. she's eating. 🍽️
  • -noenc β€” start off in a mode where a 'No Encryption' check button is present. you can toggle the mode with Ctrl-E. same as SSVNC_DISABLE_ENCRYPTION_BUTTON=1, or noenc=1 in ~/.ssvncrc. selecting no encryption is the same as the vnc:// and Vnc:// prefixes described below. the -noenc mode is now the default β€” use -enc or noenc=0 for the opposite behavior. ⚠️ (encryption off by default, bestie, i don't make the rules, i just relay them dramatically.)
  • -killstunnel β€” on Windows, automatically terminate the STUNNEL process when the viewer exits instead of prompting you (same as killstunnel=1 in ssvnc_rc or toggle in Options menu). πŸ’€
  • -nokillstunnel β€” on Windows, disable -killstunnel mode. same as killstunnel=0 in ssvnc_rc or toggle in Options menu. note that -killstunnel mode is now the default. πŸ“
  • -mycert /path/to/mycert.pem β€” set the default "MyCert" to be /path/to/mycert.pem. same as -cert. if the file does not exist, ~/.vnc/certs is prefixed and tried. you can also set mycert=/path/to/mycert.pem in ~/.ssvncrc. πŸ“œ
  • -cacert /path/to/cacert.crt β€” set the default "ServerCert" to be /path/to/cacert.crt. same as -ca. if the file does not exist, ~/.vnc/certs is prefixed and tried. you can also set cacert=/path/to/cacert.crt in ~/.ssvncrc. πŸ—‚οΈ
  • -crl /path/to/mycrl.pem β€” set the default Certificate Revocation List to be /path/to/mycrl.pem. if the file does not exist, ~/.vnc/certs is prefixed and tried. you can also set crl=/path/to/mycrl.pem in ~/.ssvncrc. πŸ“›

🌈 URL NOTATION 🌈

here are all of our URL-like prefixes that you can put in front of host:display (or host:port):

  • for SSL: vncs:// vncssl:// and vnc+ssl://
  • for SSH: vncssh:// and vnc+ssh://
  • for No Encryption: vnc:// and Vnc://

⭐ Examples ⭐

to quickly make an SSL connection:

ssvnc vncs://snoopy.com:0

to quickly make an SSH connection:

ssvnc vnc+ssh://fred@snoopy.com:0

to quickly make a direct connection:

ssvnc Vnc://snoopy.com:0

the above will also work in the "VNC Host:Display" entry box in the GUI. press the "Connect" button after entering them. πŸ–²οΈ

the difference between vnc:// and Vnc:// is that the latter one will not prompt you whether you really want to make an unencrypted connection or not. 😳 (so, y'know. capital V. she means it. no take-backs.)


πŸŽ€ FILES πŸŽ€

  • your SSVNC vnc profiles are stored in the $HOME/.vnc/profiles directory. they end in suffix .vnc. πŸ“
  • your SSVNC vnc certificates and keys are stored in the $HOME/.vnc/certs directory. they typically end in .pem (both certificate and private key) or .crt (certificate only). πŸ”‘
  • you can put a few global parameters (e.g. mode=sshvnc) in your $HOME/.ssvncrc file (ssvnc_rc on Windows); see the application Help for more information. πŸ“

🧚 FONTS 🧚

the following is from Tip 18 in the Help panel. πŸ’…

Fonts: to change the tk fonts, set these environment variables before starting up ssvnc: SSVNC_FONT_DEFAULT and SSVNC_FONT_FIXED. for example:

% env SSVNC_FONT_DEFAULT='helvetica -20 bold' ssvnc
% env SSVNC_FONT_FIXED='courier -14' ssvnc

or set both of them at once. 🌸

to achieve the same effect, you can also set parameters in your ~/.ssvncrc file, for example:

font_default=helvetica -20 bold
font_fixed=courier -14

aesthetic customization? we love to see it. 🎨


πŸ‘€ SEE ALSO πŸ‘€

ssvncviewer(1), vncviewer(1), stunnel(8), ssh(1), x11vnc(1), vncserver(1) http://www.karlrunge.com/x11vnc http://www.karlrunge.com/x11vnc/ssvnc.html

the whole friend group. go say hi. 🫢


πŸ‘‘ AUTHORS πŸ‘‘

Karl J. Runge <runge@karlrunge.com> wrote the SSVNC gui (tcl/tk) and associated wrapper scripts, and added features to the unix vncviewer source code. absolute legend behavior, honestly. 🌟


and that's the whole page, bestie!! this was the ssvnc(1) manual from the SSVNC crew, dated January 2011 β€” go forth, tunnel safely, and remember: verify your certs. mwah. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from