Tigervnc-1.16.2

Introdução ao Tigervnc

Tigervnc é uma implementação avançada de VNC (Virtual Network Computing). Ele permite a criação de um servidor Xorg não vinculado a um console físico e também fornece um cliente para visualização da área de trabalho gráfica remota.

[Nota]

Nota

Esse pacote é conhecido por construir e funcionar adequadamente usando-se uma plataforma LFS 13.1.

Informação do Pacote

Transferências Adicionais

[Nota]

Nota

A versão do Xorg pode eventualmente estar algumas versões desatualizadas, mas é exigida para as personalizações necessárias para esse pacote.

Dependências do Tigervnc

Exigidas

CMake-4.4.2, FLTK-1.3.11, GnuTLS-3.8.13, libgcrypt-1.12.2, libjpeg-turbo-3.2.0, Pixman-0.46.4, Systemd-261.2 (com Linux-PAM-1.7.2), Aplicativos do Xorg, xinit-1.4.4 e Fontes Legadas do Xorg

Recomendadas

Opcionais

FFmpeg-9.0.1

Instalação do Tigervnc

Primeiro, faça ajustes nos arquivos de configuração para torná-los compatíveis com sistemas LFS:

patch -Np1 -i ../tigervnc-1.16.2-configuration_fixes-1.patch

A seguir, adapte para nettle-4 e superiores:

grep -rl _digest | xargs sed -Ei '/digest/s/([^,]*),.*,(.*)/\1,\2/' &&
grep -rl _DIGEST | xargs sed -i '/DIGEST/s/, 16//'

Instale o tigervnc executando os seguintes comandos:

# Put code in place
mkdir -p unix/xserver &&
tar -xf ../xorg-server-21.1.24.tar.xz \
    --strip-components=1              \
    -C unix/xserver                   &&

pushd unix/xserver                             &&
  patch -Np1 -i ../xserver21.patch             &&
  sed -e '/sha.h/s/sha/sha1/'                  \
      -e '/sha1/a #include <nettle/version.h>' \
      -e 's/ctx, 20/ctx/'                      \
      -i os/xsha1.c                            &&
popd                                           &&

# Build viewer
cmake -G "Unix Makefiles"          \
      -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -W no-author .               &&
make                               &&

# Build server
pushd unix/xserver &&
  autoreconf -fiv  &&

  CPPFLAGS="-I/usr/include/drm"       \
  ./configure $XORG_CONFIG            \
      --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        --disable-dri         \
      --without-dtrace      --enable-dri2        --enable-glx          \
      --with-pic &&
  make           &&
popd

Esse pacote não vem com uma suíte de teste.

Agora, como o(a) usante root:

# Install viewer
make install &&
mv  /usr/share/doc/tigervnc /usr/share/doc/tigervnc-1.16.2

# Install server
( cd unix/xserver/hw/vnc && make install )                     &&
cp  unix/vncserver/vncserver@.service /usr/lib/systemd/system/ &&
install -m755 unix/vncserver/vncsession-start /usr/libexec/    &&

[ -e /usr/bin/Xvnc ] || ln -svf $XORG_PREFIX/bin/Xvnc /usr/bin/Xvnc

Explicações do Comando

tar -xf .. xorg-server...: Esse comando extrai o pacote padrão do Xorg na árvore em um local necessário para modificação.

--disable ...: A maioria das opções que normalmente são necessárias para o servidor Xorg padrão não é necessária para a instância Xvnc sendo construída.

[ -e /usr/bin/Xvnc ] || ln ... Xvnc: Se o servidor Xvnc não estiver instalado no diretório /usr/bin, então crie um link, de forma que o conjunto de comandos sequenciais vncserver consiga encontrá-lo.

Configurando o Tigervnc

Configuração do Servidor

Nos sistemas systemd, outro método de configuração está disponível. Esta configuração oferece o benefício adicional de tornar o tigervnc systemd ciente das sessões do VNC e permite que ambientes de área de trabalho, como GNOME, iniciem serviços automaticamente assim que a sessão do VNC for iniciada. Esta configuração também oferece o benefício adicional de iniciar Sessões do VNC na inicialização do sistema. Para configurar o servidor VNC dessa forma, siga estas instruções.

Primeiro, instale um arquivo Xsession rudimentar, de forma que o servidor VNC consiga inicializar adequadamente as sessões do X. Como o(a) usante root:

install -vdm755 /etc/X11/tigervnc &&
install -v -m755 ../Xsession /etc/X11/tigervnc

Em seguida, configure um mapeamento de usuário(a) em /etc/tigervnc/vncserver.users. Isso informa ao Servidor VNC qual sessão está alocada para um(a) usuário(a).

ME=$(echo :1=$(whoami))

Então como o(a) usante root:

bash -c "echo $ME >> /etc/tigervnc/vncserver.users"

Em seguida, configure um arquivo de configuração para informar ao vncserver qual ambiente de área de trabalho deveria ser usado e qual geometria de tela deveria ser usada. Existem diversas outras opções que podem ser definidas neste arquivo, mas elas estão fora do escopo do BLFS.

install -vdm 755 ~/.config/tigervnc &&
cat > ~/.config/tigervnc/config << EOF
# Begin ~/.config/tigervnc/config
# The session must match one listed in /usr/share/xsessions.
# Ensure that there are no spaces at the end of the lines.

session=lxqt
geometry=1024x768

# End ~/.config/tigervnc/config
EOF

Para iniciar o Servidor VNC, execute o seguinte comando:

systemctl start vncserver@:1

Para iniciar o Servidor VNC quando o sistema inicializar, execute o seguinte comando:

systemctl enable vncserver@:1

Explicações do Comando

-D ENABLE_H264=ON: Posponha essa chave ao comando cmake para habilitar o suporte à decodificação H264 para o visualizador. Isso exige FFmpeg-9.0.1. Observe que, mesmo com isso, o servidor Xvnc proveniente desse pacote ainda não suporta a codificação H264.

Conteúdo

Aplicativos Instalados: Xvnc, vncconfig, vncpasswd, vncserver, vncviewer e x0vncserver
Bibliotecas Instaladas: libvnc.so
Diretórios Instalados: /usr/share/doc/tigervnc-1.16.2

Descrições Curtas

Xvnc

é um servidor VNC (Virtual Network Computing) do X. Ele é baseado em um servidor padrão do X, mas tem uma tela “virtual” em vez de uma física

vncconfig

é um aplicativo para configurar e controlar um servidor VNC

vncpasswd

permite que você configure a senha usada para acessar áreas de trabalho VNC

vncserver

é um conjunto de comandos sequenciais Perl usado para iniciar ou parar um servidor VNC

vncviewer

é um cliente usado para conectar-se a áreas de trabalho VNC

x0vncserver

é um aplicativo para tornar uma tela do X em um terminal físico acessível via TigerVNC ou visualizadores compatíveis