source: xsoft/other/tigervnc.xml@ 1e0d054a

12.2 lazarus trunk
Last change on this file since 1e0d054a was 2c93420, checked in by Bruce Dubbs <bdubbs@…>, 2 months ago

Update to tigervnc-1.14.0.

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