Capítulo 7. Sistema GUI (interface gráfica de utilizador)

# Capítulo 7. Sistema GUI (interface gráfica de utilizador)

## 7.1. Ambiente de trabalho GUI

Existem várias escolhas para o ambiente de trabalho GUI completo no sistema Debian.

Tabela 7.1. Lista de ambientes de trabalho

pacote de tarefas | popcon | tamanho | descrição
--- | --- | --- | ---
`task-gnome-desktop` | I:187 | 9 | Ambiente de trabalho GNOME
`task-xfce-desktop` | I:88 | 9 | Ambiente de trabalho Xfce
`task-kde-desktop` | I:93 | 6 | Ambiente de trabalho KDE Plasma
`task-mate-desktop` | I:31 | 9 | Ambiente de trabalho MATE
`task-cinnamon-desktop` | I:36 | 9 | Ambiente de trabalho Cinnamon
`task-lxde-desktop` | I:20 | 9 | Ambiente de trabalho LXDE
`task-lxqt-desktop` | I:17 | 9 | Ambiente de trabalho LXQt
`task-gnome-flashback-desktop` | I:9.9 | 6 | Ambiente de trabalho GNOME Flashback

| Dica

Os pacotes de dependências selecionados por um meta-pacote de tarefas podem estar fora de sincronia com o último estado de transição de pacotes sob o ambiente Debian `unstable`/`testing`. Para `task-gnome-desktop`, pode ser necessário ajustar as seleções de pacotes como se segue:

- Inicie aptitude(8) como `sudo aptitude -u`.

- Mova o cursor para "Tarefas" e prima "Enter".

- Mova o cursor para "Utilizador final" e prima "Enter".

- Mova o cursor para "GNOME" e prima "Enter".

- Mova o cursor para `task-gnome-desktop` e prima "Enter".

- Mova o cursor para "Dependências" e prima "m" (selecionado manualmente).

- Mova o cursor para "Recomendado" e prima "m" (seleção manual).

- Mova o cursor para "`task-gnome-desktop` " e prima "-". (excluir)

- Ajusta os pacotes selecionados e elimina os pacotes problemáticos que causam conflitos de pacotes.

- Prima "g" para iniciar a instalação.

Este capítulo irá focar-se principalmente no ambiente de trabalho predefinido de Debian: `task-gnome-desktop` que oferece o GNOME em wayland.

## 7.2. Protocolo de comunicação GUI

O protocolo de comunicação GUI utilizado no ambiente de trabalho GNOME pode ser:

- Wayland (protocolo de servidor de ecrã) (nativo)

- Protocolo central do sistema X Window (via `xwayland`)

Consulte o site freedesktop.org para saber como a arquitetura Wayland é diferente da arquitetura X Window.

Do ponto de vista do utilizador, as diferenças podem ser resumidas coloquialmente como:

- Wayland é um protocolo de comunicação GUI para o mesmo host: novo, mais simples, mais rápido, sem binário raiz setuid

- X Window é um protocolo de comunicação GUI com capacidade de rede: tradicional, complexo, mais lento, binário de raiz setuid

Para as aplicações que utilizam o protocolo Wayland, o acesso ao seu conteúdo de visualização a partir de um anfitrião remoto é suportado pelo VNC ou RDP. Ver Seção 7.8, “Área de trabalho remota”

Os servidores X modernos têm a Extensão de Memória Partilhada do MIT e comunicam com os seus clientes X locais utilizando a memória partilhada local. Isso contorna o canal de comunicação interprocessos Xlib transparente da rede e ganha desempenho. Esta situação foi o antecedente da criação do Wayland como um protocolo de comunicação GUI apenas local.

Utilizando o programa `xeyes` iniciado a partir do terminal GNOME, pode verificar o protocolo de comunicação GUI utilizado por cada aplicação GUI.

     $ xeyes

- Se o cursor do rato estiver numa aplicação como o "terminal GNOME", que utiliza o protocolo de servidor de visualização Wayland, os olhos não se movem com o cursor do rato.

- Se o cursor do rato estiver numa aplicação como o "xterm", que utiliza o protocolo central do sistema X Window, os olhos movem-se com o cursor do rato, expondo a natureza não tão isolada da arquitetura do X Window.

A partir de abril de 2021, muitas aplicações GUI populares, como as aplicações de GNOME e LibreOffice (LO), foram migradas para o protocolo de servidor de ecrã Wayland. Vejo que as aplicações `xterm`, `gitk`, `chromium`, `firefox`, `gimp`, `dia`, e KDE ainda utilizam o protocolo central do X Window System.

| Nota
Tanto para o xwayland no Wayland como para o X Window System nativo, o antigo ficheiro de configuração do servidor X "`/etc/X11/xorg.conf`" não deve existir no sistema. Os dispositivos gráficos e de entrada são agora configurados pelo kernel com DRM, KMS, e udev. O servidor X nativo foi reescrito para os utilizar. Veja "suporte a modo de vídeo predefinido modedb" na documentação do kernel Linux.

## 7.3. Infraestrutura GUI

Aqui estão os pacotes de infraestrutura GUI notáveis para o ambiente GNOME em Wayland.

Tabela 7.2. Lista de pacotes de infra-estruturas GUI notáveis

pacote | popcon | tamanho do pacote | descrição
--- | --- | --- | ---
`mutter` | V:1, I:24 | 215 | O gerenciador de janelas mutter do GNOME [auto]
`xwayland` | V:249, I:329 | 2652 | Um servidor X a correr em cima do wayland [auto]
`gnome-remote-desktop` | V:139, I:236 | 2453 | Daemon de desktop remoto para GNOME usando PipeWire [auto]
`gnome-tweaks` | V:16, I:228 | 1145 | Definições de configuração avançadas para o GNOME
`gnome-shell-extension-prefs` | V:7, I:121 | 73 | Ferramenta para ativar / desativar extensões do GNOME Shell

Aqui, "[auto]" significa que estes pacotes são instalados automaticamente quando `task-gnome-desktop` é instalado.

| Dica

`O gnome-tweaks` é o utilitário de configuração indispensável. Por exemplo:

- Pode forçar a "Sobre-amplificação" do volume do som a partir de "Geral".

- Pode forçar "Caps" a tornar-se "Esc" em "Teclado & Rato" -> "Teclado" -> "Opção de esquema adicional".

| Dica
As caraterísticas detalhadas do ambiente de trabalho GNOME podem ser configuradas com utilitários iniciados escrevendo "`settings`", "`tweaks`", ou "`extensions`" depois de premir a tecla `Super`-.

## 7.4. Aplicações GUI

Muitas aplicações GUI úteis estão agora disponíveis em Debian. Instalar pacotes de software como o `scribus` (KDE) no ambiente de desktop GNOME é bastante aceitável dado que a funcionalidade correspondente não está disponível no ambiente de desktop GNOME. Mas a instalação de demasiados pacotes com funcionalidades duplicadas pode sobrecarregar o seu sistema.

Aqui está uma lista de aplicações que me chamaram a atenção.

Tabela 7.3. Lista de aplicações GUI notáveis

pacote | popcon | tamanho do pacote | tipo | descrição
--- | --- | --- | --- | ---
`evolution` | V:25, I:225 | 489 | GNOME | Gestor de Informações Pessoais (groupware e email)
`thunderbird` | V:41, I:103 | 274581 | GTK | Cliente de correio eletrónico (Mozilla Thunderbird)
`kontact` | V:1.0, I:9.3 | 2360 | KDE | Gestor de Informações Pessoais (groupware e email)
`libreoffice-writer` | V:107, I:418 | 34123 | LO | processador de texto
`abiword` | V:0.9, I:5.2 | 3596 | GNOME | processador de texto
`calligrawords` | V:0.2, I:2.9 | 7134 | KDE | processador de texto
`scribus` | V:1, I:12 | 32415 | KDE | desktop publishing editor para editar ficheiros PDF
`glabels` | V:0.3, I:2.6 | 1283 | GNOME | editor de etiquetas
`libreoffice-calc` | V:104, I:415 | 28733 | LO | folha de cálculo
`gnumeric` | V:3, I:11 | 9945 | GNOME | folha de cálculo
`calligrasheets` | V:0.1, I:1.8 | 14012 | KDE | folha de cálculo
`libreoffice-impress` | V:91, I:414 | 2485 | LO | apresentação
`calligrastage` | V:0.1, I:1.8 | 6194 | KDE | apresentação
`libreoffice-base` | V:21, I:69 | 5050 | LO | gestão de base de dados
`kexi` | V:0.06, I:0.86 | 7565 | KDE | gestão de base de dados
`libreoffice-draw` | V:91, I:414 | 11209 | LO | editor de gráficos vectoriais (desenho)
`inkscape` | V:11, I:76 | 113353 | GNOME | editor de gráficos vectoriais (desenho)
`karbon` | V:0.1, I:2.3 | 4004 | KDE | editor de gráficos vectoriais (desenho)
`dia` | V:1, I:15 | 3846 | GTK | editor de fluxogramas e diagramas
`gimp` | V:41, I:214 | 32779 | GTK | editor de gráficos bitmap (pintura)
`shotwell` | V:14, I:243 | 6334 | GTK | organizador de fotos digitais
`digikam` | V:1.5, I:8.6 | 325 | KDE | organizador de fotos digitais
`darktable` | V:4, I:11 | 35876 | GTK | mesa de luz e câmara escura para fotógrafos
`gnome-video-trimmer` | V:0.2, I:1.1 | 1665 | GNOME | corte sem perdas de ficheiros de vídeo
`kdenlive` | V:3, I:22 | 19821 | KDE | editor de vídeo não-linear
`shotcut` | V:1.0, I:7.1 | 7943 | Aplicação Qt | editor de vídeo não-linear
`openshot-qt` | V:0.9, I:9.3 | 196007 | Aplicação Qt | editor de vídeo não-linear
`flowblade` | V:0.2, I:2.3 | 42213 | GTK | editor de vídeo não-linear
`planner` | V:0.1, I:3.2 | 1400 | GNOME | gestão de projectos
`calligraplan` | V:0.1, I:1.8 | 23545 | KDE | gestão de projectos
`gnucash` | V:2.3, I:7.2 | 29451 | GNOME | contas pessoais
`homebank` | V:0.3, I:1.7 | 3194 | GTK | contas pessoais
`kmymoney` | V:0.5, I:2.0 | 19289 | KDE | contas pessoais
`frescobaldi` | V:0.2, I:1.5 | 11102 | Aplicação Qt | editor de texto de partituras musicais LilyPond
`librecad` | V:1, I:12 | 9164 | Aplicação Qt | sistema de desenho assistido por computador (CAD) (2D)
`freecad` | V:1, I:19 | 112 | Aplicação Qt | sistema de conceção assistida por computador (CAD) (3D)
`kicad` | V:3, I:13 | 222895 | GTK | software de desenho de esquemas electrónicos e PCB
`xsane` | V:8, I:129 | 1512 | GTK | frontend para digitalizador (scanner)
`libreoffice-math` | V:87, I:417 | 1958 | LO | editor de fórmulas/equações matemáticas
`calibre` | V:7, I:26 | 69924 | KDE | conversor de e-books e gestor de biblioteca
`fbreader` | V:0.6, I:6.0 | 3827 | GTK | leitor de e-book
`evince` | V:72, I:282 | 942 | GNOME | visualizador de documentos (pdf)
`okular` | V:41, I:129 | 4419 | KDE | visualizador de documentos (pdf)
`x11-apps` | V:30, I:440 | 2461 | Aplicação X pura | xeyes(1), etc.
`x11-utils` | V:222, I:551 | 651 | Aplicação X pura | xev(1), xwininfo(1), etc.

## 7.5. Diretórios de utilizador

Os nomes predefinidos para as diretorias de utilizador, tais como "`~/Desktop`", "`~/Documents`", ..., utilizados pelo ambiente de trabalho dependem da configuração regional utilizada para a instalação do sistema. Pode redefini-los para os nomes ingleses através de:

     $ LANGUAGE=C xdg-user-dirs-update --force

Depois mova manualmente todos os dados para os diretórios mais recentes. Veja xdg-user-dirs-update(1).

Pode também defini-los com qualquer nome editando "`~/.config/user-dirs.dirs`". Veja user-dirs.dirs(5).

## 7.6. Fontes

Muitas fontes escaláveis úteis estão disponíveis para os utilizadores em Debian. A preocupação do utilizador é como evitar a redundância e como configurar partes das fontes instaladas para serem desativadas. Caso contrário, as opções de tipos de letra inúteis podem sobrecarregar os menus das aplicações GUI.

O sistema Debian usa a biblioteca FreeType 2.0 para rasterizar muitos formatos de fontes escaláveis para ecrã e impressão:

- tipos de letra Tipo 1 (PostScript) que usam curvas de Bézier cúbicas (formato quase obsoleto)

- Tipos de letra TrueType que utilizam curvas Bézier quadráticas (formato de boa escolha)

- Tipos de letra OpenType que utilizam curvas Bézier cúbicas (formato de melhor escolha)

### 7.6.1. Fontes (tipos de letra) básicas

A tabela que se segue foi compilada na esperança de ajudar os utilizadores a escolherem fontes escaláveis adequadas com uma compreensão clara da compatibilidade métrica e da cobertura de glifos. A maioria das fontes cobre todos os caracteres latinos, gregos e cirílicos. A escolha final das fontes ativadas também pode ser afetada pela sua estética. Estas fontes podem ser utilizadas para a visualização no ecrã ou para a impressão em papel.

Tabela 7.4. Lista de tipos de letra notáveis TrueType e OpenType

pacote | popcon | tamanho | sans | serif | mono | nota sobre o tipo de letra
--- | --- | --- | --- | --- | --- | ---
fonts-cantarell | V:173, I:285 | 224 | 59 | - | - | Cantarell (GNOME 3, ecrã)
fonts-noto | I:151 | 30 | 61 | 63 | 40 | Noto fonts (Google, multilingue com CJK)
fonts-dejavu | I:384 | 34 | 58 | 68 | 40 | DejaVu (GNOME 2, MCM:Verdana, estendida Bitstream Vera)
fonts-liberation2 | V:44, I:168 | 15 | 56 | 60 | 40 | Liberation fonts para LibreOffice (Red Hat, MCMATC)
fonts-croscore | V:20, I:36 | 5260 | 56 | 60 | 40 | Chrome OS: Arimo, Tinos e Cousine (Google, MCMATC)
fonts-crosextra-carlito | V:20, I:91 | 2696 | 57 | - | - | Chrome OS: Carlito (Google, MCM:Calibri )
fonts-crosextra-caladea | V:12, I:85 | 347 | - | 55 | - | Chrome OS: Caladea (Google, MCM:Cambria ) (Latin only )
fonts-freefont-ttf | V:79, I:203 | 14460 | 57 | 59 | 40 | GNU FreeFont (estendida URW Nimbus)
fonts-quicksand | V:207, I:447 | 392 | 56 | - | - | Debian task-desktop, Quicksand (ecrã, apenas Latin)
fonts-hack | V:34, I:136 | 2507 | - | - | 40 P | Um tipo de letra concebido para o código fonte Hack (Facebook)
fonts-sil-gentiumplus | V:0, I:28 | 14345 | - | 54 | - | Gentium SIL
fonts-sil-charis | V:1, I:28 | 6704 | - | 59 | - | Charis SIL
fonts-urw-base35 | V:190, I:528 | 15558 | 56 | 60 | 40 | URW Nimbus (Nimbus Sans, Roman No. 9 L, Mono L, MCAHTC)
fonts-ubuntu | V:2.2, I:4.7 | 4339 | 58 | - | 33 P | Ubuntu fonts (ecrã)
fonts-terminus | V:0.3, I:4.0 | 451 | - | - | 33 | Tipos de letra para terminais retro
ttf-mscorefonts-installer | V:1, I:39 | 85 | 56? | 60 | 40 | Descarregador de tipos de letra não gratuitos da Microsoft (ver abaixo)

Aqui:

- "MCM" significa "métrica compatível com os tipos de letra fornecidos pela Microsoft"

- "MCMATC" significa "métrica compatível com os tipos de letra fornecidos pela Microsoft: Arial, Times New Roman, Courier New"

- "MCAHTC" significa "métrica compatível com os tipos de letra fornecidos pela Adobe: Helvética, Times, Courier"

- Os números nas colunas de tipo de letra representam a largura "M" relativa aproximada para o mesmo tamanho de letra.

- O "P" em colunas de tipo de letra mono representa a sua facilidade de utilização para a programação, com "0"/"O" e "1"/"I"/"l" claramente distinguíveis.

- O pacote `ttf-mscorefonts-installer` descarrega as "Fonts de núcleo para a Web" da Microsoft e instala Arial, Times New Roman, Courier New, Verdana, ... . Estes dados de tipos de letra instalados são dados não livres.

Muitos tipos de letra latinos gratuitos têm a sua linhagem na família URW Nimbus ou Bitstream Vera.

| Dica
Se a sua localidade precisa de tipos de letra que não estão bem cobertos pelos tipos de letra acima, por favor utilize o aptitude para verificar os pacotes de tarefas listados em "Tarefas" -> "Localização". Os pacotes de fontes listados como "Dependências:" ou "Recomendados:" nos pacotes de tarefas de localização são os principais candidatos.

### 7.6.2. Rasterização de tipos de letra

Debian usa FreeType para rasterizar as fontes. A sua infraestrutura de escolha de fontes é fornecida pela biblioteca de configuração de fontes Fontconfig.

Tabela 7.5. Lista de fontes ambiente notáveis e pacotes relacionados

pacote | popcon | tamanho | descrição
--- | --- | --- | ---
`libfreetype6` | V:583, I:997 | 1018 | FreeType biblioteca de rasterização de tipos de letra
`libfontconfig1` | V:573, I:810 | 344 | Fontconfig, uma biblioteca de configuração de tipos de letra genérica -- binários de suporte
`fontconfig` | V:464, I:692 | 415 | `fc-*`: comandos CLI para Fontconfig
`font-manager` | V:2.4, I:7.0 | 1116 | Gestor de Tipos de Letra: comando para GUI Fontconfig
`nautilus-font-manager` | V:0.11, I:0.43 | 38 | Extensão Nautilus para o Gestor de Tipos de Letra

| Dica

Alguns pacotes de tipos de letra, como o `fonts-noto*`, instalam demasiados tipos de letra. Poderá também querer manter alguns pacotes de tipos de letra instalados mas desactivados numa situação de utilização normal. Os glifos múltiplos são esperados para alguns pontos de código Unicode devido à unificação Han e os glifos indesejados podem ser escolhidos pela biblioteca Fontconfig não configurada. Um dos casos mais incómodos é "U+3001 IDEOGRAPHIC COMMA" e "U+3002 IDEOGRAPHIC FULL STOP" entre os países CJK. Pode evitar facilmente esta situação problemática configurando a disponibilidade dos tipos de letra utilizando a GUI do gestor de tipos de (letra (font-manager).

Pode verificar informação de configuração de tipos de letra pelo seguinte.

- "`fc-match(1)`" para o tipo de letra predefinido do fontconfig

- "`fc-list(1)`" para tipos de letra disponíveis fontconfig

Pode configurar o estado de configuração da fonte a partir do editor de texto mas isto não é trivial. Veja fonts.conf(5).

## 7.7. Sandbox

Muitas das aplicações GUI em Linux estão disponíveis em formatos binários a partir de fontes não-Debian.

- AppImage -- Aplicações Linux que correm em qualquer lugar

- FLATHUB -- Aplicações para Linux, aqui mesmo

- snapcraft -- A loja de aplicações para Linux

| Atenção
Os binários destes sítios podem incluir pacotes de software proprietário não-livre.

Existe alguma razão de ser para estas distribuições em formato binário para os aficionados do Software Livre que usam Debian, uma vez que estas podem acomodar um conjunto limpo de bibliotecas usadas para cada aplicação pelo respetivo programador original, independentemente das fornecidas por Debian.

O risco inerente de executar binários externos pode ser reduzido usando o ambiente sandbox que aproveita os recursos modernos de segurança do Linux (veja Seção 4.7.5, “Caraterísticas de segurança do Linux”).

- Para binários do AppImage e de alguns sites upstream, execute-os no firejail com configuração manual.

- Para binários do FLATHUB, execute-os no Flatpak . (Não é necessária nenhuma configuração manual.)

- Para binários do snapcraft, execute-os no Snap . (Não é necessária configuração manual. Compatível com programas daemon.)

O pacote `xdg-desktop-portal` fornece uma API padronizada para recursos comuns de desktop. Veja xdg-desktop-portal (flatpak) e xdg-desktop-portal (snap) .

Tabela 7.6. Lista de ambientes sandbox notáveis e pacotes relacionados

pacote | popcon | tamanho | descrição
--- | --- | --- | ---
`flatpak` | V:107, I:115 | 9278 | Estrutura de implantação de aplicações Flatpak para aplicações de ambiente de trabalho
`gnome-software-plugin-flatpak` | V:30, I:42 | 283 | Suporte Flatpak para o software GNOME
`snapd` | V:61, I:64 | 78931 | Daemon e ferramentas que habilitam pacotes snap
`gnome-software-plugin-snap` | V:1.5, I:2.3 | 145 | Suporte Snap para o software GNOME
`xdg-desktop-portal` | V:365, I:434 | 2291 | portal de integração no ambiente de trabalho para Flatpak e Snap
`xdg-desktop-portal-gtk` | V:329, I:432 | 715 | backend xdg-desktop-portal para gtk (GNOME)
`xdg-desktop-portal-kde` | V:79, I:111 | 3324 | backend do xdg-desktop-portal para Qt (KDE)
`xdg-desktop-portal-wlr` | V:2.3, I:5.4 | 159 | backend do xdg-desktop-portal para wlroots (Wayland)
`firejail` | V:1.3, I:4.7 | 1827 | um programa de segurança sandbox SUID firejail para uso com o AppImage

Esta tecnologia de espaço isolado "sandbox" é muito semelhante às aplicações no sistema operativo dos telefones inteligentes, em que as aplicações são executadas com acessos controlados aos recursos.

Algumas aplicações GUI grandes tais como navegadores web em Debian também usam a tecnologia de ambiente sandbox internamente para torná-los mais seguros.

## 7.8. Área de trabalho remota

Tabela 7.7. Lista de servidores de acesso remoto notáveis

O acesso ao ambiente de trabalho e às aplicações que utilizam o protocolo Wayland e são executadas no anfitrião remoto é suportado pelo Ambiente de Trabalho Remoto GNOME no anfitrião remoto através de VNC ou RDP para o cliente local.

O acesso às capacidades de ambiente de trabalho de todas as máquinas virtuais QEMU é suportado pelo protocolo SPICE (Simple Protocol for Independent Computing Environments).

pacote | popcon | tamanho | protocolos | descrição
--- | --- | --- | --- | ---
`gnome-remote-desktop` | V:139, I:236 | 2453 | RDP | Servidor de Ambiente de Trabalho Remoto GNOME
`xrdp` | V:27, I:29 | 4669 | RDP | xrdp, servidor de Protocolo de Ambiente de Trabalho Remoto (RDP)
`x11vnc` | V:9, I:44 | 1863 | RFB (VNC) | x11vnc, servidor VNC (Remote Framebuffer Protocol)
`tigervnc-standalone-server` | V:5, I:15 | 2960 | RFB (VNC) | TigerVNC, servidor VNC (Remote Framebuffer Protocol)
`gnome-connections` | V:6, I:139 | 1695 | RDP, RFB (VNC) | Cliente de ambiente de trabalho remoto GNOME
`vinagre` | V:1, I:23 | 4249 | RDP, RFB (VNC), SPICE, SSH | Vinagre: cliente de área de trabalho remota GNOME
`remmina` | V:16, I:62 | 983 | RDP, RFB (VNC), SPICE, SSH, ... | Remmina: cliente de ambiente de trabalho remoto GTK
`krdc` | V:2, I:14 | 4144 | RDP, RFB (VNC) | KRDC: cliente de área de trabalho remota do KDE
`virt-viewer` | V:3, I:38 | 1278 | RFB (VNC), SPICE | Cliente de visualização GUI do Gestor de Máquina Virtual do SO convidado

## 7.9. Ligação ao servidor X

Existem várias formas de ligar uma aplicação num anfitrião remoto ao servidor X, incluindo o `xwayland` no anfitrião local.

Tabela 7.8. Lista de métodos de ligação ao servidor X

pacote | popcon | tamanho | comando | descrição
--- | --- | --- | --- | ---
`openssh-server` | V:772, I:820 | 3594 | `sshd` com a opção `X11-forwarding` | SSH servidor (seguro)
`openssh-client` | V:657, I:996 | 3521 | `ssh -X` | SSH cliente (seguro)
`xauth` | V:189, I:973 | 81 | `xauth` | Utilitário de ficheiro de autoridade X
`x11-xserver-utils` | V:304, I:528 | 559 | `xhost` | controlo de acesso do servidor para X

### 7.9.1. Ligação local do servidor X

O acesso ao servidor X local por parte das aplicações locais que utilizam o protocolo X core pode ser ligado localmente através de um socket de domínio UNIX local. Isto pode ser autorizado pelo ficheiro de autoridade que contém o cookie de acesso. A localização do ficheiro de autoridade é identificada pela variável de ambiente "`$XAUTHORITY`" e o ecrã X é identificado pela variável de ambiente "`$DISPLAY`". Uma vez que estas são normalmente definidas automaticamente, não é necessária nenhuma ação especial, e.g. "`gitk`" como o seguinte.

    username $ gitk

| Nota
Para `xwayland`, `XAUTHORITY` tem um valor como "`/run/user/1000/.mutter-Xwaylandauth.YVSU30`".

### 7.9.2. Ligação remota ao servidor X

O acesso ao ecrã do servidor X local a partir das aplicações remotas que utilizam o protocolo central X é suportado através da utilização da funcionalidade de reencaminhamento X11.

- Abrir um `gnome-terminal` na máquina local.

- Execute ssh(1) com a opção `-X` para estabelecer uma ligação com o sítio remoto, como se segue.

      localname @ localhost $ ssh -q -X loginname@remotehost.domain
      Password:

- Execute um comando de aplicação X, ex. "`gitk`", no site remoto com o seguinte.

      loginname @ remotehost $ gitk

Este método pode mostrar o resultado de um cliente X remoto como se ele estivesse ligado localmente através de um socket de domínio UNIX local.

Veja Seção 6.3, “O servidor de acesso remoto e utilitários (SSH)” para SSH/SSHD.

| Atenção
Uma ligação TCP/IP remota ao servidor X está desativada por predefinição no sistema Debian por razões de segurança. Não a ative definindo simplesmente "`xhost +`" nem ativando ligação XDMCP, se o puder evitar.

### 7.9.3. Ligação chroot do servidor X

O acesso ao servidor X por parte das aplicações que utilizam o protocolo central X e que são executadas no mesmo anfitrião, mas num ambiente como o chroot, onde o ficheiro de autoridade não está acessível, pode ser autorizado de forma segura com o `xhost`, utilizando o acesso baseado no utilizador, por exemplo, "`gitk`" como o seguinte.

    username $ xhost + si:localuser:root ; sudo chroot /path/to
    # cd /src
    # gitk
    # exit
    username $ xhost -

## 7.10. Área de transferência (Clipboard)

Para recortar texto para a área de transferência, ver Seção 1.4.4, “Operações com o rato”.

Para recortar gráficos para a área de transferência, consulte Seção 11.6, “Ferramentas de dados gráficos”.

Alguns comandos CLI também podem manipular a área de transferência de caracteres (PRIMARY e CLIPBOARD).

Tabela 7.9. Lista de programas relacionados com a manipulação da área de transferência de caracteres

pacote | popcon | tamanho do pacote | alvo | descrição
--- | --- | --- | --- | ---
`xsel` | V:7, I:42 | 55 | X | interface de linha de comandos para seleções X (área de transferência)
`xclip` | V:18, I:79 | 62 | X | interface de linha de comandos para seleções X (área de transferência)
`wl-clipboard` | V:9, I:27 | 174 | Wayland | `wl-copy` `wl-paste`: interface de linha de comando para a área de transferência do Wayland
`gpm` | V:8.2, I:9.1 | 524 | Consola do Linux | um daemon que captura eventos do rato na consola Linux

Capítulo 6. Aplicações de rede |  | Capítulo 8. I18N e L10N