Provided by: tigervnc-common_1.14.1+dfsg-1_amd64 bug

NAME

       tigervnc.conf - configuration files for Virtual Network Computing

SYNOPSIS

       $variable = "someValue";

       $variable = "someValue";

       $variable .= "someValue";

       $variable = $var1 . $var2;

DESCRIPTION

       This   man   page  describes  the  syntax  and  options  of  the  three  configuration  files  loaded  by
       tigervncserver(1), the free X server for Virtual Network Computing (VNC). These configuration  files  can
       be  used  to  change the behavior of the server at startup time, although for all values suitable inbuilt
       defaults are preset.

       First,  /etc/tigervnc/vncserver-config-defaults  is  read  specifying   the   system   defaults.    Then,
       tigervncserver(1) will proceed and read $HOME/.config/tigervnc/config.pl, a file that can be changed on a
       per-user  base.  The  options in this file will override the system defaults.  Next, command-line options
       overwrite both the system defaults and the settings in  $HOME/.config/tigervnc/config.pl.   Finally,  the
       configuration  file  /etc/tigervnc/vncserver-config-mandatory  is parsed. If this file exists and defines
       options to be passed to Xtigervnc, they will override any  of  the  same  options  defined  in  a  user's
       $HOME/.config/tigervnc/config.pl  as  well  as  options  given  via the command line.  This file offers a
       mechanism to establish some basic form of system-wide policy.

       WARNING! There is nothing stopping users from constructing their own start script  that  calls  Xtigervnc
       directly to bypass any options defined in /etc/tigervnc/vncserver-config-mandatory.

EXAMPLES

       The system configuration file /etc/tigervnc/vncserver-config-defaults should come with the Debian package
       tigervnc-standalone-server.     This    file    serves    as    an    example    for    the   user   file
       $HOME/.config/tigervnc/config.pl.  The system configuration file is  pretty  self-descriptive,  and  this
       document will mainly repeat the information that already can be found there.

OVERVIEW

       The  file  is  in  perl(1)  syntax,  although  only  variable  assignment  is allowed for your safety and
       convenience. But there still a variety of possibilities to set the string variables.

       All variable names are prefixed by `$'. You can assign a string to a variable using the `=' operator, and
       you can append a string to a variable using the `.=' operator. You can concatenate two strings using  the
       `.'   operator. You can substitute variables even inside quotes. You can access the environment variables
       using the notation $ENV{VARIABLE}.

       You can unset a variable by assigning undef to it. Use this to return the  state  of  the  variable  from
       `set' to `use default'.

       You must end a line with a semicolon.

OPTIONS

       The options are given with their default value if this is known.

       $fontPath = "<font_dir>,<font_dir>,...";
              Should  be  a  comma-separated  list  of fonts to be added to the font path. If not specified, the
              default will apply.

       $PAMService = "tigervnc";
              This parameter specifies the PAM service utilized for Unix username and  password  authentication.
              This  service is used for the *Plain security types (i.e., Plain, TLSPlain, and X509Plain) or when
              $RequireUsername is "yes" and any of the RSA-AES security types (i.e., RA2,  RA2ne,  RA2_256,  and
              RA2ne_256)  is  used  to  establish  the  connection  to  the VNC server. If /etc/pam.d/vnc is not
              present, then tigervncserver(1) expects to use the tigervnc PAM  service  for  Unix  username  and
              password   authentication.  Note  that  the  tigervnc-common  package  provides  the  PAM  service
              configuration file /etc/pam.d/tigervnc.  Otherwise, if /etc/pam.d/vnc  is  present,  the  vnc  PAM
              service will be used.

       $sslAutoGenCertCommand = "openssl req
                      -newkey ec:/etc/tigervnc/openssl-ecparams.pem
                      -x509 -days 2190 -nodes";
              The  command  specified  by  the  $sslAutoGenCertCommand  parameter  is  used to auto-generate the
              certificate for the -X509Cert  and  -X509Key  options  of  Xtigervnc(1).   The  configuration  for
              openssl(1SSL)  is taken from /etc/tigervnc/openssl.cnf where we substitute @HostName@ by the fully
              qualified domain name of the host.

       $sslAutoGenRSAKeyCommand = "openssl genrsa
                      -out RSAKeyFile 4096";
              The command specified by the $sslAutoGenRSAKeyCommand parameter is used to  auto-generate  an  RSA
              key for the RSA-AES security types.

       $vncUserDir = "$ENV{HOME}/.config/tigervnc";
              Contains  the  filename for the log files directory of Xtigervnc (the server) and the viewers that
              are connected to it.

       $vncPasswdFile = $vncUserDir . "/passwd";
              Contains the filename of the password file for Xtigervnc. This file is only used for the  security
              types VncAuth, TLSVnc, and X509Vnc.

       $vncStartup = "/etc/X11/Xtigervnc-session";
              Points  to  a  script  that will be started at the very beginning when $vncUserDir/xstartup is not
              present.  If $vncUserDir/xstartup.  is present, it will be used. Otherwise, we use the $vncStartup
              script.  If  $vncStartup  is  specified  in  $vncUserDir/config.pl,  then  this  script  is   used
              unconditionally. That is without checking for the presence of $vncUserDir/xstartup.

       $session = undef;
              This  option can be used to control which X session type will be started. This should match one of
              the files in /usr/share/xsessions. For example, if there is  a  file  called  gnome.desktop,  then
              $session  =  "gnome" would start this X session. The command to start the session is passed to the
              $vncStartup script. If this is not  specified,  then  /etc/X11/Xtigervnc-session  will  start  the
              session specified by /usr/bin/x-session-manager.

       $xauthorityFile = "$ENV{HOME}/.Xauthority";
              Specifies the path to the X authority file that should be used by your Xtigervnc server.

       $desktopName = "${HOSTFQDN}:nn ($ENV{LOGNAME})";
              Should  be  set  to  the default name of the desktop. This can be changed at the command line with
              -desktop.

       $geometry = "<width>x<height>";
              This sets the framebuffer width & height to be used by the Xtigervnc server. On default, 1920x1200
              is used. A values for this option as well as the $depth and $pixelformat options can be derived if
              the tigervncserver(1) is run in a X session  –  either  $ENV{DISPLAY}  or  the  session  given  by
              $getDefaultFrom  –  with  the  -xdisplaydefaults  option.  The geometry can also be changed at the
              command line with the -geometry option. Otherwise, the fixed defaults given here as well as in the
              following two configuration parameter documentations will be used.

       $depth = "32";
              This sets the framebuffer color depth, i.e., the number of bits per  pixel  to  use.  It  must  be
              either 16, 24, or 32.

       $pixelformat = "rgb888";
              Specifies  the pixel format for the Xtigervnc(1) server to use (BGRnnn or RGBnnn). The default for
              depth 16 is RGB565 (meaning the most significant five bits represent red, the next six green,  and
              the least significant five represent blue) and for depth 24 and 32 is RGB888.

       $wmDecoration = "8x64";
              Sets  the  adjustment  of  $geometry  to  accommodate the window decoration used by the X11 window
              manager. This is used to fully display the VNC desktop even if the  VNC  viewer  is  not  in  full
              screen mode.

       $getDefaultFrom
              This  option  lets  you  set  the  display from which you can query the default of the above three
              options, if you don't want to start tigervncserver from within a running  X  server.  It  will  be
              added  to  the  call  of  xdpyinfo. It is useful to get the default from the X server you will run
              xtigervncviewer in, because the data has not to be recalculated then.

              $getDefaultFrom = "-display localhost:0"; is an example how to do this.

       $scrapingGeometry = "<width>x<height>+<xoffset>+<yoffset>";
              is only used by the scraping TigerVNC server. It 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+0 is assumed by default (top left corner). If the variable is
              not defined, full screen is shown to VNC clients (this is the default).

       $localhost = "yes";
              Should  the  TigerVNC  server  only listen on localhost for incoming TigerVNC connections. This is
              useful if you use SSH  and  want  to  stop  non-SSH  connections  from  any  other  hosts.  Hence,
              $localhost = "yes"  is  the  default  if  security types are not specified. In this case, only the
              security type VncAuth will be offered. If the security types are specified, either via the  option
              -SecurityTypes  given  to  tigervncserver(1)  or via the $SecurityTypes configuration parameter in
              /etc/tigervnc/vncserver-config-defaults or in $HOME/.config/tigervnc/config.pl, then  the  default
              depends  on  the  specified security types. The default will be $localhost = "no" if the specified
              security types contain at least one of the TLS* or X509* secutity types and also contain  none  of
              the  *None  security types. As always, the defaults can be overwritten on the command line via the
              -localhost option or via the $localhost configuration parameter in /etc/tigervnc/vncserver-config-
              defaults or in $HOME/.config/tigervnc/config.pl.

       $SecurityTypes = "VncAuth";
              The $SecurityTypes parameter contains a comma-separated list of the  default  security  types  the
              Xtigervnc  server  will offer. Available security types are None, VncAuth, Plain, TLSNone, TLSVnc,
              TLSPlain, X509None, X509Vnc, X509Plain, RA2, RA2ne, RA2_256, and  RA2ne_256.  The  *None  security
              types  do not offer any kind of user authentication for connecting VNC sessions.  Hence, combining
              a *None security type and $localhost = "no" is a very bad idea. The TLS* and X509* security  types
              do  enforce  SSL  encryption for data transmission. Hence, combining a TLS* or X509* security type
              and $localhost = "yes" is a senseless idea. Thus, in the case of  $localhost = "no",  the  default
              for $SecurityTypes will be extended from VncAuth to VncAuth,TLSVnc.

       $RequireUsername = "no";
              The  $RequireUsername  configuration parameter specifies if authentication should be performed via
              Unix username and password (yes) or the VNC password file (no) when utilizing one of  the  RSA-AES
              security types (i.e., RA2, RA2ne, RA2_256, or RA2ne_256).

       $PlainUsers = "$ENV{LOGNAME}";
              The  $PlainUsers  configuration  parameter  contains a comma-separated list of user names that are
              allowed to access the VNC server via any of the *Plain  security  types  (i.e.,  Plain,  TLSPlain,
              etc.)  or  the  RSA-AES  security types in the case that $RequireUsername is "yes". Specify "*" to
              allow any user to authenticate using these security types. The default only allows  the  user  who
              has  started  the  VNC  server.  The VNC server checks the password for a user via the PAM service
              given by the $PAMService configuration variable or the -PAMService option.

       $X509Cert and $X509Key
              These two options contain the filenames for a certificate and its key used for the security  types
              X509None,  X509Vnc, and X509Plain. If nothing is specified – the default case – then a self-signed
              certificate     is      auto-generated      by      tigervncserver(1)      and      stored      in
              $HOME/.config/tigervnc/${HOSTFQDN}-SrvCert.pem  and $HOME/.config/tigervnc/${HOSTFQDN}-SrvKey.pem,
              respectively.  If filenames are given for $X509Cert and $X509Key either here  or  on  the  command
              line via -X509Cert and -X509Key options, then the auto-generation is disabled and, the user has to
              take care that a usable certificate is present.

       $RSAKey
              This  option  contains  the  filenames  for  an RSA key in PEM format used by the RSA-AES security
              types. If nothing is specified – the  default  case  –  then  an  RSA  key  is  auto-generated  by
              tigervncserver(1)  and  stored in $HOME/.config/tigervnc/${HOSTFQDN}-SrvRsaKey.pem.  If a filename
              is given for $RSAKey either here or on the command line via the -RSAKey  option,  then  the  auto-
              generation is disabled, and the user has to take care that a usable RSA key is present.

FILES

       /etc/tigervnc/vncserver-config-defaults
              The global configuration file specifying the defaults for tigervncserver and x0tigervncserver.

       ~/.config/tigervnc/config.pl
              The  user's  tigervnc.conf(5x)  configuration  file.   To be compatible with the upstream provided
              wrapper scripts, we will fall back to trying to load configuration from  ~/.config/tigervnc/config
              if  tigervnc.conf  is  not  present.  Note  that ~/.config/tigervnc/config uses key=value lines as
              configuration syntax.

       /etc/tigervnc/vncserver-config-mandatory
              If this file exists and defines options, they will override any of the same options defined  in  a
              user's  config.pl file or ones given on the command line of the wrapper scripts tigervncserver and
              x0tigervncserver. This file offers a mechanism to establish some basic form of system-wide policy.

              WARNING! There is nothing stopping users from constructing their own  wrapper  script  that  calls
              Xtigervnc  or  X0tigervnc  directly  to bypass any options defined in the /etc/tigervnc/vncserver-
              config-mandatory configuration file.

SEE ALSO

       tigervncconfig(1),   tigervncpasswd(1),   tigervncserver(1),   tigervncsession(8),   x0tigervncserver(1),
       Xtigervnc(1), X0tigervnc(1), xtigervncviewer(1)

AUTHOR

       2024  -  Modified  for TigerVNC 1.14.1 by Joachim Falk (Joachim.Falk@gmx.de) 2024 - Modified for TigerVNC
       1.13.1 by Joachim Falk (Joachim.Falk@gmx.de)  2022  -  Modified  for  TigerVNC  1.12.0  by  Joachim  Falk
       (Joachim.Falk@gmx.de)  2021  -  Modified for TigerVNC 1.11.0 by Joachim Falk (Joachim.Falk@gmx.de) 2016 -
       Modified for TigerVNC 1.7 by Joachim Falk (Joachim.Falk@gmx.de) 2006 - Modified for vnc 4.1.2 by  Joachim
       Falk  (Joachim.Falk@gmx.de)  1998  -  Originally  written by Marcus Brinkmann (Marcus.Brinkmann@ruhr-uni-
       bochum.de) for the Debian GNU/Linux Distribution.

TigerVNC 1.14.1                                  Nov 10th, 2024                                tigervnc.conf(5x)