Table des matières

Installation native de Guacamole

Présentation

Guacamole est divisé en deux parties :

guacamole-server

guacd est le démon proxy qui s’exécute sur le serveur Guacamole :

guacd est un exécutable appelé GUACD qui peut être exécuté manuellement ou automatiquement quand votre ordinateur démarre.

La construction de guacamole-server nécessite un compilateur C (comme gcc) et des bibliothèques dont dépend guacamole-server. Certaines dépendances sont absolument obligatoire, tandis que d’autres sont optionnels. La présence de dépendances optionnelles permet des fonctionnalités supplémentaires.

De nombreuses distributions Linux séparent les paquets de bibliothèques en binaires et des paquets « développement » ; Vous devrez installer les packages de développement. Celles-ci se terminent généralement par un suffixe « -dev » ou « -dev ».

Installation

Installer les dépendances indispensables

Pour construire guacamole-server, il faut disposer de :

apt install -y libcairo2-dev libjpeg62-turbo-dev libtool-bin

Installer les dépendances optionnelles

Les dépendances optionnelles de Guacamole dictent quelles parties de guacamole-server seront construites. Cela inclut la prise en charge de divers protocoles de bureau à distance, ainsi que toutes les fonctionnalités supplémentaires de ces protocoles :

apt install -y freerdp3-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libwebsockets-dev libssl-dev libwebp-dev libpulse-dev libvorbis-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libtelnet-dev

Debian 13 ne contient que le dépôt freerdp3 alors que Guacamole nécessite freerdp2. Il est nécessaire de compiler freerdp2 en activant le redimensionnement d’images (-DWITH_SWSCALE=ON).

Installer FreeRDP2

sudo apt install -y libwayland-dev wayland-protocols libxkbcommon-dev
sudo apt install -y libasound2-dev
sudo apt install -y libcups2-dev
sudo apt install -y libpcsclite-dev
sudo apt install -y libxkbfile-dev
sudo apt install -y libxinerama-dev
sudo apt install -y libxcursor-dev
sudo apt install -y libxv-dev
sudo apt install -y libxi-dev
sudo apt install -y libxrandr-dev
sudo apt install -y libxfixes-dev
sudo apt install -y docbook-xsl docbook-xml xsltproc
sudo apt install cmake libsystemd-dev clang-format 
sudo apt install -y libusb-1.0-0-dev libudev-dev pkg-config

git clone --branch 2.11.7 https://github.com/FreeRDP/FreeRDP.git
cd FreeRDP
?? git submodule update --init --recursive
mkdir build && cd build

# nettoyer le cache CMake
rm -f CMakeCache.txt
rm -rf CMakeFiles/
rm -rf build

# lancer la configuration
cmake -DCMAKE_INSTALL_PREFIX=/usr/local \
      -DWITH_CAIRO=ON \
      -DWITH_SWSCALE=ON \
      -DWITH_MANPAGES=ON \
      -DWITH_ALSA=ON \
      -DWITH_CUPS=ON \
      -DWITH_PCSC=ON \
      -DWITH_XKBFILE=ON \
      -DWITH_XINERAMA=ON \
      -DWITH_XCURSOR=ON \
      -DWITH_XV=ON \
      -DWITH_XI=ON \
      -DWITH_XRANDR=ON \
      -DWITH_XFIXES=ON \
      -DWITH_WAYLAND=ON \
      -Wno-dev \
      ..

make -j$(nproc)
sudo make install
sudo ldconfig

Vérifier :

/usr/local/bin/xfreerdp --version

Autres dépendances optionnelles

Obtenir le code source

apt install sudo
adduser guacamole
usermod -aG sudo guacamole
wget https://dlcdn.apache.org/guacamole/1.6.0/source/guacamole-server-1.6.0.tar.gz
tar -xzf guacamole-server-1.6.0.tar.gz
cd guacamole-server-1.6.0

Créer guacamole-server

sudo apt install -y build-essential make pkg-config
sudo sudo ./configure --with-systemd-dir=/etc/systemd/system/
...
------------------------------------------------
guacamole-server version 1.6.0
------------------------------------------------

   Library status:

     freerdp ............. yes (3.x)
     pango ............... yes
     libavcodec .......... yes
     libavformat ......... yes
     libavutil ........... yes
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... yes
     libtelnet ........... yes
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ yes
     libwebsockets ....... yes
     libwebp ............. yes
     wsock32 ............. no

   Protocol support:

      Kubernetes .... yes
      RDP ........... yes
      SSH ........... yes
      Telnet ........ yes
      VNC ........... yes

   Services / tools:

      guacd ...... yes
      guacenc .... yes
      guaclog .... yes

   FreeRDP plugins: /usr/lib/x86_64-linux-gnu/pkgconfig/../../../lib/x86_64-linux-gnu/freerdp3
   Init scripts: no
   Systemd units: /etc/systemd/system/

Type "make" to compile guacamole-server.

configure: WARNING:
  --------------------------------------------
    Support for FreeRDP 3.x is currently experimental. Some features, like
    RemoteApp, have known issues. If not testing, consider using FreeRDP 2.x.
  --------------------------------------------
sudo make