source: xsoft/other/tigervnc.xml@ 2737c2fd

11.0 11.1 11.2 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 upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 2737c2fd was 2737c2fd, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Update and tag tigervnc.
The configuration instructions were not separated between sysv
and systemd sufficiently.

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