vncsession(8)
π vncsession β the manual, but make it make sense
okay bestie, so this is the vncsession(8) page from the Virtual Network Computing corner of the universe, and I'm gonna walk you through it like we're texting at 2am. it's giving β¨server loreβ¨, and honestly? kind of iconic.
β¨ NAME β¨
vncsession β start a VNC server π₯οΈπ
π SYNOPSIS π
vncsession [-D] <username> <:display#>
that's it. that's the whole vibe. two args and a maybe-flag. we love a minimal queen. π
πΈ DESCRIPTION πΈ
so vncsession is the thing that starts up a VNC (Virtual Network Computing) desktop. that's the whole job. it does all the necessary steps to spin up a brand new user session, runs Xvnc with the right options, and then launches a window manager on the VNC desktop. basically it's the backstage crew making the whole show happen while you sit there looking cute. π§
ngl, vncsession is rarely called directly β normally the system service manager is the one hitting it up. it's not a "you and your terminal" kind of program, it's a "the system is handling it, don't worry about it" kind of program. iykyk. π
π -D OPTION π
-Dβ so by default,vncsessionforks and detaches (it goes off on its own little adventure π¦). but if you pass-D, it does NOT fork and does NOT detach. this option exists for system service managers that require services to run in the foreground.
β οΈ okay real talk β this option is not intended for debugging in a login shell from a terminal, and it's not for running vncsession from a terminal as an ordinary user. so don't try to be slick with it. it's not that girl. π
π FILES π
a bunch of VNC-related files live in the directory $HOME/.config/tigervnc β let's go through them one by one, no skipping, we're thorough in this house.
/etc/tigervnc/vncserver-config-defaultsβ the optional system-wide equivalent of$HOME/.config/tigervnc/config. if this file exists and defines options to be passed toXvnc, those get used as defaults for users. the user's own$HOME/.config/tigervnc/configoverrides whatever is configured in this file. the overall config file load order is: this file β$HOME/.config/tigervnc/configβ/etc/tigervnc/vncserver-config-mandatory. and listen β none of them are required to exist. zero pressure. π«Ά/etc/tigervnc/vncserver-config-mandatoryβ the optional system-wide equivalent of$HOME/.config/tigervnc/config. if this file exists and defines options to be passed toXvnc, they override any of the same options defined in a user's$HOME/.config/tigervnc/config. this is the mechanism for establishing some basic form of system-wide policy.
π¨ WARNING! there is nothing stopping users from constructing their ownvncsession-like script that callsXvncdirectly to bypass any options defined in/etc/tigervnc/vncserver-config-mandatory. so like... the policy is a vibe, not a prison. π the overall config file load order is:/etc/tigervnc/vncserver-config-defaultsβ$HOME/.config/tigervnc/configβ this file. and again, none are required to exist. β¨
$XDG_CONFIG_HOME/tigervnc/config$HOME/.config/tigervnc/configβ an optional server config file where you list the options to be passed toXvnc, so you don't have to hard-code them into the physical invocation. list options in this file one per line. for options that need an argument, just separate the option from the argument with an equal sign, like for example:"geometry=2000x1200"or"securitytypes=vncauth,tlsvnc". options with no argument are just listed as a single word, like for example:"localhost"or"alwaysshared".
the special option session can be used to control which session type gets started. this should match one of the files in /usr/share/xsessions. e.g. if there's a file called "gnome.desktop", then "session=gnome" would be set to use that session type. cute, right? π
$XDG_CONFIG_HOME/tigervnc/passwd$HOME/.config/tigervnc/passwdβ the VNC password file. π$XDG_STATE_HOME/tigervnc/Bhost:Bdisplay#.log$HOME/.local/state/tigervnc/Bhost:Bdisplay#.logβ the log file forXvncand the session. your receipts, basically. π§Ύ
π¦ SEE ALSO π¦
go read these besties next, they're all part of the fam:
π AUTHOR π
Tristan Richardson, RealVNC Ltd., D. R. Commander and others.
VNC was originally developed by the RealVNC team while at Olivetti Research Ltd / AT&T Laboratories Cambridge. the TightVNC additions were implemented by Constantin Kaplinsky. many other people have since participated in development, testing and support. and this manual is part of the TigerVNC software suite. πβ
and that's the whole page, bestie π this was vncsession(8) from the TigerVNC era β go forth and start those VNC servers responsibly. slay. π
β¨
π¦ where this page comes from
- alpine 3.24: tigervnc-doc 1.16.2-r0 Β· GPL-2.0-or-later
- arch rolling: tigervnc 1.16.2-5 Β· GPL-2.0-only
- centos-stream 9: tigervnc-server 1.16.2-4.el9 Β· GPL-2.0-or-later
- fedora 43: tigervnc-server 1.15.0-7.fc43 Β· GPL-2.0-or-later
- fedora 43: tigervnc-x11-server 1.16.2-4.fc43 Β· GPL-2.0-or-later
- fedora 44: tigervnc-x11-server 1.16.0-2.fc44 Β· GPL-2.0-or-later
- fedora 44: tigervnc-x11-server 1.16.2-4.fc44 Β· GPL-2.0-or-later
- opensuse-leap 16.0: xorg-x11-Xvnc 1.15.0-160000.4.1 Β· GPL-2.0-only AND MIT
- opensuse-leap 16.0: xorg-x11-Xvnc 1.15.0-160000.4.1 Β· GPL-2.0-only AND MIT
- opensuse-leap 16.0: xorg-x11-Xvnc 1.15.0-160000.4.1 Β· GPL-2.0-only AND MIT
- opensuse-leap 16.0: xorg-x11-Xvnc 1.15.0-160000.4.1 Β· GPL-2.0-only AND MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms