source: xsoft/other/tigervnc.xml@ 2b4ea67

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 2b4ea67 was b59e5eb3, checked in by David Bryant <davidbryant@…>, 19 months ago

Fixed a common misspelling. "setup" is a noun. When "set up" is a
phrasal verb, it is spelled as two words. This commit fixes most of
the misspelled "set up" instances in the BLFS book.

  • Property mode set to 100644
File size: 17.1 KB
RevLine 
[133cfd33]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[8dfc5c3]7 <!ENTITY tigervnc-download-http "https://github.com/TigerVNC/tigervnc/archive/v&tigervnc-version;/tigervnc-&tigervnc-version;.tar.gz">
[f5f898c5]8 <!ENTITY tigervnc-download-ftp " ">
[cd9f166a]9 <!ENTITY tigervnc-md5sum "e92945f43654e2a120f2c9d8b3a9b869">
10 <!ENTITY tigervnc-size "1.5 MB">
11 <!ENTITY tigervnc-buildsize "101 MB">
[3b696780]12 <!ENTITY tigervnc-time "0.5 SBU (Using parallelism=4)">
13 <!ENTITY tigervnc-xorg-version "1.20.7">
[133cfd33]14]>
15
16<sect1 id="tigervnc" xreflabel="tigervnc-&tigervnc-version;">
17 <?dbhtml filename="tigervnc.html"?>
18
19
20 <title>Tigervnc-&tigervnc-version;</title>
21
22 <indexterm zone="tigervnc">
23 <primary sortas="a-tigervnc">tigervnc</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to Tigervnc</title>
28
[622c1021]29 <para>
30 <application>Tigervnc</application> is an advanced VNC (Virtual
31 Network Computing) implementation. It allows creation of an Xorg server
32 not tied to a physical console and also provides a client for
33 viewing of the remote graphical desktop.
[133cfd33]34 </para>
35
[1bbb5dd]36 &lfs112_checked;
[133cfd33]37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
[622c1021]41 <para>
42 Download (HTTP): <ulink url="&tigervnc-download-http;"/>
43 </para>
[133cfd33]44 </listitem>
45 <listitem>
[622c1021]46 <para>
47 Download (FTP): <ulink url="&tigervnc-download-ftp;"/>
48 </para>
[133cfd33]49 </listitem>
50 <listitem>
[622c1021]51 <para>
52 Download MD5 sum: &tigervnc-md5sum;
53 </para>
[133cfd33]54 </listitem>
55 <listitem>
[622c1021]56 <para>
57 Download size: &tigervnc-size;
58 </para>
[133cfd33]59 </listitem>
60 <listitem>
[622c1021]61 <para>
62 Estimated disk space required: &tigervnc-buildsize;
63 </para>
[133cfd33]64 </listitem>
65 <listitem>
[622c1021]66 <para>
67 Estimated build time: &tigervnc-time;
68 </para>
[133cfd33]69 </listitem>
70 </itemizedlist>
71
72 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
73 <itemizedlist spacing="compact">
74 <listitem>
75 <para>
76 Required file:
[0269d30]77 <ulink url="&xorg-download-http;/xserver/xorg-server-&tigervnc-xorg-version;.tar.bz2"/>
[133cfd33]78 </para>
79 </listitem>
80 </itemizedlist>
81
[622c1021]82 <note>
83 <para>
84 The version of <application>Xorg</application> may eventually be a few
85 versions out of date, but is required for the customizations needed
86 for this package.
87 </para>
88 </note>
[422ae04c]89
[555f708]90 <itemizedlist spacing="compact">
[019bc05]91 <listitem>
92 <para>
93 Required patch:
94 <ulink url="&patch-root;/tigervnc-&tigervnc-version;-configuration_fixes-1.patch"/>
95 </para>
96 </listitem>
[a027bdde]97 <listitem revision='sysv'>
98 <para>
99 Optional file to start the server without a display manager:
100 <ulink url="&sources-anduin-http;/tigervnc/vncserver"/>
101 </para>
102 </listitem>
103 <listitem revision='sysv'>
104 <para>
105 Optional manual page:
106 <ulink url="&sources-anduin-http;/tigervnc/vncserver.1"/>
107 </para>
108 </listitem>
109 <listitem revision='systemd'>
[555f708]110 <para>
[a027bdde]111 Optional file to start the server without a display manager:
112 <ulink url="&sources-anduin-http;/tigervnc/Xsession"/>
[555f708]113 </para>
114 </listitem>
115 </itemizedlist>
116
[133cfd33]117 <bridgehead renderas="sect3">Tigervnc Dependencies</bridgehead>
118
119 <bridgehead renderas="sect4">Required</bridgehead>
120 <para role="required">
121 <xref linkend="cmake"/>,
122 <xref linkend="fltk"/>,
123 <xref linkend="gnutls"/>,
124 <xref linkend="libgcrypt"/>,
125 <xref linkend="libjpeg"/>,
[8558044]126 <xref linkend="pixman"/>,
127 <xref linkend="xorg7-app"/>, and
[124f752c]128 <xref linkend="xorg7-legacy"/>
[133cfd33]129 </para>
130
131 <bridgehead renderas="sect4">Recommended</bridgehead>
132 <para role="recommended">
133 <xref linkend="imagemagick"/> and
134 <xref linkend="linux-pam"/>
135 </para>
136
137 <para condition="html" role="usernotes">User Notes:
138 <ulink url="&blfs-wiki;/tigervnc"/></para>
139
140 </sect2>
141
142 <sect2 role="installation">
143 <title>Installation of Tigervnc</title>
144
[019bc05]145 <para>
146 First, make adjustments to the configuration files to make them
147 compatible with LFS systems:
148 <!-- Replaces an incompatible PAM file and disables SELinux support
149 in systemd units. Also modifies the search path for
150 /usr/libexec/vncserver to include /etc/X11/tigervnc -->
151 </para>
152
153<screen><userinput remap="pre">patch -Np1 -i ../tigervnc-&tigervnc-version;-configuration_fixes-1.patch</userinput></screen>
154
[622c1021]155 <para>
156 Install <application>tigervnc</application> by running the following
157 commands:
158 </para>
[133cfd33]159
[5e279f2]160<screen revision="sysv"><userinput># Put code in place
161mkdir -p unix/xserver &amp;&amp;
162tar -xf ../xorg-server-&tigervnc-xorg-version;.tar.bz2 \
163 --strip-components=1 \
164 -C unix/xserver &amp;&amp;
165( cd unix/xserver &amp;&amp;
166 patch -Np1 -i ../xserver120.patch ) &amp;&amp;
167
168# Build viewer
169cmake -G "Unix Makefiles" \
170 -DCMAKE_INSTALL_PREFIX=/usr \
171 -DCMAKE_BUILD_TYPE=Release \
172 -DINSTALL_SYSTEMD_UNITS=OFF \
173 -Wno-dev . &amp;&amp;
174make &amp;&amp;
175
176# Build server
177pushd unix/xserver &amp;&amp;
178 autoreconf -fiv &amp;&amp;
179
180 CPPFLAGS="-I/usr/include/drm" \
181 ./configure $XORG_CONFIG \
182 --disable-xwayland --disable-dri --disable-dmx \
183 --disable-xorg --disable-xnest --disable-xvfb \
184 --disable-xwin --disable-xephyr --disable-kdrive \
185 --disable-devel-docs --disable-config-hal --disable-config-udev \
186 --disable-unit-tests --disable-selective-werror \
187 --disable-static --enable-dri3 \
188 --without-dtrace --enable-dri2 --enable-glx \
189 --with-pic &amp;&amp;
190 make &amp;&amp;
191popd</userinput></screen>
192
193<screen revision="systemd"><userinput># Put code in place
[3b696780]194mkdir -p unix/xserver &amp;&amp;
[3b9bfde]195tar -xf ../xorg-server-&tigervnc-xorg-version;.tar.bz2 \
196 --strip-components=1 \
197 -C unix/xserver &amp;&amp;
198( cd unix/xserver &amp;&amp;
199 patch -Np1 -i ../xserver120.patch ) &amp;&amp;
[133cfd33]200
[b636cda3]201# Build viewer
202cmake -G "Unix Makefiles" \
203 -DCMAKE_INSTALL_PREFIX=/usr \
204 -DCMAKE_BUILD_TYPE=Release \
[9cb3c66d]205 -Wno-dev . &amp;&amp;
[133cfd33]206make &amp;&amp;
207
[b636cda3]208# Build server
209pushd unix/xserver &amp;&amp;
[76ceca6]210 autoreconf -fiv &amp;&amp;
[133cfd33]211
[f4302700]212 CPPFLAGS="-I/usr/include/drm" \
[76ceca6]213 ./configure $XORG_CONFIG \
[fabfce3c]214 --disable-xwayland --disable-dri --disable-dmx \
[133cfd33]215 --disable-xorg --disable-xnest --disable-xvfb \
216 --disable-xwin --disable-xephyr --disable-kdrive \
[f5f898c5]217 --disable-devel-docs --disable-config-hal --disable-config-udev \
[133cfd33]218 --disable-unit-tests --disable-selective-werror \
[fabfce3c]219 --disable-static --enable-dri3 \
[f9dd885]220 --without-dtrace --enable-dri2 --enable-glx \
[b636cda3]221 --with-pic &amp;&amp;
[76ceca6]222 make &amp;&amp;
[133cfd33]223popd</userinput></screen>
224
[622c1021]225 <para>
226 This package does not come with a test suite.
227 </para>
[133cfd33]228
[622c1021]229 <para>
230 Now, as the <systemitem class="username">root</systemitem> user:
231 </para>
[133cfd33]232
[b636cda3]233<screen role="root"><userinput>#Install viewer
234make install &amp;&amp;
[133cfd33]235
[b636cda3]236#Install server
[3b9bfde]237( cd unix/xserver/hw/vnc &amp;&amp; make install ) &amp;&amp;
[fdc0c0a0]238
[133cfd33]239[ -e /usr/bin/Xvnc ] || ln -svf $XORG_PREFIX/bin/Xvnc /usr/bin/Xvnc</userinput></screen>
[019bc05]240
241 <para revision="sysv">
242 Finally, modify the PAM file to be compatible with elogind:
243 </para>
244
245<screen role="root" revision="sysv"><userinput>sed -i 's/pam_systemd.so/pam_elogind.so/' /etc/pam.d/tigervnc</userinput></screen>
246
[1d23596]247<!-- These are installed as part of 'make install' for the client.
[622c1021]248 <para>
249 Finally, create a menu entry. As the
250 <systemitem class="username">root</systemitem> user:
251 </para>
[133cfd33]252
253<screen role="root"><userinput>cat &gt; /usr/share/applications/vncviewer.desktop &lt;&lt; "EOF"
254<literal>[Desktop Entry]
255Type=Application
256Name=TigerVNC Viewer
257Comment=VNC client
258Exec=/usr/bin/vncviewer
259Icon=tigervnc
260Terminal=false
261StartupNotify=false
262Categories=Network;RemoteAccess;</literal>
[b636cda3]263EOF
264
[fbbc908]265install -vm644 media/icons/tigervnc_24.png /usr/share/pixmaps &amp;&amp;
[b636cda3]266ln -sfv tigervnc_24.png /usr/share/pixmaps/tigervnc.png</userinput></screen>
[1d23596]267-->
[133cfd33]268 </sect2>
269
270 <sect2 role="commands">
271 <title>Command Explanations</title>
272
[622c1021]273 <para>
274 <command>tar -xf .. xorg-server...</command>: This command extracts the
275 standard Xorg package into the tree in a location needed for modification.
276 </para>
[b636cda3]277
[622c1021]278 <para>
[a027bdde]279 <parameter>--disable ...</parameter>: Most options that are usually
280 needed for the standard Xorg server are not needed for the Xvnc
281 instance being built.
[622c1021]282 </para>
[133cfd33]283
[622c1021]284 <para>
285 <command>[ -e /usr/bin/Xvnc ] || ln ... Xvnc</command>: If the Xvnc server
286 is not installed in the <filename class='directory'>/usr/bin</filename>
287 directory, then create a link so the <command>vncserver</command> script
288 can find it.
289 </para>
[133cfd33]290
291 </sect2>
292
293 <sect2 role="configuration">
294 <title>Configuring Tigervnc</title>
295
[2737c2fd]296 <para revision='sysv'>
[555f708]297 The default installation of this package makes some changes in the way it
298 is used. The vncserver perl script is placed in /usr/libexec and the
299 server is designed to be run via a systemd style .service file or the
[8558044]300 vncsession script as the root user. The man page for vncserver is placed
301 in section 8 of the man pages. The new procedures require a display
[555f708]302 manager to be installed.
303 </para>
304
[2737c2fd]305 <para revision='sysv'>
306 To restore the previous behavior, install the additional downloaded
307 files as the <systemitem class="username">root</systemitem> user:</para>
[f37b5a32]308
[a027bdde]309<screen role="root" revision='sysv'><userinput>install -m755 --owner=root ../vncserver /usr/bin &amp;&amp;
[f37b5a32]310cp ../vncserver.1 /usr/share/man/man1</userinput></screen>
311
[2737c2fd]312 <para revision='sysv'>
[555f708]313 Using the previous procedures, the user specific configuration files of
314 vncserver reside in the <filename class='directory'>.vnc</filename>
315 directory in the user's home directory. The
316 <filename>xstartup</filename> file in that directory is a script
317 specifying what commands to run when a VNC desktop is started. If no
318 <filename>xstartup</filename> file exists, <command>vncserver</command>
319 will try to start an xterm in a twm session. An example
320 <filename>xstartup</filename> would be:
[622c1021]321 </para>
[133cfd33]322
[2737c2fd]323<screen revision='sysv'>#!/bin/sh
[133cfd33]324[ -x /etc/vnc/xstartup ] &amp;&amp; exec /etc/vnc/xstartup
325[ -r $HOME/.Xresources ] &amp;&amp; xrdb $HOME/.Xresources
326startlxde &amp;</screen>
327
[2737c2fd]328 <para revision='sysv'>
[a74d9d6]329 The <filename>xstartup</filename> file must be executable for the
[555f708]330 commands in it to be executed, so run <command>chmod a+x
331 ~/.vnc/xstartup</command>.
[a74d9d6]332 </para>
333
[2737c2fd]334 <para revision='sysv'>
[9816b812]335 Set up the vnc passwd with <command>vncpasswd</command>. The
[555f708]336 server can then be started with the <command>vncserver</command>
[9816b812]337 command.
[555f708]338 See the man pages in section 1 for the vncserver for the server
339 system and vncviewer for the remote system.
340 </para>
[a74d9d6]341
[019bc05]342 <bridgehead renderas="sect3" revision="systemd">Server Configuration</bridgehead>
343
[e56cae4b]344 <!--
[019bc05]345 <note revision="systemd">
346 <para>
347 This section is optional and is only useful if you want to have VNC
[8558044]348 sessions launch on system startup. Both configuration methods can
[019bc05]349 coexist on the same system.
350 </para>
351 </note>
[e56cae4b]352 -->
[019bc05]353 <para revision="systemd">
354 On systemd systems, another method of configuration is available.
[8558044]355 This configuration provides the added benefit of making tigervnc
[f433fbd]356 systemd aware for VNC sessions and allows desktop environments like
[019bc05]357 <application>GNOME</application> to autostart services once the VNC
358 session is started. This configuration also gives the added benefit
[b59e5eb3]359 of starting VNC Sessions on system startup. To set up the VNC server
[019bc05]360 in this fashion, follow these instructions.
361 </para>
362
363 <para revision="systemd">
364 First, install a rudimentary Xsession file so that the VNC server
365 can initialize X sessions properly:
366 </para>
367
368<screen role="root" revision="systemd"><userinput>install -vdm755 /etc/X11/tigervnc &amp;&amp;
369install -v -m755 ../Xsession /etc/X11/tigervnc</userinput></screen>
370
371 <para revision="systemd">
[b59e5eb3]372 Next, set up a user mapping in
[019bc05]373 <filename>/etc/tigervnc/vncserver.users</filename>. This tells the VNC
374 Server which session is allocated to a user.
375 <!-- For example: :1=renodr will assign 'renodr' to :1 -->
376 </para>
377
378<screen role="root" revision="systemd"><userinput>echo ":1=$(whoami)" >> /etc/tigervnc/vncserver.users</userinput></screen>
379
380 <para revision="systemd">
[b59e5eb3]381 Next, set up a configuration file to tell
[019bc05]382 <application>vncserver</application> which desktop environment should be
383 used and what display geometry should be used. There are several other
384 options that can be defined in this file, but they are outside the scope
385 of BLFS.
386 </para>
387
[8430372]388<screen revision="systemd"><userinput>install -vdm 755 ~/.vnc &amp;&amp;
389cat &gt; ~/.vnc/config &lt;&lt; EOF
[019bc05]390<literal># Begin ~/.vnc/config
391
392session=LXDE # The session must match one listed in /usr/share/xsessions.
393geometry=1024x768
394
395# End ~/.vnc/config</literal>
396EOF</userinput></screen>
397
398 <para revision="systemd">
399 To start the VNC Server, run the following command:
400 </para>
401
402<screen role="root" revision="systemd"><userinput>systemctl start vncserver@:1</userinput></screen>
403
404 <para revision="systemd">
405 To start the VNC Server when the system boots, run the following command:
406 </para>
407
408<screen role="root" revision="systemd"><userinput>systemctl enable vncserver@:1</userinput></screen>
409
[133cfd33]410 </sect2>
411
412 <sect2 role="content">
413 <title>Contents</title>
414
415 <segmentedlist>
416 <segtitle>Installed Programs</segtitle>
417 <segtitle>Installed Libraries</segtitle>
418 <segtitle>Installed Directories</segtitle>
419
420 <seglistitem>
[f3429309]421 <seg>Xvnc,
422 vncconfig,
423 vncpasswd,
424 vncserver,
425 vncviewer, and
[133cfd33]426 x0vncserver</seg>
[f3429309]427
[133cfd33]428 <seg>libvnc.so</seg>
[b636cda3]429 <seg>/usr/share/doc/tigervnc-&tigervnc-version;</seg>
[133cfd33]430 </seglistitem>
431 </segmentedlist>
432
433 <variablelist>
434 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
435 <?dbfo list-presentation="list"?>
436 <?dbhtml list-presentation="table"?>
437
438 <varlistentry id="xvnc">
439 <term><command>Xvnc</command></term>
440 <listitem>
[622c1021]441 <para>
442 is a X VNC (Virtual Network Computing) server.
443 It is based on a standard X server, but it has a
[4c24eb0a]444 <quote>virtual</quote> screen rather than a physical one
[622c1021]445 </para>
[133cfd33]446 <indexterm zone="tigervnc xvnc">
447 <primary sortas="b-xvnc">Xvnc</primary>
448 </indexterm>
449 </listitem>
450 </varlistentry>
451
452 <varlistentry id="vncconfig">
453 <term><command>vncconfig</command></term>
454 <listitem>
[622c1021]455 <para>
[4c24eb0a]456 is a program to configure and control a VNC server
[622c1021]457 </para>
[133cfd33]458 <indexterm zone="tigervnc vncconfig">
459 <primary sortas="b-vncconfig">vncconfig</primary>
460 </indexterm>
461 </listitem>
462 </varlistentry>
463
[28370fe]464 <varlistentry id="vncpasswd">
465 <term><command>vncpasswd</command></term>
466 <listitem>
467 <para>
[4c24eb0a]468 allows you to set the password used to access VNC desktops
[28370fe]469 </para>
470 <indexterm zone="tigervnc vncpasswd">
471 <primary sortas="b-vncpasswd">vncpasswd</primary>
472 </indexterm>
473 </listitem>
474 </varlistentry>
475
[133cfd33]476 <varlistentry id="vncserver">
477 <term><command>vncserver</command></term>
478 <listitem>
[622c1021]479 <para>
[4c24eb0a]480 is a perl script used to start or stop a VNC server
[622c1021]481 </para>
[133cfd33]482 <indexterm zone="tigervnc vncserver">
483 <primary sortas="b-vncserver">vncserver</primary>
484 </indexterm>
485 </listitem>
486 </varlistentry>
487
488 <varlistentry id="vncviewer">
489 <term><command>vncviewer</command></term>
490 <listitem>
[622c1021]491 <para>
[4c24eb0a]492 is a client used to connect to VNC desktops
[622c1021]493 </para>
[133cfd33]494 <indexterm zone="tigervnc vncviewer">
495 <primary sortas="b-vncviewer">vncviewer</primary>
496 </indexterm>
497 </listitem>
498 </varlistentry>
499
500 <varlistentry id="x0vncserver">
501 <term><command>x0vncserver</command></term>
502 <listitem>
[622c1021]503 <para>
504 is a program to make an X display on a physical
[4c24eb0a]505 terminal accessible via TigerVNC or compatible viewers
[622c1021]506 </para>
[133cfd33]507 <indexterm zone="tigervnc x0vncserver">
508 <primary sortas="b-x0vncserver">x0vncserver</primary>
509 </indexterm>
510 </listitem>
511 </varlistentry>
512
513 </variablelist>
514
515 </sect2>
516
517</sect1>
Note: See TracBrowser for help on using the repository browser.