source: xsoft/other/tigervnc.xml@ b277093d

trunk
Last change on this file since b277093d was b4609782, checked in by Douglas R. Reno <renodr@…>, 3 months ago

TigerVNC: comment out unnecessary note

This might become necessary again if a new major version of Xorg Server
breaks this package's build process.

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