source: xsoft/other/tigervnc.xml@ e56cae4b

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 e56cae4b was e56cae4b, checked in by Douglas R. Reno <renodr@…>, 3 years ago

tigervnc: Note is no longer valid

  • 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 <!--
312 <note revision="systemd">
313 <para>
314 This section is optional and is only useful if you want to have VNC
315 sessions launch on system startup. Both configuration methods can
316 coexist on the same system.
317 </para>
318 </note>
319 -->
320 <para revision="systemd">
321 On systemd systems, another method of configuration is available.
322 This configuration provides the added benefit of making tigervnc
323 systemd aware for VNC sessions and allows desktop environments like
324 <application>GNOME</application> to autostart services once the VNC
325 session is started. This configuration also gives the added benefit
326 of starting VNC Sessions on system startup. To setup the VNC server
327 in this fashion, follow these instructions.
328 </para>
329
330 <para revision="systemd">
331 First, install a rudimentary Xsession file so that the VNC server
332 can initialize X sessions properly:
333 </para>
334
335<screen role="root" revision="systemd"><userinput>install -vdm755 /etc/X11/tigervnc &amp;&amp;
336install -v -m755 ../Xsession /etc/X11/tigervnc</userinput></screen>
337
338 <para revision="systemd">
339 Next, setup a user mapping in
340 <filename>/etc/tigervnc/vncserver.users</filename>. This tells the VNC
341 Server which session is allocated to a user.
342 <!-- For example: :1=renodr will assign 'renodr' to :1 -->
343 </para>
344
345<screen role="root" revision="systemd"><userinput>echo ":1=$(whoami)" >> /etc/tigervnc/vncserver.users</userinput></screen>
346
347 <para revision="systemd">
348 Next, setup a configuration file to tell
349 <application>vncserver</application> which desktop environment should be
350 used and what display geometry should be used. There are several other
351 options that can be defined in this file, but they are outside the scope
352 of BLFS.
353 </para>
354
355<screen revision="systemd"><userinput>cat &gt; ~/.vnc/config &lt;&lt; EOF
356<literal># Begin ~/.vnc/config
357
358session=LXDE # The session must match one listed in /usr/share/xsessions.
359geometry=1024x768
360
361# End ~/.vnc/config</literal>
362EOF</userinput></screen>
363
364 <para revision="systemd">
365 To start the VNC Server, run the following command:
366 </para>
367
368<screen role="root" revision="systemd"><userinput>systemctl start vncserver@:1</userinput></screen>
369
370 <para revision="systemd">
371 To start the VNC Server when the system boots, run the following command:
372 </para>
373
374<screen role="root" revision="systemd"><userinput>systemctl enable vncserver@:1</userinput></screen>
375
376 </sect2>
377
378 <sect2 role="content">
379 <title>Contents</title>
380
381 <segmentedlist>
382 <segtitle>Installed Programs</segtitle>
383 <segtitle>Installed Libraries</segtitle>
384 <segtitle>Installed Directories</segtitle>
385
386 <seglistitem>
387 <seg>Xvnc,
388 vncconfig,
389 vncpasswd,
390 vncserver,
391 vncviewer, and
392 x0vncserver</seg>
393
394 <seg>libvnc.so</seg>
395 <seg>/usr/share/doc/tigervnc-&tigervnc-version;</seg>
396 </seglistitem>
397 </segmentedlist>
398
399 <variablelist>
400 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
401 <?dbfo list-presentation="list"?>
402 <?dbhtml list-presentation="table"?>
403
404 <varlistentry id="xvnc">
405 <term><command>Xvnc</command></term>
406 <listitem>
407 <para>
408 is a X VNC (Virtual Network Computing) server.
409 It is based on a standard X server, but it has a
410 <quote>virtual</quote> screen rather than a physical one
411 </para>
412 <indexterm zone="tigervnc xvnc">
413 <primary sortas="b-xvnc">Xvnc</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
418 <varlistentry id="vncconfig">
419 <term><command>vncconfig</command></term>
420 <listitem>
421 <para>
422 is a program to configure and control a VNC server
423 </para>
424 <indexterm zone="tigervnc vncconfig">
425 <primary sortas="b-vncconfig">vncconfig</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
430 <varlistentry id="vncpasswd">
431 <term><command>vncpasswd</command></term>
432 <listitem>
433 <para>
434 allows you to set the password used to access VNC desktops
435 </para>
436 <indexterm zone="tigervnc vncpasswd">
437 <primary sortas="b-vncpasswd">vncpasswd</primary>
438 </indexterm>
439 </listitem>
440 </varlistentry>
441
442 <varlistentry id="vncserver">
443 <term><command>vncserver</command></term>
444 <listitem>
445 <para>
446 is a perl script used to start or stop a VNC server
447 </para>
448 <indexterm zone="tigervnc vncserver">
449 <primary sortas="b-vncserver">vncserver</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
453
454 <varlistentry id="vncviewer">
455 <term><command>vncviewer</command></term>
456 <listitem>
457 <para>
458 is a client used to connect to VNC desktops
459 </para>
460 <indexterm zone="tigervnc vncviewer">
461 <primary sortas="b-vncviewer">vncviewer</primary>
462 </indexterm>
463 </listitem>
464 </varlistentry>
465
466 <varlistentry id="x0vncserver">
467 <term><command>x0vncserver</command></term>
468 <listitem>
469 <para>
470 is a program to make an X display on a physical
471 terminal accessible via TigerVNC or compatible viewers
472 </para>
473 <indexterm zone="tigervnc x0vncserver">
474 <primary sortas="b-x0vncserver">x0vncserver</primary>
475 </indexterm>
476 </listitem>
477 </varlistentry>
478
479 </variablelist>
480
481 </sect2>
482
483</sect1>
Note: See TracBrowser for help on using the repository browser.