source: xsoft/other/tigervnc.xml@ e90d74e

12.1 ken/TL2024 lazarus trunk xry111/llvm18
Last change on this file since e90d74e was 504cdb3a, checked in by Douglas R. Reno <renodr@…>, 4 months ago

TigerVNC: Use LXQt instead of LXDE.

  • Property mode set to 100644
File size: 17.2 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 "3a794e3a063443e07250de8e99e2e05a">
10 <!ENTITY tigervnc-size "1.8 MB">
11 <!ENTITY tigervnc-buildsize "97 MB">
12 <!ENTITY tigervnc-time "0.4 SBU (Using parallelism=4)">
13 <!ENTITY tigervnc-xorg-version "21.1.11">
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 &lfs120_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-&tigervnc-xorg-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-&tigervnc-xorg-version;.tar.xz \
164 --strip-components=1 \
165 -C unix/xserver &amp;&amp;
166( cd unix/xserver &amp;&amp;
167 patch -Np1 -i ../xserver21.1.1.patch ) &amp;&amp;
168
169# Build viewer
170cmake -G "Unix Makefiles" \
171 -DCMAKE_INSTALL_PREFIX=/usr \
172 -DCMAKE_BUILD_TYPE=Release \
173 -DINSTALL_SYSTEMD_UNITS=OFF \
174 -Wno-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-&tigervnc-xorg-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 -DCMAKE_INSTALL_PREFIX=/usr \
205 -DCMAKE_BUILD_TYPE=Release \
206 -Wno-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;
236
237#Install server
238( cd unix/xserver/hw/vnc &amp;&amp; make install ) &amp;&amp;
239
240[ -e /usr/bin/Xvnc ] || ln -svf $XORG_PREFIX/bin/Xvnc /usr/bin/Xvnc</userinput></screen>
241
242 <para revision="sysv">
243 Finally, modify the PAM file to be compatible with elogind:
244 </para>
245
246<screen role="root" revision="sysv"><userinput>sed -i 's/pam_systemd.so/pam_elogind.so/' /etc/pam.d/tigervnc</userinput></screen>
247
248<!-- These are installed as part of 'make install' for the client.
249 <para>
250 Finally, create a menu entry. As the
251 <systemitem class="username">root</systemitem> user:
252 </para>
253
254<screen role="root"><userinput>cat &gt; /usr/share/applications/vncviewer.desktop &lt;&lt; "EOF"
255<literal>[Desktop Entry]
256Type=Application
257Name=TigerVNC Viewer
258Comment=VNC client
259Exec=/usr/bin/vncviewer
260Icon=tigervnc
261Terminal=false
262StartupNotify=false
263Categories=Network;RemoteAccess;</literal>
264EOF
265
266install -vm644 media/icons/tigervnc_24.png /usr/share/pixmaps &amp;&amp;
267ln -sfv tigervnc_24.png /usr/share/pixmaps/tigervnc.png</userinput></screen>
268-->
269 </sect2>
270
271 <sect2 role="commands">
272 <title>Command Explanations</title>
273
274 <para>
275 <command>tar -xf .. xorg-server...</command>: This command extracts the
276 standard Xorg package into the tree in a location needed for modification.
277 </para>
278
279 <para>
280 <parameter>--disable ...</parameter>: Most options that are usually
281 needed for the standard Xorg server are not needed for the Xvnc
282 instance being built.
283 </para>
284
285 <para>
286 <command>[ -e /usr/bin/Xvnc ] || ln ... Xvnc</command>: If the Xvnc server
287 is not installed in the <filename class='directory'>/usr/bin</filename>
288 directory, then create a link so the <command>vncserver</command> script
289 can find it.
290 </para>
291
292 </sect2>
293
294 <sect2 role="configuration">
295 <title>Configuring Tigervnc</title>
296
297 <para revision='sysv'>
298 The default installation of this package makes some changes in the way it
299 is used. The vncserver perl script is placed in /usr/bin/libexec and the
300 server is designed to be run via a systemd style .service file or the
301 vncsession script as the root user. The man page for vncserver is placed
302 in section 8 of the man pages. The new procedures require a display
303 manager to be installed.
304 </para>
305
306 <para revision='sysv'>
307 To restore the previous behavior, install the additional downloaded
308 files as the <systemitem class="username">root</systemitem> user:</para>
309
310<screen role="root" revision='sysv'><userinput>install -m755 --owner=root ../vncserver /usr/bin &amp;&amp;
311cp ../vncserver.1 /usr/share/man/man1</userinput></screen>
312
313 <para revision='sysv'>
314 Using the previous procedures, the user specific configuration files of
315 vncserver reside in the <filename class='directory'>.vnc</filename>
316 directory in the user's home directory. The
317 <filename>xstartup</filename> file in that directory is a script
318 specifying what commands to run when a VNC desktop is started. If no
319 <filename>xstartup</filename> file exists, <command>vncserver</command>
320 will try to start an xterm in a twm session. An example
321 <filename>xstartup</filename> would be:
322 </para>
323
324<screen revision='sysv'>#!/bin/sh
325[ -x /etc/vnc/xstartup ] &amp;&amp; exec /etc/vnc/xstartup
326[ -r $HOME/.Xresources ] &amp;&amp; xrdb $HOME/.Xresources
327startlxde &amp;</screen>
328
329 <para revision='sysv'>
330 The <filename>xstartup</filename> file must be executable for the
331 commands in it to be executed, so run <command>chmod a+x
332 ~/.vnc/xstartup</command>.
333 </para>
334
335 <para revision='sysv'>
336 Set up the vnc passwd with <command>vncpasswd</command>. The
337 server can then be started with the <command>vncserver</command>
338 command.
339 See the man pages in section 1 for the vncserver for the server
340 system and vncviewer for the remote system.
341 </para>
342
343 <bridgehead renderas="sect3" revision="systemd">Server Configuration</bridgehead>
344
345 <!--
346 <note revision="systemd">
347 <para>
348 This section is optional and is only useful if you want to have VNC
349 sessions launch on system startup. Both configuration methods can
350 coexist on the same system.
351 </para>
352 </note>
353 -->
354 <para revision="systemd">
355 On systemd systems, another method of configuration is available.
356 This configuration provides the added benefit of making tigervnc
357 systemd aware for VNC sessions and allows desktop environments like
358 <application>GNOME</application> to autostart services once the VNC
359 session is started. This configuration also gives the added benefit
360 of starting VNC Sessions on system startup. To set up the VNC server
361 in this fashion, follow these instructions.
362 </para>
363
364 <para revision="systemd">
365 First, install a rudimentary Xsession file so that the VNC server
366 can initialize X sessions properly:
367 </para>
368
369<screen role="root" revision="systemd"><userinput>install -vdm755 /etc/X11/tigervnc &amp;&amp;
370install -v -m755 ../Xsession /etc/X11/tigervnc</userinput></screen>
371
372 <para revision="systemd">
373 Next, set up a user mapping in
374 <filename>/etc/tigervnc/vncserver.users</filename>. This tells the VNC
375 Server which session is allocated to a user.
376 <!-- For example: :1=renodr will assign 'renodr' to :1 -->
377 </para>
378
379<screen role="root" revision="systemd"><userinput>echo ":1=$(whoami)" >> /etc/tigervnc/vncserver.users</userinput></screen>
380
381 <para revision="systemd">
382 Next, set up a configuration file to tell
383 <application>vncserver</application> which desktop environment should be
384 used and what display geometry should be used. There are several other
385 options that can be defined in this file, but they are outside the scope
386 of BLFS.
387 </para>
388
389<screen revision="systemd"><userinput>install -vdm 755 ~/.vnc &amp;&amp;
390cat &gt; ~/.vnc/config &lt;&lt; EOF
391<literal># Begin ~/.vnc/config
392# The session must match one listed in /usr/share/xsessions.
393# Ensure that there are no spaces at the end of the lines.
394
395session=lxqt
396geometry=1024x768
397
398# End ~/.vnc/config</literal>
399EOF</userinput></screen>
400
401 <para revision="systemd">
402 To start the VNC Server, run the following command:
403 </para>
404
405<screen role="root" revision="systemd"><userinput>systemctl start vncserver@:1</userinput></screen>
406
407 <para revision="systemd">
408 To start the VNC Server when the system boots, run the following command:
409 </para>
410
411<screen role="root" revision="systemd"><userinput>systemctl enable vncserver@:1</userinput></screen>
412
413 </sect2>
414
415 <sect2 role="content">
416 <title>Contents</title>
417
418 <segmentedlist>
419 <segtitle>Installed Programs</segtitle>
420 <segtitle>Installed Libraries</segtitle>
421 <segtitle>Installed Directories</segtitle>
422
423 <seglistitem>
424 <seg>Xvnc,
425 vncconfig,
426 vncpasswd,
427 vncserver,
428 vncviewer, and
429 x0vncserver</seg>
430
431 <seg>libvnc.so</seg>
432 <seg>/usr/share/doc/tigervnc-&tigervnc-version;</seg>
433 </seglistitem>
434 </segmentedlist>
435
436 <variablelist>
437 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
438 <?dbfo list-presentation="list"?>
439 <?dbhtml list-presentation="table"?>
440
441 <varlistentry id="xvnc">
442 <term><command>Xvnc</command></term>
443 <listitem>
444 <para>
445 is a X VNC (Virtual Network Computing) server.
446 It is based on a standard X server, but it has a
447 <quote>virtual</quote> screen rather than a physical one
448 </para>
449 <indexterm zone="tigervnc xvnc">
450 <primary sortas="b-xvnc">Xvnc</primary>
451 </indexterm>
452 </listitem>
453 </varlistentry>
454
455 <varlistentry id="vncconfig">
456 <term><command>vncconfig</command></term>
457 <listitem>
458 <para>
459 is a program to configure and control a VNC server
460 </para>
461 <indexterm zone="tigervnc vncconfig">
462 <primary sortas="b-vncconfig">vncconfig</primary>
463 </indexterm>
464 </listitem>
465 </varlistentry>
466
467 <varlistentry id="vncpasswd">
468 <term><command>vncpasswd</command></term>
469 <listitem>
470 <para>
471 allows you to set the password used to access VNC desktops
472 </para>
473 <indexterm zone="tigervnc vncpasswd">
474 <primary sortas="b-vncpasswd">vncpasswd</primary>
475 </indexterm>
476 </listitem>
477 </varlistentry>
478
479 <varlistentry id="vncserver">
480 <term><command>vncserver</command></term>
481 <listitem>
482 <para>
483 is a perl script used to start or stop a VNC server
484 </para>
485 <indexterm zone="tigervnc vncserver">
486 <primary sortas="b-vncserver">vncserver</primary>
487 </indexterm>
488 </listitem>
489 </varlistentry>
490
491 <varlistentry id="vncviewer">
492 <term><command>vncviewer</command></term>
493 <listitem>
494 <para>
495 is a client used to connect to VNC desktops
496 </para>
497 <indexterm zone="tigervnc vncviewer">
498 <primary sortas="b-vncviewer">vncviewer</primary>
499 </indexterm>
500 </listitem>
501 </varlistentry>
502
503 <varlistentry id="x0vncserver">
504 <term><command>x0vncserver</command></term>
505 <listitem>
506 <para>
507 is a program to make an X display on a physical
508 terminal accessible via TigerVNC or compatible viewers
509 </para>
510 <indexterm zone="tigervnc x0vncserver">
511 <primary sortas="b-x0vncserver">x0vncserver</primary>
512 </indexterm>
513 </listitem>
514 </varlistentry>
515
516 </variablelist>
517
518 </sect2>
519
520</sect1>
Note: See TracBrowser for help on using the repository browser.