x0tigervncserver(1)
πΈ x0tigervncserver(1) β Virtual Network Computing π¦
okay bestie, sit down, hydrate, because we're about to learn how to share a whole entire X display over the network and honestly? it's iconic.
β¨ NAME β¨
x0tigervncserver β start or stop a TigerVNC scraping server π
π SYNOPSIS π
x0tigervncserver [:display#|-display :display#] [-rfbport rfbport#]
[-rfbunixpath Unixsocketpath] [-rfbunixmode permissions] [-localhost
[yes|no]] [-SecurityTypes sec-types] [-RequireUsername [yes|no]]
[-PasswordFile|-rfbauth passwd-file] [-PlainUsers user-list]
[-PAMService|-pam_service service-name] [-X509Key cert-key-file]
[-X509Cert cert-file] [-RSAKey rsa-key-file] [-fg] [-useold] [-verbose]
[-dry-run] [-Geometry <width>x<height>[{+,-}<xoffset>{+,-}<yoffset>]]
[-pidfile pid-file-path] [X0tigervnc options...]
x0tigervncserver -kill [{:display#,:*}|-display {:display#,:*}]
[-rfbport rfbport#] [-rfbunixpath Unixsocketpath] [-dry-run] [-verbose]
[-clean]
x0tigervncserver -list [{:display#,:*}|-display {:display#,:*}]
[-rfbport rfbport#] [-rfbunixpath Unixsocketpath] [-cleanstale]
x0tigervncserver -version
π DESCRIPTION π
The x0tigervncserver wrapper script is the little matchmaker that starts up the X0tigervnc server, which is the thing that makes an X display remotely accessible via VNC (Virtual Network Computing). π«Ά
And here's the tea: unlike Xtigervnc, this server does not create a virtual display. Nope. Instead it just shares an existing X server β typically, the one that's connected to your physical screen. It's giving "come look at my actual desktop" energy, no cap. π
The XDamage extension gets used if the existing X server supports it. Otherwise, X0tigervnc falls back to polling the screen for changes. (bestie it will simply keep asking "any change? any change?" like a very patient friend. π)
As usual, the VNC desktop can be connected to with the xtigervncviewer VNC viewer or any other VNC viewer. For details, see the xtigervncviewer(1) man page or execute "xtigervncviewer -help". β¨
System defaults for this wrapper script live in /etc/tigervnc/vncserver-config-defaults. Those defaults can be overwritten by the user defaults given in ~/.config/tigervnc/config.pl (peep the tigervnc.conf(5x) man page for that one π). Next up, command-line options overwrite the settings in both tigervnc configuration files. And finally β the drama β options from /etc/tigervnc/vncserver-config-mandatory have the highest priority, overwriting all previous settings. periodt.
WARNING! There is nothing stopping users from constructing their own wrapper script that callsX0tigervncdirectly to bypass any options defined in the/etc/tigervnc/vncserver-config-mandatoryconfiguration file. π¨ like, the rulebook has a back door and everyone knows it. π
π₯ OPTIONS π₯
You can get a list of options by giving -h as an option to x0tigervncserver. And in addition to the options listed below, any unrecognized options will be passed to X0tigervnc β see the X0tigervnc(1) man page or "X0tigervnc -help" for details. β¨
:display#|-display :display#β Specifies the X11 display to be shared by theX0tigervncserver. π₯οΈ it's the main character here, fr fr.-rfbport rfbport#β Specifies the TCP port on whichX0tigervnclistens for connections from viewers (the protocol used in VNC is called RFB β "remote framebuffer"). The default is5900plus the display number display#. To disable, specify-1. π-rfbunixpath Unix socket pathβ Specifies a path to be used for listening on as a Unix domain socket by theX0tigervncserver. No Unix domain socket is created if this option is not provided. π-rfbunixmode permissionsβ Specifies the mode of the Unix domain socket. The default is0600. π-localhost [yes|no]β Should the TigerVNC server only listen on localhost for incoming TigerVNC connections. Useful if you use SSH and want to stop non-SSH connections from any other hosts. π‘οΈ
If the option is not specified, then the behavior is as follows: we will only listen on localhost if the sec-types list does not contain any TLS* or X509* security types, or if the list contains at least one *None security type. Otherwise, we will listen on all network addresses of the machine. π
-SecurityTypes sec-typesβ Specify which security scheme to use for incoming connections. Valid values are a comma-separated list ofNone,VncAuth,Plain,TLSNone,TLSVnc,TLSPlain,X509None,X509Vnc,X509Plain,RA2,RA2ne,RA2_256, andRA2ne_256. Default isVncAuthif-localhostis not given andVncAuth,TLSVncif-localhost nois given. π₯-RequireUsername [yes|no]β Specifies for the RSA-AES security types (i.e.,RA2,RA2ne,RA2_256, andRA2ne_256) if authentication should be performed via Unix username and password (-RequireUsername yes) or the VNC password file (-RequireUsername no). The default is to perform authentication via the VNC password file. π€-PasswordFile passwd-file|-rfbauth passwd-fileβ Specifies the file containing the password used to authenticate viewers for the security typesVncAuth,TLSVnc,X509Vnc,RA2,RA2ne,RA2_256, andRA2ne_256. The default password file is~/.config/tigervnc/passwd. For the RSA-AES security types, authentication via the VNC password file is only performed in case-RequireUsernameisno, which is the default. π-PlainUsers user-listβ Specifies a comma-separated list of user names that are allowed to authenticate via any of the*Plainsecurity types (Plain,TLSPlain, etc.) or the RSA-AES security types (RA2,RA2ne, etc.) in case-RequireUsernameisyes. Specify*to allow any user to authenticate using these security types. The default only allows the user who has started thex0tigervncserverwrapper script. π-PAMService service-name|-pam_service service-nameβ Specifies the PAM service name to use when authenticating users using any of the*Plainsecurity types or the RSA-AES security types in case-RequireUsernameisyes. Default isvncif/etc/pam.d/vncis present andtigervncotherwise. Thetigervnc-commonpackage ships the/etc/pam.d/tigervncPAM service configuration for use byx0tigervncserver. π-X509Cert cert-pathand-X509Key key-pathβ Path to a X509 certificate in PEM format to be used for all X509 based security types (i.e.,X509None,X509Vnc, etc.) as well as its private key also in PEM format. If the certificate and its key are not provided via the-X509Certand-X509Keycommand-line options or their corresponding configuration parameters in the configuration files/etc/tigervnc/vncserver-config-defaults,~/.config/tigervnc/config.pl, or/etc/tigervnc/vncserver-config-mandatory, then thex0tigervncserverwrapper script auto-generates a self-signed certificate. The auto-generated self-signed certificate and its private key are stored in the files~/.config/tigervnc/host-SrvCert.pemand~/.config/tigervnc/host-SrvKey.pem. π-RSAKey rsa-key-pathβ Path to an RSA key in PEM format used by all RSA-AES security types. If the RSA key is not provided via the-RSAKeycommand-line option or the corresponding configuration parameter in the configuration files/etc/tigervnc/vncserver-config-defaults,~/.config/tigervnc/config.pl, or/etc/tigervnc/vncserver-config-mandatory, then thex0tigervncserverwrapper script auto-generates an RSA key. The auto-generated key is stored in the file~/.config/tigervnc/host-SrvRsaKey.pem. ποΈ-fgβ Runs theX0tigervncserver as a foreground process. Thus, the server can be aborted withCTRL-C. π-useoldβ Only start a new TigerVNC server if a VNC server for your account is not already running on the requested display number display# and RFB port rfbport#. If no display number is requested, a new TigerVNC server will only be started if there is no TigerVNC server running under your user account. In any case, information about the newly started TigerVNC server or the reused TigerVNC server session will be printed. β»οΈ-verboseβ This will turn on some debug output. π-dry-runβ Do not actually do anything, but only perform the checks if the requested action would be possible. For example, there will be checks performed for the availability of the requested display number display#. π§ͺ-Geometry <width>x<height>[{+,-}<xoffset>{+,-}<yoffset>]β Specifies the screen area that will be shown to VNC clients, e.g.,640x480+320+240. The format is<width>x<height>+<xoffset>+<yoffset>, where+signs can be replaced with-signs to specify offsets from the right and/or from the bottom of the screen. Offsets are optional,+0+0is assumed by default (top left corner). If the argument is empty, full screen is shown to VNC clients (this is the default). π-pidfileβ Specifies the file that stores the pid of theX0tigervncserver to be started. π§Ύ-kill [ :{display#,*} | -display :{display#,*} ] [ -rfbport rfbport# ]β This kills a TigerVNC server previously started withx0tigervncserverortigervncserver. It does this by killing the VNC server process, whose process ID is stored in the file~/.config/tigervnc/host:rfbport#.pid. If:*is given, thenx0tigervncservertries to kill all VNC server processes with pidfiles in~/.config/tigervncon the local machine. If no display number is given, thenx0tigervncservertries to kill the VNC server process of the user on the local machine if only one such process is running and has a pidfile in~/.config/tigervnc. π-cleanβ If given with-kill, then the logfile~/.config/tigervnc/host:rfbport#.logis also removed. π§Ό-list [ :{display#,*} | -display :{display#,*} ] [ -rfbport rfbport# ]β This lists all running TigerVNC servers previously started withx0tigervncserverortigervncserver. Stale entries are marked with(stale)in the output. π-cleanstaleβ If given with-list, then stale entries β resulting from missed cleanups of pidfiles in~/.config/tigervncas well as stale X11 locks and sockets in/tmpdue toXtigervncorX0tigervncserver crashes β are cleaned up and not shown in the output of-list. π§Ή
π FILES π
okay so here's the tea on where everything lives, bestie β a whole lil fam of TigerVNC-related files hangs out in the ~/.config/tigervnc directory:
~/.config/tigervnc/passwdβ the TigerVNC password file, and it's the one that handles the security typesVncAuth,TLSVnc, andX509Vnc. π~/.config/tigervnc/<host>:<display#>.logβ the log file for the VNC server. And if a VNC server is already running for that display? Then either~/.config/tigervnc/<host>:<display#>-<rfbport#>.logor~/.config/tigervnc/<host>:<display#>-<rfbunixpath>.loggets used as the log file instead. β¨~/.config/tigervnc/<host>:<display#>.pidβ this one identifies the VNC server process ID, and it's what the-killoption goes looking for. Same deal as above: if a VNC server is already running for the display, then either~/.config/tigervnc/<host>:<display#>-<rfbport#>.pidor~/.config/tigervnc/<host>:<display#>-<rfbunixpath>.pidis used as a pid file. π~/.config/tigervnc/<host>-SrvCert.pemand~/.config/tigervnc/<host>-SrvKey.pemβ so the security typesX509None,X509Vnc, andX509Plainare highkey needy: they need a certificate and the matching private key. If those aren't handed over via the-X509Certand-X509Keycommand-line options, or via their corresponding configuration parameters in the config files/etc/tigervnc/vncserver-config-defaults,~/.config/tigervnc/config.pl, or/etc/tigervnc/vncserver-config-mandatory, then thex0tigervncserverwrapper script just auto-generates a self-signed certificate for the-X509Certand-X509Keyoptions of theX0tigervncserver. That auto-generated self-signed certificate and its private key get stashed in the two files above. And if you want your own certificate instead of the on-demand auto-generated one? You can either specify it through thex0tigervncserveroptions-X509Certand-X509Key, or just replace the files~/.config/tigervnc/host-SrvCert.pemand~/.config/tigervnc/host-SrvKe.pem. These files will not be overwritten once thex0tigervncserverwrapper script has generated them. π~/.config/tigervnc/<host>-SrvRsaKey.pemβ the RSA-AES security types (i.e.,RA2,RA2ne,RA2_256, andRA2ne_256) need an RSA private key. If that key isn't provided via the-RSAKeycommand-line option or the corresponding parameter in the config files/etc/tigervnc/vncserver-config-defaults,~/.config/tigervnc/config.pl, or/etc/tigervnc/vncserver-config-mandatory, then thex0tigervncserverwrapper script auto-generates an RSA key for the-RSAKeyoption of theX0tigervncserver. That auto-generated key lives in~/.config/tigervnc/host-SrvRsaKey.pem. π~/.config/tigervnc/config.plβ the user configuration file forx0tigervncserver. Now, to stay compatible with the upstream-provided wrapper scripts, if~/.config/tigervnc/config.plisn't present, we fall back to trying to load configuration from~/.config/tigervnc/config. Heads up though: the config file useskey=valuelines as its configuration syntax, while theconfig.pland thetigervncserver-config-*files in the/etc/tigervncdirectory useperl(1)syntax. Two different vibes, same directory. π¦
Furthermore β and yes there's more β there are global configuration files for x0tigervncserver chilling in the /etc/tigervnc directory:
/etc/tigervnc/vncserver-config-defaultsβ the global configuration file specifying the defaults forx0tigervncserver. πΈ/etc/tigervnc/vncserver-config-mandatoryβ if this file exists and defines options to be passed toX0tigervnc, they will override any of the same options defined in a user'sconfig.plfile or ones given on the command line of this wrapper script. Basically it's the mechanism for establishing some basic form of system-wide policy. π
WARNING! There is nothing stopping users from constructing their own wrapper script that callsX0tigervncdirectly to bypass any options defined in the/etc/tigervnc/vncserver-config-mandatoryconfiguration file. π
π SEE ALSO π
tigervnc.conf(5x), tigervncpasswd(1), X0tigervnc(1), xtigervncviewer(1), tigervncserver(1)
π AUTHOR π
Joachim Falk, Constantin Kaplinsky and others. π«Ά
VNC was originally developed by the RealVNC team while at Olivetti Research Ltd / AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people have since participated in development, testing and support. This manual is part of the TigerVNC Debian packaging project. π
and that's the whole page, bestie β this was TigerVNC 1.14.1, dated Nov 10th, 2024, for x0tigervncserver(1). go forth and serve them displays, you absolute icon π
β¨
π¦ where this page comes from
- debian trixie: tigervnc-scraping-server 1.15.0+dfsg-2.1~deb13u1 Β· GPL-2.0-or-later
- ubuntu questing: tigervnc-scraping-server 1.15.0+dfsg-2
- ubuntu resolute: tigervnc-scraping-server 1.15.0+dfsg-2build1 Β· GPL-2.0-or-later
- ubuntu stonking: tigervnc-scraping-server 1.15.0+dfsg-2.1 Β· GPL-2.0-or-later
- Copyright (C) 2021 - 2024 Joachim.Falk@gmx.de
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms