Capítulo 7. O Sistema X Window

Índice

7.1. Pacotes chave
7.2. Definir o ambiente de trabalho
7.2.1. Menu Debian
7.2.2. Menu Freedesktop.org
7.2.3. Menu Debian sob o ambiente de trabalho GNOME
7.3. A relação servidor/cliente
7.4. O servidor X
7.4.1. A (re)configuração do servidor X
7.4.2. Os métodos de ligação do servidor X
7.5. Iniciando o X Window System
7.5.1. Iniciar uma sessão X com o gdm
7.5.2. Personalizar a sessão X (método clássico)
7.5.3. Personalizar a sessão X (método novo)
7.5.4. Ligar um cliente X remoto via SSH
7.5.5. Terminal X seguro via Internet
7.6. Fonts (tipos de letra) para o X Window
7.6.1. Fonts (tipos de letra) básicas
7.6.2. Fonts (tipos de letra) adicionais
7.6.3. fonts CJK
7.7. Aplicações do X
7.7.1. Aplicações de escritório do X
7.7.2. aplicações utilitárias do X
7.8. As trivialidades do X
7.8.1. Mapas de teclas e mapas de botões do apontador (rato) no X
7.8.2. Clientes X Clássicos
7.8.3. O emulador de terminal X - xterm
7.8.4. Correr clientes X como root

O Sistema X Window no sistema Debian é baseado na fonte do X.Org. Até Julho de 2009, eles são X11R7.1(etch), X11R7.3(lenny), X11R7.3(squeeze) e X11R7.4(sid).

7.1. Pacotes chave

Existem alguns (meta)pacotes disponibilizados para facilitar a instalação.

Tabela 7.1. Lista de (meta)pacotes chave para o X Window

(meta)pacote popcon tamanho descrição
xorg * I:45 75 bibliotecas do X, um servidor X, um conjunto de fonts e um grupo de clientes X básicos e utilitários (meta-pacote)
xserver-xorg * V:21, I:53 357 conjuntos completos do servidor X e sua configuração
xbase-clients * I:43 59 colecção variada de clientes X
x11-common * V:44, I:87 461 infraestrutura do sistema de ficheiros para o Sistema X Window
xorg-docs * I:3 2056 documentação variada para a suite de software X.Org
menu * V:28, I:52 1757 gera um menu Debian a partir de todas as aplicações com item de menu
gksu * V:26, I:48 207 frontend Gtk+ para o su(1) ou sudo(8)
menu-xdg * I:46 76 converte a estrutura do menu Debian para a estrutura de menu xdg do freedesktop.org
xdg-utils * V:21, I:50 261 utilitários para integrar o ambiente de trabalho disponibilizado pelo freedesktop.org
gnome-desktop-environment * I:29 42 ambiente de trabalho GNOME standard (meta-pacote)
kde-standard * I:6 40 núcleo do ambiente de trabalho KDE (metapacote)
xfce4 * I:5 40 Xfce ambiente de trabalho leve (meta-pacote)
lxde-core * I:2 36 LXDE ambiente de trabalho leve (meta-pacote)
fluxbox * V:0.7, I:2 4388 Fluxbox: pacote para um gestor de janelas X altamente configurável e de baixos recursos.

Para as bases do X, veja X(7), o manual do utilizador LDP XWindow.

7.2. Definir o ambiente de trabalho

Um ambiente de trabalho é geralmente uma combinação de um gestor de janelas X, um gestor de ficheiros e um conjunto de programas utilitários compatíveis.

Você pode configurar um ambiente de trabalho completo como o GNOME, KDE, Xfce, ou LXDE, a partir do aptitude sob o menu de tarefas.

[Dica] Dica

O menu de tarefas pode estar fora de sincronismo com o estado de transição de pacotes mais recente sob os ambientes Debian unstable/testing. Em tal situação, você precisa de des-seleccionar alguns (meta)pacotes listados sob o menu tarefas do aptitude(8) para evitar conflitos de pacotes. Quando des-seleccionar (meta)pacotes, você tem de seleccionar manualmente certos pacotes que disponibilizam as suas dependências para evitar que eles sejam apagados automaticamente.

Alternativamente você pode configurar um ambiente simples manualmente apenas com um gestor de janelas X como o Fluxbox.

Veja Window Managers for X para o guia do gestor do X window e do ambiente de trabalho.

7.2.1. Menu Debian

O sistema de menu Debian disponibiliza uma interface geral para ambos programas orientados a texto e X com o update-menus(1) do pacote menu. Cada pacote instala os seus dados de menu no directório "/usr/share/menu/". Veja "/usr/share/menu/README".

7.2.2. Menu Freedesktop.org

Cada pacote que é compatível com o sistema de menu do Freedesktop.org instala os seus dados de menu disponibilizados por "*.desktop" sob "/usr/share/applications/". Os ambientes de trabalho modernos que são compatíveis com o standard Freedesktop.org usam estes dados para gerar o seu menu usando o pacote xdg-utils. Veja "/usr/share/doc/xdg-utils/README".

7.2.3. Menu Debian sob o ambiente de trabalho GNOME

De modo a obter acesso ao menu Debian tradicional sob o ambiente GNOME, você tem de instalar o pacote menu-xdg, clique em "Sistema" → "Preferências" → "Menu Principal", e active a opção "Debian".

[Dica] Dica

Você pode precisar de fazer semelhante para outros ambientes de desktop modernos que são compatíveis com o standard Freedesktop.org.

7.3. A relação servidor/cliente

O X Window System é activado como uma combinação de programas servidor e cliente. Aqui o significado das palavras servidor e cliente com respeito às palavras local e remoto requer atenção.

Tabela 7.2. Lista de terminologia de servidor/cliente

tipo descrição
Servidor X um programa que corre numa máquina local ligado ao mostrador e dispositivos de entrada do utilizador.
cliente X um programa que corre numa máquina remota que processa dados e fala com o servidor X.
aplicação servidor um programa que corre numa máquina remota que processa dados e fala com os clientes.
aplicação cliente um programa que corre numa máquina local ligado ao mostrador e dispositivos de entrada do utilizador.

7.4. O servidor X

Veja xorg(1) para informação do servidor X.

7.4.1. A (re)configuração do servidor X

[Nota] Nota

o servidor X (pós-lenny) está rescrito para usar mais informação dos serviços do SO normalizados como o HAL e D-bus para a sua configuração do que do "/etc/X11/xorg.conf". Portanto os conteúdos em "/etc/X11/xorg.conf" são cada vez menores. Você pode precisar de contornar problemas de transição do servidor X.

O seguinte (re)configura um servidor X ao gerar um novo ficheiro "/etc/X11/xorg.conf" usando o dexconf(1).

# dpkg-reconfigure --priority=low x11-common
# dpkg-reconfigure --priority=low xserver-xorg

Se editou manualmente este ficheiro "/etc/X11/xorg.conf" mas deseja que ele seja actualizado automaticamente outra vez, corra o seguinte comando.

# sudo dpkg-reconfigure -phigh xserver-xorg

por favor verifique cuidadosamente a sua configuração do X com respeito ao seu monitor. Para os monitores CRT de alta resolução, é boa ideia regular a taxa de refrescamento para o mais alto que o monitor suporte (85 Hz é muito bom, 75 Hz é bom) para reduzir a cintilação. Para o monitor de LCD, a taxa de refrescamento standard mais lenta (60Hz) é geralmente boa devido à sua resposta lenta.

[Nota] Nota

Tenha cuidado para não usar uma taxa de refrescamento muito alta que possa causar falha fatal do hardware do seu monitor.

7.4.2. Os métodos de ligação do servidor X

Existem várias maneiras de fazer um "servidor X" (lado do monitor) aceitar ligações de um "cliente X" (lado da aplicação).

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

método pacote popcon tamanho utilizador encriptação uso pertinente
comando xhost xbase-clients * I:43 59 não verificado não obsoleto
comando xauth xbase-clients * I:43 59 verificado não ligação local via pipe
comando ssh -X openssh-client * V:55, I:99 2302 verificado sim ligação de rede remota
gestor de display do GNOME gdm * V:9, I:14 NOT_FOUND verificado no(XDMCP) ligação local via pipe
gestor de display do KDE kdm * V:7, I:10 4308 verificado no(XDMCP) ligação local via pipe
gestor de display do X xdm * V:0.7, I:2 725 verificado no(XDMCP) ligação local via pipe
gestor de display do WindowMaker wdm * V:24, I:86 1911 verificado no(XDMCP) ligação local via pipe
gestor de display do LTSP ldm * V:0.02, I:0.09 760 verificado sim ligação de rede SSH remota (cliente ténue)

[Atenção] Atenção

Não use ligação TCP/IP remota sobre redes inseguras para ligação X a menos que tenha uma boa razão como o uso de encriptação. Uma ligação socket TCP/IP remota sem encriptação é inclinada a ataques de escuta e está desactivada por predefinição no sistema Debian. Use "ssh -X".

[Atenção] Atenção

Também não use ligação XDMCP sobre rede insegura. Envia os dados via UDP/IP sem encriptação e é inclinado a ataques de escuta.

[Dica] Dica

Você pode atrever-se a activar a ligação TCP/IP remota ao definir "DisallowTCP=false" em "/etc/gdm/gdm.conf" para sobrepor "/usr/share/gdm/defaults.conf" e ao remover "-nolisten" da linhas encontradas por "find /etc/X11 -type f -print0 | xargs -0 grep nolisten", se você está num ambiente completamente seguro.

[Dica] Dica

LTSP significa Linux Terminal Server Project.

7.5. Iniciando o X Window System

O X Window System é geralmente iniciado como uma sessão X a qual é a combinação de um servidor X e clientes X ligados. Para o sistema de ambiente de trabalho normal, ambos são executados numa estação de trabalho.

A sessão X é iniciada com o seguinte.

  • comando startx iniciado a partir da linha de comandos

  • Um dos programas daemon de gestor de ecrã X *dm arrancado a partir do fim do script de arranque no directório "/etc/rc?.d/" ("?" correspondendo ao runlevel)

[Dica] Dica

O script de arranque para os daemons de gestão de ecrã verifica o conteúdo do ficheiro "/etc/X11/default-display-manager" mesmo antes de executar os próprios. Isto assegura que se tem apenas um programa daemon de gestor de ecrã X activado.

[Dica] Dica

Veja Secção 8.3.5, “O locale específico apenas sob X Window” para as variáveis de ambiente iniciais do gestor de écran X.

Essencialmente, todos estes programas executam o script "/etc/X11/Xsession". Então o script "/etc/X11/Xsession" executa run-parts(8) como acção para executar os scripts no directório "/etc/X11/Xsession.d/". Isto é essencialmente uma execução de um primeiro programa o qual é encontrado na seguinte ordem com o comando embutido exec.

  1. O script especificado como o argumento de /etc/X11/Xsession" pelo gestor de display X, se estiver definido.

  2. O script "~/.xsession" ou "~/.Xsession", se estiver definido.

  3. O comando "/usr/bin/x-session-manager", se estiver definido.

  4. O comando "/usr/bin/x-window-manager". se estiver definido.

  5. O comando "/usr/bin/x-terminal-emulator", se estiver definido.

Este processo é afectado pelo conteúdo de "/etc/X11/Xsession.options". Os programas exactos para os quais estes comandos "/usr/bin/x-*" apontam são determinados pelo sistema de alternativas Debian e modificados pelo "update-alternatives --config x-session-manager", etc.

7.5.1. Iniciar uma sessão X com o gdm

O gdm(1) permite-lhe seleccionar o tipo de sessão (ou ambiente de trabalho: Secção 7.2, “Definir o ambiente de trabalho”), e linguagem (ou locale: Secção 8.3, “O locale”) da sessão X a partir do seu menu. Mantêm o valor predefinido seleccionado em "~/.dmrc" como se segue.

[Desktop]
Session=default
Language=pt_PT.UTF-8

7.5.2. Personalizar a sessão X (método clássico)

Num sistema onde "/etc/X11/Xsession.options" contém uma linha "allow-user-xsession" sem o caractere "#" a preceder, qualquer utilizador que defina "~/.xsession" ou "~/.Xsession" é capaz de personalizar a acção de "/etc/X11/Xsession" ao sobrepor completamente o código do sistema. O último comando no ficheiro "~/.xsession" deve usar a forma de "exec some-window/session-manager" para iniciar os seus gestores de X window/sessão favoritos.

7.5.3. Personalizar a sessão X (método novo)

Aqui estão alguns métodos de personalizar a sessão X sem sobrepor completamente o código do sistema como em cima.

  • O gestor de écran gdm pode seleccionar uma sessão específica e defini-la como o argumento de "/etc/X11/Xsession".

  • O ficheiro "~/.xsessionrc" é executado como parte do processo de arranque. (independente do ambiente de trabalho)

  • O ficheiro "~/.gnomerc" é executado como parte do processo de arranque. (apenas ambiente GNOME)

  • O software de gestão de sessão baseado em GUI pode usar o ficheiro "~/.gnome2/session", etc.

7.5.4. Ligar um cliente X remoto via SSH

A utilização de "ssh -X" activa uma ligação segura de um servidor X local a um servidor de aplicações remoto.

Defina as entradas "X11Forwarding" para "yes" em "/etc/ssh/sshd_config" da máquina remota, se deseja evitar a opção "-X" da linha de comando.

Arrancar o servidor X na máquina local.

Abrir um xterm na máquina local.

Correr o ssh(1) para estabelecer ligação com um site remoto com o seguinte.

nome_local @ localhost $ ssh -q -X nome_de_login@domínio.máquina_remota
Palavra-passe:

Correr um comando de aplicação X, ex. "gimp", no site remoto com o seguinte.

nome_de_login @ máquina_remota $ gimp &

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.

7.5.5. Terminal X seguro via Internet

Terminal X seguro via Internet, o qual mostra um ambiente de trabalho X completo a correr remotamente, pode ser conseguido facilmente usando um pacote especializado como o ldm. A sua máquina local torna-se num cliente magro seguro para um servidor de aplicações remoto ligado via SSH.

Se você deseja adicionar uma funcionalidade semelhante ao seu gestor de écran gdm normal, crie um script de shell executável em "/usr/local/bin/ssh-session" como o seguinte.

#!/bin/sh -e
# Based on gdm-ssh-session in gdm source (GPL)
ZENITY=$(type -p zenity)
TARGETHOST=$($ZENITY --width=600 \
--title "Host to connect to" --entry \
--text "Enter the name of the host you want to log in to as user@host.dom:")
TARGETSESSION=$($ZENITY --width=600 --height=400 \
--title "Remote session name" --list --radiolist --text "Select one" \
--column " " --column "Session" --column "description" --print-column 2 \
TRUE "/etc/X11/Xsession" "Debian" \
FALSE "/etc/X11/xinit/Xclients" "RH variants" \
FALSE "gnome-session" "GNOME session" \
FALSE "xterm" "Safe choice" \
FALSE "rxvt" "Safe choice" \
FALSE "gnome-terminal" "Safe choice")
echo "Connecting to "$TARGETHOST" with $TARGETSESSION"
/usr/bin/ssh -A -X -T -n "$TARGETHOST" "$TARGETSESSION"
#SSH_ASKPASS=/usr/bin/ssh-askpass /usr/bin/ssh -A -X -T -n "$TARGETHOST" "$TARGETSESSION"

Adicionar seguimentos a "/etc/dm/Sessions/ssh.desktop".

[Desktop Entry]
Encoding=UTF-8
Name=SSH
Comment=Esta sessão regista-o numa máquina remota usando ssh
Exec=/usr/local/bin/ssh-session
Type=Application

7.6. Fonts (tipos de letra) para o X Window

O Fontconfig 2.0 foi criado para disponibilizar uma biblioteca independente da distribuição para configurar e personalizar o acesso a tipos de letra em 2002. Debian após squeeze usa Fontconfig 2.0 para a sua configuração de tipos de letra.

Os suportes de font no X Window System podem ser resumidos como se segue.

Tabela 7.4. Tabela de pacotes para suportar fonts do sistema X Window

pacote popcon tamanho descrição
xfonts-utils * V:15, I:73 516 Programas utilitários de fonts do Sistema X Window
libxft2 * V:45, I:76 160 Xft, uma biblioteca que liga aplicações X com a biblioteca de rasterização de fonts FreeType
libfreetype6 * V:61, I:93 819 FreeType biblioteca de rasterização de fonts 2.0
fontconfig * V:45, I:74 476 Fontconfig, uma biblioteca de configuração de fonts genérica -- binários de suporte
fontconfig-config * I:83 448 Fontconfig, uma biblioteca de configuração de fonts genérica -- dados de configuração

Você pode verificar informação de configuração de fonts pelo seguinte.

  • "xset q" para caminho das fonts do núcleo do X11

  • "fc-match" para a font predefinida do fontconfig

  • "fc-list" para fonts disponíveis do fontconfig

[Dica] Dica

"O Pinguim e o Unicode" é uma boa visão geral do X Window System moderno. Outra documentação em http://unifont.org/ deverá disponibilizar boas informações sobre tipos de letra Unicode, software capaz de Unicode, internacionalização, e problemas da utilização de Unicode em sistemas operativos free/libre/open source (FLOSS).

7.6.1. Fonts (tipos de letra) básicas

Existem 2 tipos principais de fonts de computador.

  • Fonts bitmap (boas para rasterização de baixa resolução)

  • Fonts outline/stroke (boas para rasterização de alta resolução)

Enquanto que o dimensionar de fonts de mapas de bits causa imagem distorcida, o dimensionar de fonts de contorno/curso produz imagem suave.

As fontes de mapa de bits no sistema Debian são geralmente disponibilizadas por ficheiros de fonts bitmap pcf do X11 comprimidos com a sua extensão de ficheiro ".pcf.gz".

As fonts de contorno no sistema Debian são disponibilizadas pelo seguinte.

  • Ficheiros de font Type 1 PostScript tendo a sua extensão de ficheiro ".pfb" (ficheiro de font binário) e ".afm" (ficheiro de font métrica).

  • Ficheiros font TrueType (ou OpenType) geralmente tendo a sua extensão de ficheiro ".ttf".

[Dica] Dica

OpenType é destinado a substituir ambas TrueType e PostScript Type 1.

Tabela 7.5. Tabela de fonts PostScript Type 1 correspondentes

pacote font popcon tamanho font sans-serif font serif font monospace fonte da font
PostScript N/D N/D Helvetica Times Courier Adobe
gsfonts * V:17, I:67 4632 Nimbus Sans L Nimbus Roman No9 L Nimbus Mono L URW (tamanho compatível com Adobe)
gsfonts-x11 * I:29 68 Nimbus Sans L Nimbus Roman No9 L Nimbus Mono L Suporte a X font com fonts PostScript Type 1.
t1-cyrillic * I:2 5008 Free Helvetian Free Times Free Courier URW extenso (tamanho compatível com Adobe)
lmodern * V:3, I:15 45644 LMSans* LMRoman* LMTypewriter* fonts PostScript e OpenType escaláveis baseadas em Computer Modern (do TeX)

Tabela 7.6. Tabela de fonts correspondentes a TrueType

pacote font popcon tamanho font sans-serif font serif font monospace fonte da font
ttf-mscorefonts-installer * V:0.2, I:11 71 Arial Times New Roman Courier New Microsoft (tamanho compatível com Adobe) (Isto instala dados não-livres)
ttf-liberation * I:48 33 2220 Liberation Sans Liberation Serif Liberation Mono Liberation Fonts project (tamanho compatível com Microsoft)
ttf-freefont * V:14, I:45 5076 FreeSans FreeSerif FreeMono GNU freefont ((tamanho compatível com Microsoft)
ttf-dejavu * I:69 76 DejaVu Sans DejaVu Serif DejaVu Sans Mono DejaVu, Bitstream Vera com cobertura Unicode
ttf-dejavu-core * V:9, I:78 2868 DejaVu Sans DejaVu Serif DejaVu Sans Mono DejaVu, Bitstream Vera com cobertura Unicode (sans, sans-negrito, serif. serif-negrito, mono, mono-negrito)
ttf-dejavu-extra * I:66 6560 N/D N/D N/D DejaVu, Bitstream Vera com cobertura Unicode (oblíquo, itálico, negrito-oblíquo, negrito-itálico, condensado)
ttf-unifont * I:3 16044 N/D N/D unifont GNU Unifont, com todo o código de caracteres imprimíveis em Unicode 5.1 Basic Multilingual Plane (BMP)

[Dica] Dica

as fonts DejaVu são baseadas e um super conjunto da fonts Bitstream Vera.

7.6.2. Fonts (tipos de letra) adicionais

O aptitude(8) ajuda-o a encontrar fonts adicionais facilmente.

  • A lista de pacotes curta sob "Tarefas" → "Localização"

  • A lista de pacotes lisa filtrada de dados de fonts com regex em debtag: "~Gmade-of::data:font"

  • A lista de pacotes lisa filtrada de pacotes de fonts BDF (bitmap) com regex no nome do pacote: "~nxfonts-"

  • A lista de pacotes lisa filtrada de pacotes de fonts TrueType (contorno) com regex no nome do pacote: "~nttf-"

Como as fonts Free são por vezes limitadas, instalar ou partilhar algumas fonts TrueType comerciais é uma opção para os utilizadores de Debian. De modo a tornar este processo fácil para o utilizador, foram criados alguns pacotes de conveniência.

  • ttf-mathematica4.1

  • ttf-mscorefonts-installer

Você irá ter uma boa selecção de fonts TrueType às custas de contaminar o seu sistema Livre com fonts não-Livres.

7.6.3. fonts CJK

Aqui estão alguns pontos chave que focam em fonts de caracteres CJK.

Tabela 7.7. Tabela de palavras chave usadas em nomes de fonts CJK para indicar os tipos de fonts.

tipo de font nome de font Japonesa nome de font Chinesa nome de font Coreana
sans-serif gótico, ゴチック hei, gótico dodum, gulim, gótico
serif mincho, 明朝 song, ming batang

O nome de font como "VL PGothic" com o "P" é um font proporcional a qual corresponde à largura fixa da fonte "VL Gothic".

Por exemplo, a tabela de código Shift_JIS compreende 7070 caracteres. Eles podem ser agrupados como o seguinte.

  • caracteres de um byte JIS X 0201 (191 caracteres, a.k.a. caracteres de meia-largura)

  • caracteres de duplo byte JIS X 0208 (6879 caracteres, a.k.a. caracteres de largura-completa)

Os caracteres de duplo-byte ocupam o dobro da largura nos terminais de consola que usam fonts CJK de largura fixa. De modo a lidar com esta situação, pode ser implantado o Hanzi Bitmap Font (HBF) File com extensão de ficheiro ".hbf" para fonts que contêm caracteres de único-byte e duplo-byte.

De modo a poupar espaço para ficheiros de tipos de letra TrueType, pode ser usado o ficheiro de colecção de tipos de letra TrueType com a extensão de ficheiro ".ttc".

De modo a cobrir o código complicado do espaço dos caracteres, é usada uma font Type 1 PostScript com chave CID com ficheiros CMap que arrancam eles próprios com "%!PS-Adobe-3.0 Resource-CMap". Isto é raramente usado para o mostrador X normal mas é usado para renderização de PDF, etc. (veja Secção 7.7.2, “aplicações utilitárias do X”).

[Dica] Dica

Os múltiplos glifos são esperados para alguns pontos de código do Unicode devido à unificação do Han. Um dos mais chatos são "U+3001 IDEOGRAPHIC COMMA" e "U+3002 IDEOGRAPHIC FULL STOP" nos quais as posições dos caracteres diferem entre países CJK. Configurar a prioridade das fonts cêntricas Japonesas sobre as Chinesas usado o "~/.fonts.conf" deverá trazer alguma paz aos Japoneses.

7.7. Aplicações do X

7.7.1. Aplicações de escritório do X

Aqui está uma lista de aplicações de escritório básicas (OO é o OpenOffice.org).

Tabela 7.8. lista de aplicações X de escritório básicas

pacote popcon tamanho do pacote tipo descrição
openoffice.org-writer * V:15, I:32 164 OO processador de texto
openoffice.org-calc * V:14, I:31 164 OO folha de cálculo
openoffice.org-impress * V:13, I:31 164 OO apresentação
openoffice.org-base * V:12, I:30 164 OO gestão de base de dados
openoffice.org-draw * V:13, I:30 164 OO editor de gráficos vectoriais (desenho)
openoffice.org-math * V:12, I:31 164 OO editor de fórmulas/equações matemáticas
abiword * V:5, I:10 4568 GNOME processador de texto
gnumeric * V:6, I:10 7684 GNOME folha de cálculo
gimp * V:13, I:46 13042 GTK editor de gráficos bitmap (pintura)
inkscape * V:18, I:36 83268 GNOME editor de gráficos vectoriais (desenho)
dia-gnome * V:1.2, I:2 558 GNOME editor de fluxogramas e diagramas
planner * V:0.19, I:1.9 6704 GNOME gestão de projectos
kword * V:0.2, I:1.1 6952 KDE processador de texto
kspread * V:0.3, I:1.2 12032 KDE folha de cálculo
kpresenter * V:0.2, I:1.0 9284 KDE apresentação
kexi * V:0.2, I:1.2 8236 KDE gestão de base de dados
karbon * V:0.3, I:1.1 2912 KDE editor de gráficos vectoriais (desenho)
krita * V:0.2, I:1.3 12696 KDE editor de gráficos bitmap (pintura)
kchart * V:0.17, I:1.5 48 KDE program de desenho de grafos e gráficos
kformula * V:0.18, I:1.0 2540 KDE editor de fórmulas/equações matemáticas
kplato * V:0.13, I:1.1 6500 KDE gestão de projectos

7.7.2. aplicações utilitárias do X

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

Tabela 7.9. Lista de aplicações X utilitárias básicas

pacote popcon tamanho do pacote tipo descrição
evince * V:28, I:41 990 GNOME visualizador de documentos (pdf)
okular * V:6, I:9 3156 KDE visualizador de documentos (pdf)
evolution * V:17, I:37 5149 GNOME Gestor de Informações Pessoais (groupware e email)
kontact * V:1.0, I:6 4971 KDE Gestor de Informações Pessoais (groupware e email)
scribus * V:0.5, I:2 57760 KDE editor de disposição de páginas do ambiente de trabalho
glabels * V:0.15, I:0.7 1184 GNOME editor de etiquetas
kbarcode * V:0.03, I:0.2 NOT_FOUND KDE aplicação de códigos de barras e impressão de etiquetas
gnucash * V:0.6, I:2 6905 GNOME contas pessoais
homebank * V:0.10, I:0.5 759 GTK contas pessoais
kmymoney2 * I:0.2 NOT_FOUND KDE contas pessoais
xsane * V:5, I:35 1368 GTK frontend para digitalizador (scanner)

[Cuidado] Cuidado

O pacote poppler-data (anteriormente não-livre), veja Secção 11.3.1, “Ghostscript”) precisa de ser instalado para o evince e okular para mostrar documentos PDF CJK usando dados Cmap (Secção 7.6.3, “fonts CJK”).

[Nota] Nota

Instalar softwares como o scribus (KDE) no ambiente de trabalho GNOME é aceitável porque a funcionalidade correspondente não está disponível no ambiente GNOME. Mas instalar demasiados pacotes com funcionalidades duplicadas desorganiza o seu menu.

7.8. As trivialidades do X

7.8.1. Mapas de teclas e mapas de botões do apontador (rato) no X

O xmodmap(1) é um utilitário para modificar mapas de teclas e mapas dos botões do rato no X Window System. Para obter o código-da-tecla, corra xev(1) no X e carregue nas teclas. Para obter significado de keysym, veja na definição de MACRO no ficheiro "/usr/include/X11/keysymdef.h" (pacote x11proto-core-dev). Todas as declarações "#define" neste ficheiro são nomeadas com "XK_" pre-pendente a nomes keysym.

7.8.2. Clientes X Clássicos

Programas cliente X mais tradicionais, como o xterm(1), podem ser arrancados com um conjunto de opções de linha de comandos standard para especificar a geometria, o tipo de letra e o mostrador.

Eles também usam a base de dados de recursos do X para configurar a sua aparência. As predefinições gerais do sistema dos recursos do X são armazenadas em "/etc/X11/Xresources/*" e as predefinições de aplicação delas são armazenadas em "/etc/X11/app-defaults/*". Use estas definições como pontos de partida.

O ficheiro "~/.Xresources" é usado para armazenar especificações de recursos do utilizador. Este ficheiro é unido automaticamente aos recursos predefinidos do X após o login. Para fazer alterações nestas definições e as tornar efectivas imediatamente, una-as à base de dados usando o seguinte comando.

$ xrdb -merge ~/.Xresources

Veja x(7) e xrdb(1).

7.8.3. O emulador de terminal X - xterm

Saiba tudo sobre o xterm(1) em http://dickey.his.com/xterm/xterm.faq.html.

7.8.4. Correr clientes X como root

[Atenção] Atenção

Nunca inicie o gestor de sessão/ecrã X sob a conta root ao escrever root num gestor de ecrã como o gdm porque isso é considerado inseguro, mesmo quando planeia executar actividades administrativas. A arquitectura inteira do X é considerada insegura para ser executada como root. Você deve sempre usar o nível de privilégios mais baixo possível, como uma conta de utilizador normal.

Maneiras fáceis de correr um cliente X particular, ex. "foo" como root é usar sudo(8) etc. como o seguinte.

$ sudo foo &
$ sudo -s
# foo &
$ gksu foo &
$ ssh -X root@localhost
# foo &
[Cuidado] Cuidado

O uso de ssh(1) só para este objectivo como em cima é um desperdício de recursos.

De modo que o cliente X se ligue ao servidor X, por favor note o seguinte.

  • Os valores das variáveis de ambiente "$XAUTHORITY" e "$DISPLAY" dos utilizadores antigos têm de ser copiados para os utilizadores mais recentes.

  • O ficheiro apontado pelo valor da variável de ambiente "$XAUTHORITY" tem de ser legível pelo novo utilizador.

O pacote gksu (popcon: V:26, I:48) é um pacote GUI GTK+ especializado para ganhar privilégios de root. Pode ser configurado para usar o su(1) ou o sudo(8) como backend dependendo da chave gconf "/apps/gksu/sudo-mode". Você pode editar a chave gconf usando o gconf-editor(1) (menu: "Aplicações" → "Ferramentas do Sistema" → "Editor de Configuração").