Installation de Tigervnc
Tout d'abord, ajustez les fichiers de configuration pour les rendre
compatible avec votre système LFS :
patch -Np1 -i ../tigervnc-1.11.0-configuration_fixes-1.patch
Installez tigervnc en lançant les
commandes suivantes :
# Put code in place
mkdir -p unix/xserver &&
tar -xf ../xorg-server-1.20.7.tar.bz2 \
--strip-components=1 \
-C unix/xserver &&
( cd unix/xserver &&
patch -Np1 -i ../xserver120.patch ) &&
# Build viewer
cmake -G "Unix Makefiles" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-Wno-dev . &&
make &&
# Build server
pushd unix/xserver &&
autoreconf -fiv &&
CFLAGS="$CFLAGS -I/usr/include/drm" \
./configure $XORG_CONFIG \
--disable-xwayland --disable-dri --disable-dmx \
--disable-xorg --disable-xnest --disable-xvfb \
--disable-xwin --disable-xephyr --disable-kdrive \
--disable-devel-docs --disable-config-hal --disable-config-udev \
--disable-unit-tests --disable-selective-werror \
--disable-static --enable-dri3 \
--without-dtrace --enable-dri2 --enable-glx \
--with-pic &&
make &&
popd
Ce paquet n'est pas fourni avec une suite de tests.
Maintenant, en tant qu'utilisateur root
:
#Install viewer
make install &&
#Install server
( cd unix/xserver/hw/vnc && make install ) &&
[ -e /usr/bin/Xvnc ] || ln -svf $XORG_PREFIX/bin/Xvnc /usr/bin/Xvnc
Configuration de Tigervnc
L'installation par défaut de ce paquet change un peu la manière de
l'utiliser. Le script perl vncserver est placé dans /usr/libexec et
le serveur est conçu pour être lancé via un fichier .service de
type systemd ou par le script vncsession en tant qu'utilisateur
root. La page de manuel de vncserver se trouve dans la section 8
des pages de manuel. Les nouvelles procédures nécessitent un
gestionnaire d'affichage.
Pour retrouver l'ancien comportement, en tant qu'utilisateur
root
:
install -m755 --owner=root ../vncserver /usr/bin &&
cp ../vncserver.1 /usr/share/man/man1
Avec la procédure précédente, les fichiers de configuration de
vncserver spécifiques à l'utilisateur sont dans le répertoire
.vnc
du répertoire home de
l'utilisateur. Le fichier xstartup
dans ce répertoire est un script spécifiant quelle commande doit
être lancée quand un bureau VNC est démarré. Si le fichier
xstartup
existe, vncserver essayera de démarrer un
xterm dans une session twm. Un exemple de xstartup
peut être :
#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
startlxde &
Le fichier xstartup
doit être
exécutable pour que les commandes à l'intérieur puissent être
exécutées, donc lancez chmod a+x
~/.vnc/xstartup.
Configurez le mot de passe de vnc avec vncpasswd. Le serveur peut
ensuite être démarré avec la commande vncserver. Voir les pages de
manuels dans la section 1 pour vncserver, sur le système serveur,
et pour vncviewer, sur le système distant.
Configuration du serveur
Note
Cette section est facultative et seulement utile si vous voulez
avoir des sessions VNC lancées au démarrage du système. Les deux
méthodes de configuration peuvent exister sur le même système.
Sur les systèmes systemd, une autre méthode de configuration est
disponible. Cette configuration a pour bénéfice supplémentaire de
rendre systemd conscient des sessions VNC et permet aux
environnements de bureau comme GNOME de démarrer automatiquement les services
une fois la session VNC démarrée. Cette configuration permet aussi
de démarrer des sessions VNC au démarrage du système. Pour
configurer le serveur VNC de cette manière, suivez ces
instructions.
D'abord, installez un fichier Xsession rudimentaire pour que le
serveur VNC puisse initialiser les sessions X correctement :
install -vdm755 /etc/X11/tigervnc &&
install -v -m755 ../Xsession /etc/X11/tigervnc
Ensuite, configurez une carte des utilisateurs dans /etc/tigervnc/vncserver.users
. Cela dit au
serveur VNC quelle session est allouée à quel utilisateur.
echo ":1=$(whoami)" >> /etc/tigervnc/vncserver.users
Ensuite, configurez un fichier pour dire à vncserver quel environnement de bureau
utiliser et quelle géométrie utiliser. Il y a plusieurs autres
options qui peuvent être définies dans ce fichier, mais elles ne
rentrent pas dans le cadre de BLFS.
cat > ~/.vnc/config << EOF
# Begin ~/.vnc/config
session=LXDE # The session must match one listed in /usr/share/xsessions.
geometry=1024x768
# End ~/.vnc/config
EOF
Pour démarrer le serveur VNC, lancez la commande suivante :
systemctl start vncserver@:1
Pour démarrer le serveur VNC au démarrage du système, lancez la
commande suivante :
systemctl enable vncserver@:1