%general-entities; ]> $LastChangedBy$ $Date$ Tigervnc-&tigervnc-version; tigervnc Introduction to Tigervnc Tigervnc is an advanced VNC (Virtual Network Computing) implementation. It allows creation of an Xorg server not tied to a physical console and also provides a client for viewing of the remote graphical desktop. &lfs101_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &tigervnc-md5sum; Download size: &tigervnc-size; Estimated disk space required: &tigervnc-buildsize; Estimated build time: &tigervnc-time; Additional Downloads Required file: The version of Xorg may eventually be a few versions out of date, but is required for the customizations needed for this package. Required patch: Optional files: Tigervnc Dependencies Required , , , , , , , and Recommended and User Notes: Installation of Tigervnc First, make adjustments to the configuration files to make them compatible with LFS systems: patch -Np1 -i ../tigervnc-&tigervnc-version;-configuration_fixes-1.patch Install tigervnc by running the following commands: # Put code in place mkdir -p unix/xserver && tar -xf ../xorg-server-&tigervnc-xorg-version;.tar.bz2 \ --strip-components=1 \ -C unix/xserver && ( cd unix/xserver && patch -Np1 -i ../xserver120.patch ) && # Build viewer cmake -G "Unix Makefiles" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev . && make && # Build server pushd unix/xserver && autoreconf -fiv && CFLAGS="$CFLAGS -I/usr/include/drm" \ ./configure $XORG_CONFIG \ --disable-xwayland --disable-dri --disable-dmx \ --disable-xorg --disable-xnest --disable-xvfb \ --disable-xwin --disable-xephyr --disable-kdrive \ --disable-devel-docs --disable-config-hal --disable-config-udev \ --disable-unit-tests --disable-selective-werror \ --disable-static --enable-dri3 \ --without-dtrace --enable-dri2 --enable-glx \ --with-pic && make && popd This package does not come with a test suite. Now, as the root user: #Install viewer make install && #Install server ( cd unix/xserver/hw/vnc && make install ) && [ -e /usr/bin/Xvnc ] || ln -svf $XORG_PREFIX/bin/Xvnc /usr/bin/Xvnc Finally, modify the PAM file to be compatible with elogind: sed -i 's/pam_systemd.so/pam_elogind.so/' /etc/pam.d/tigervnc Command Explanations tar -xf .. xorg-server...: This command extracts the standard Xorg package into the tree in a location needed for modification. : Most options that are usually needed for the standard Xorg server are not needed for the Xvnc instance being built. [ -e /usr/bin/Xvnc ] || ln ... Xvnc: If the Xvnc server is not installed in the /usr/bin directory, then create a link so the vncserver script can find it. Configuring Tigervnc The default installation of this package makes some changes in the way it is used. The vncserver perl script is placed in /usr/libexec and the server is designed to be run via a systemd style .service file or the vncsession script as the root user. The man page for vncserver is placed in section 8 of the man pages. The new procedures require a display manager to be installed. To restore the previous behavior, as the root user: install -m755 --owner=root ../vncserver /usr/bin && cp ../vncserver.1 /usr/share/man/man1 Using the previous procedures, the user specific configuration files of vncserver reside in the .vnc directory in the user's home directory. The xstartup file in that directory is a script specifying what commands to run when a VNC desktop is started. If no xstartup file exists, vncserver will try to start an xterm in a twm session. An example xstartup would be: #!/bin/sh [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources startlxde & The xstartup file must be executable for the commands in it to be executed, so run chmod a+x ~/.vnc/xstartup. Set up the vnc passwd with vncpasswd. The server can then be started with the vncserver command. See the man pages in section 1 for the vncserver for the server system and vncviewer for the remote system. Server Configuration This section is optional and is only useful if you want to have VNC sessions launch on system startup. Both configuration methods can coexist on the same system. On systemd systems, another method of configuration is available. This configuration provides the added benefit of making tigervnc systemd aware for VNC sessions and allows desktop environments like GNOME to autostart services once the VNC session is started. This configuration also gives the added benefit of starting VNC Sessions on system startup. To setup the VNC server in this fashion, follow these instructions. First, install a rudimentary Xsession file so that the VNC server can initialize X sessions properly: install -vdm755 /etc/X11/tigervnc && install -v -m755 ../Xsession /etc/X11/tigervnc Next, setup a user mapping in /etc/tigervnc/vncserver.users. This tells the VNC Server which session is allocated to a user. echo ":1=$(whoami)" >> /etc/tigervnc/vncserver.users Next, setup a configuration file to tell vncserver which desktop environment should be used and what display geometry should be used. There are several other options that can be defined in this file, but they are outside the scope of BLFS. cat > ~/.vnc/config << EOF # Begin ~/.vnc/config session=LXDE # The session must match one listed in /usr/share/xsessions. geometry=1024x768 # End ~/.vnc/config EOF To start the VNC Server, run the following command: systemctl start vncserver@:1 To start the VNC Server when the system boots, run the following command: systemctl enable vncserver@:1 Contents Installed Programs Installed Libraries Installed Directories Xvnc, vncconfig, vncpasswd, vncserver, vncviewer, and x0vncserver libvnc.so /usr/share/doc/tigervnc-&tigervnc-version; Short Descriptions Xvnc is a X VNC (Virtual Network Computing) server. It is based on a standard X server, but it has a virtual screen rather than a physical one Xvnc vncconfig is a program to configure and control a VNC server vncconfig vncpasswd allows you to set the password used to access VNC desktops vncpasswd vncserver is a perl script used to start or stop a VNC server vncserver vncviewer is a client used to connect to VNC desktops vncviewer x0vncserver is a program to make an X display on a physical terminal accessible via TigerVNC or compatible viewers x0vncserver