source: xsoft/other/tigervnc.xml@ a57b443

10.1 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 a57b443 was a57b443, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Tags and a minor format change.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24303 af4574ff-66df-0310-9fd7-8a98e5e911e0

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