Chapitre 7. Le système X Window

Table des matières

7.1. Paquets clés
7.2. Configurer l'environnement de bureau
7.2.1. Menu Debian
7.2.2. Menu de Freedesktop.org
7.2.3. Menu Debian avec l'environnement de bureau GNOME
7.3. La relation client - serveur
7.4. Le serveur X
7.4.1. La (re-)configuration du serveur X
7.4.2. Les méthodes de connexion au serveur X
7.5. Démarrer le système X Window
7.5.1. Démarrer une session X avec gdm
7.5.2. Personnaliser la session X session (méthode classique)
7.5.3. Personnaliser la session X session (nouvelle méthode)
7.5.4. Connecter un client X distant par SSH
7.5.5. Sécuriser le terminal X au travers d'Internet
7.6. Polices dans X Window
7.6.1. Polices de base
7.6.2. Polices supplémentaires
7.6.3. Polices CJK
7.7. Applications X
7.7.1. Applications X de bureautique
7.7.2. Applications utilitaires pour X
7.8. Les infos de X
7.8.1. Cartographie des claviers et affectation des boutons de souris sous X
7.8.2. Clients X classiques
7.8.3. Émulateur de terminal X — xterm
7.8.4. Faire tourner X avec le compte de l'administrateur

Le système X Window d'un système Debian est basé sur les sources de X.Org. En juillet 2009, ce sont les versions X11R7.1 (etch), X11R7.3 (lenny), X11R7.3 (squeeze) et X11R7.4 (sid).

7.1. Paquets clés

Il existe certains paquets (ou métapaquets) prévus pour faciliter l'installation.

Tableau 7.1. Liste des (méta)paquets clés pour X Window

(méta)paquet popcon taille description
xorg * I:48 56 bibliothèques X, un serveur X, un jeu de polices et un groupe de clients et d'utilitaires X de base (méta-paquet)
xserver-xorg * V:33, I:55 276 suite complète de serveurs X avec leur configuration
xbase-clients * V:7, I:52 140 assortiment de clients X divers
x11-common * V:46, I:92 568 infrastructure de système de fichiers pour le système X Window
xorg-docs * I:9 5124 diverses documentations pour la suite logicielle X.Org
xspecs * I:1.3 6504 spécifications techniques du protocole X, des extensions et des bibliothèques
menu * V:28, I:55 2028 créer le menu Debian avec toutes les applications prenant en charge un menu
gksu * V:25, I:49 176 frontal Gtk+ à su(1) ou sudo(8)
menu-xdg * I:52 76 convertir la structure de menus de Debian vers la structure de menus xdg de freedesktop.org
xdg-utils * V:14, I:48 256 utilitaires pour intégrer l'environnement de bureau fourni par freedesktop.org
gnome-desktop-environment * I:30 20 environnement de bureau standard GNOME (méta-paquet)
kde-core * I:8 NOT_FOUND cœur de l'environnement de bureau KDE (méta-paquet)
xfce4 * I:5 40 environnement de bureau léger Xfce (méta-paquet)
lxde-core * I:2 36 environnement de bureau léger LXDE (méta-paquet)
fluxbox * V:0.9, I:3 4280 Fluxbox : paquet pour un gestionnaire X window hautement configurable et faible consommateur de ressources

Pour les bases de X, veuillez vous référer à X(7), the LDP XWindow-User-HOWTO.

7.2. Configurer l'environnement de bureau

Un environnement de bureau est habituellement constitué de la combinaison d'un gestionnaire X Window, d'un gestionnaire de fichiers et d'une suite compatible de programmes utilitaires.

Vous pouvez configurer un environnement de bureau complet tel que GNOME, KDE, Xfce ou LXDE depuis le menu des tâches d'aptitude.

[Astuce] Astuce

Sous les environnements Debian unstable et testing, le menu Tâches peut être désynchronisé de l'état des dernières transitions des paquets. Dans une telle situation, vous devrez, afin d'éviter des conflits de paquets, désélectionner certains paquets ou méta-paquets du menu des tâches d'aptitude. Lors de la désélection de paquets ou de méta-paquets, vous devrez sélectionner vous-même certains paquets qui fournissent leurs dépendances afin d'éviter qu'ils ne soient automatiquement supprimés.

Vous pouvez aussi mettre en place manuellement un environnement simple n'ayant qu'un gestionnaire X Window comme Fluxbox.

Voir gestionnaires de fenêtres pour X pour un guide du gestionnaire de fenêtres X et de l'environnement de bureau.

7.2.1. Menu Debian

Le système de menus Debian fournit une interface aux programmes qu'ils soient en mode texte ou orientés X avec update-menus(1) du paquet menu. Chaque paquet installe ses données de menu dans le répertoire « /usr/share/menu/ ». Voir « /usr/share/menu/README ».

7.2.2. Menu de Freedesktop.org

Chaque paquet conforme au système de menu xdg du système Freedesktop.org installe ses données de menu fournies par « *.desktop » dans « /usr/share/applications/ ». Les environnements de bureau modernes conformes au standard Freedesktop.org utilisent ces données afin de créer leur menu à l'aide du paquet xdg-utils. Voir « /usr/share/doc/xdg-utils/README ».

7.2.3. Menu Debian avec l'environnement de bureau GNOME

Afin d'accéder au menu Debian traditionnel depuis l'environnement de bureau GNOME, vous devez installer le paquet menu-xdg, cliquez« Système » → « Préférence » → « Menu principal » et cochez la case correspondant à « Debian ».

[Astuce] Astuce

Vous pouvez faire la même chose avec d'autres environnements de bureau modernes conformes à la norme Freedesktop.org.

7.3. La relation client - serveur

Les système X Window est activé sous forme de la combinaison d'un programme serveur et d'un programme client. La signification des mots server et client comparés aux mots local et distant demande ici une attention particulière.

Tableau 7.2. Liste de terminologie client/serveur

type description
serveur X programme tournant sur une machine locale connectée aux périphériques d'affichage et de saisie de l'utilisateur.
client X programme tournant sur une machine distante qui traite des données et dialogue avec le serveur X.
serveur d'applications programme tournant sur une machine distante qui traite des données et dialogue avec les clients.
client d'applications programme tournant sur une machine locale connectée aux périphériques d'affichage et de saisie de l'utilisateur.

7.4. Le serveur X

Voir xorg(1) pour des informations concernant le serveur X.

7.4.1. La (re-)configuration du serveur X

[Note] Note

Le serveur X (post-lenny) a été réécrit pour utiliser davantage pour sa configuration les d'informations venant des services standards du système d'exploitation comme HAL et D-bus que celles venant de « /etc/X11/xorg.conf ». Le contenu de « /etc/X11/xorg.conf » diminue donc. Vous pourrez avoir besoin de contourner des problèmes transitoires du serveur X.

Ce qui suit (re)configurera un serveur X en créant un nouveau fichier « /etc/X11/xorg.conf » utilisant dexconf(1) :

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

Si vous avez édité vous-même ce fichier « /etc/X11/xorg.conf » mais que vous souhaitez qu'il soit de nouveau mis à jour automatiquement, lancez la commande suivante :

# sudo dpkg-reconfigure -phigh xserver-xorg

Veuillez vérifier soigneusement que votre configuration X est conforme aux spécifications de votre moniteur. Pour les moniteurs à tube de grande taille, c'est une bonne idée de définir un taux de rafraîchissement aussi élevé que votre moniteur peut le supporter (85 Hz est excellent, 75 Hz est bon) afin de réduire le scintillement. Pour les moniteurs à cristaux liquides, le taux de rafraîchissement plus faible (60 Hz) convient habituellement bien en raison de son temps de réponse qui est plus lent.

[Note] Note

Attention à ne pas utiliser un taux de rafraîchissement trop élevé qui peut entraîner une défaillance matérielle fatale à votre moniteur.

7.4.2. Les méthodes de connexion au serveur X

Il y a plusieurs manière de faire accepter au « serveur X » (côté affichage) les connexions en provenance d'un « client X » (côté application).

Tableau 7.3. Liste des méthodes de connexion au serveur X

méthode paquet popcon taille utilisateur chiffrement pertinence de l'utilisation
commande xhost xbase-clients * V:7, I:52 140 non vérifié non obsolète
Commande xauth xbase-clients * V:7, I:52 140 vérifié non Connexion locale par un tube
Commande ssh -X openssh-client * V:52, I:99 2076 vérifié oui Connexion à distante par le réseau
Gestionnaire d'affichage de GNOME gdm * V:29, I:41 15207 vérifié non (XDMCP) Connexion locale par un tube
Gestionnaire d'affichage de KDE kdm * V:9, I:13 4116 vérifié non (XDMCP) Connexion locale par un tube
Gestionnaire d'affichage de X xdm * V:0.7, I:2 688 vérifié non (XDMCP) Connexion locale par un tube
Gestionnaire d'affichage WindowMaker wdm * V:22, I:84 1964 vérifié non (XDMCP) Connexion locale par un tube
Gestionnaire d'affichage LTSP ldm * V:0.02, I:0.11 308 vérifié oui connexion réseau distante par SSH (client léger)

[Avertissement] Avertissement

Ne pas utiliser, pour la connexion X, de connexion TCP/IP distante sur un réseau non sécurisé à moins que vous n'ayez une très bonne raison de le faire telle que l'utilisation du chiffrement. Une socket de connexion TCP/IP sans chiffrement est susceptible d'une attaque d'espionnage, elle est désactivée par défaut sur le système Debian. Utilisez « ssh -X ».

[Avertissement] Avertissement

Ne pas utiliser non plus de connexion XDMCP sur un réseau non sécurisé. Il envoie des données UDP/IP sans chiffrement et susceptible d'une attaque d'espionnage.

[Astuce] Astuce

Vous pouvez prendre le risque d'activer une connexion TCP/IP distante en définissant « DisallowTCP=false » dans « /etc/gdm/gdm.conf » pour passer outre « /usr/share/gdm/defaults.conf » et en supprimant « -nolisten » des lignes trouvées par « find /etc/X11 -type f -print0 | xargs -0 grep nolisten », si vous êtes dans un environnement entièrement sécurisé.

[Astuce] Astuce

LTSP signifie Projet de serveur de terminal Linux (« Linux Terminal Server Project »).

7.5. Démarrer le système X Window

Le système X Window est habituellement démarré en tant que session X qui est la combinaison d'un serveur X et de la connexions de clients X. Pour le système de bureau normal, les deux tournent sur la station de travail.

La session X peut être démarrée par :

  • la commande startx lancée depuis la ligne de commande ;
  • un des programmes démons gestionnaire de l'affichage X *dm démarré à la fin du script de démarrage du répertoire « /etc/rc?.d/ » (« ? » correspond au niveau de fonctionnement).
[Astuce] Astuce

Le script de démarrage des démons de gestion d'affichage examine d'abord le contenu du fichier « /etc/X11/default-display-manager » avant leur exécution proprement dite. Ceci permet de s'assurer qu'un seul programme démon X display manager est activé.

[Astuce] Astuce

Voir Section 8.3.5, « Paramètre linguistique spécifique sous X Window » pour les variables d'environnement initiales du gestionnaire d'affichage X.

Essentiellement, tous ces programmes exécutent le script « /etc/X11/Xsession ". Ensuite,, le script « /etc/X11/Xsession » effectue une action de type run-parts(8) pour exécuter les scripts se trouvant dans le répertoire « /etc/X11/Xsession.d/ ». Le premier programme trouve, dans l'ordre suivant, est exécuté à l'aide de la commande « exec » intégrée :

  1. le script indiqué comme paramètre de « /etc/X11/Xsession » par le gestionnaire d'affichage X, s'il est défini ;
  2. le script « ~/.xsession » ou « ~/.Xsession », s'il est défini ;
  3. la commande « /usr/bin/x-session-manager », si elle est définie ;
  4. la commande « /usr/bin/x-window-manager », si elle est définie ;
  5. la commande « /usr/bin/x-terminal-emulator », si elle est définie.

Ce processus est affecté par le contenu de « /etc/X11/Xsession.options ». Les programmes exacts vers lesquelles pointent les commandes « /usr/bin/x-* » sont déterminés par le système d'alternatives de Debian et sont modifiés par « update-alternatives --config x-session-manager », etc.

7.5.1. Démarrer une session X avec gdm

gdm(1) vous permet de sélectionner le type de session (ou d'environnement de bureau : Section 7.2, « Configurer l'environnement de bureau »), la langue (ou « locale » : Section 8.3, « Les paramètres linguistiques (« locale ») ») de la session X depuis son menu. Il conserve les valeurs par défaut dans « ~/.dmrc » sous la forme suivante :

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

7.5.2. Personnaliser la session X session (méthode classique)

Sur un système où « /etc/X11/Xsession.options » contient une ligne « allow-user-xsession sans caractère « # » la précédant, tout utilisateur qui définit « ~/.xsession » ou « ~/.Xsession » peut personnaliser l'action de « /etc/X11/Xsession » en passant outre le code du système. La dernière commande dans le fichier « ~/.xsession » devrait toujours être de la forme « exec un_gestionnaire_de_fenêtre_ou_de_session » afin de démarrer vos gestionnaires favoris de fenêtres et de session X.

7.5.3. Personnaliser la session X session (nouvelle méthode)

Voici de nouvelles méthodes de configuration de la session X sans complètement outrepasser le code système comme ci-dessus :

  • le gestionnaire d'affichage gdm peut sélectionner une session particulière et la définir comme paramètre de « /etc/X11/Xsession » ;
  • le fichier « ~/.xsessionrc » est exécuté dans le cadre du processus de démarrage (indépendant du bureau) ;
  • le fichier « ~/.gnomerc » est exécuté dans le cadre du processus de démarrage (bureau GNOME uniquement) ;
  • le logiciel de gestion de session basé sur une interface graphique peut utiliser le fichier « ~/.gnome2/session », etc.

7.5.4. Connecter un client X distant par SSH

L'utilisation de « ssh -X » active une connexion sécurisée entre le serveur X local et une application sur un serveur distant.

Si vous désirez éviter l'option « -X » de la ligne de commande, définissez à « yes » les entrées « X11Forwarding » de « /etc/ssh/sshd_config » sur la machine distante,

Démarrez le serveur X sur la station locale.

Ouvrez un xterm sur la machine locale.

Lancez ssh(1) pour établir une connexion avec un site distant comme suit :

utilisateur_local @ localhost $ ssh -q -X -l nom_utilisateur@machine_distante.domaine
Password:

Lancez comme suit une application X, par exemple « gimp » sur le site distant :

nom_utilisateur @ machine_distante $ gimp &

Cette méthode permet l'affichage du client X distant comme s'il était connecté par une socket UNIX locale.

7.5.5. Sécuriser le terminal X au travers d'Internet

La sécurisation du terminal X par Internet, qui affiche localement un environnement de bureau qui tourne entièrement de manière distante, peut être facilement réalisée en utilisant des paquets spécialisés tels que ldm. Votre machine locale devient un client léger sécurisé du serveur d'applications connecté par SSH.

Si vous désirez une fonctionnalité semblable avec votre gestionnaire d'affichage normal gdm, créez un script exécutable de l'interpréteur de commandes dans « /usr/local/bin/ssh-session » comme le suivant :

#!/bin/sh -e
# Basé sur gdm-ssh-session dans gdm source (GPL)
ZENITY=$(type -p zenity)
TARGETHOST=$($ZENITY --width=600 \
--title "Machine à connecter" --entry \
--text "Entrez le nom de la machine sur laquelle vous désirez vous connecté en tant que utilisateur@machine.dom:")
TARGETSESSION=$($ZENITY --width=600 --height=400 \
--title "Nom de la session distante" --list --radiolist --text "Sélectionnez une entrée" \
--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"

Ajoutez ce qui suit à « /etc/dm/Sessions/ssh.desktop ».

[Desktop Entry]
Encoding=UTF-8
Name=SSH
Comment=Cette session vous connecte à une machine distante en utilisant ssh
Exec=/usr/local/bin/ssh-session
Type=Application

7.6. Polices dans X Window

La configuration des polices dans le système Debian peut être résumée, dans une perspective historique, de la manière suivante :

  • Avant woody, chaque application devait utiliser une opération spécifique de configuration manuelle pour configurer les polices installées.
  • Le gestionnaire de polices Debian (defoma) a été créé en 2000 pour automatiser cette configuration des polices en fournissant un niveau de « glue » Debian.

    • Chaque paquet de police publie dans defoma des données de polices indépendantes de l'application.
    • Chaque paquet d'application utilise ces données pour configurer chaque police installée par le script de son paquet.
    • Pour le serveur X, le programme réel pour configurer les polices TrueType et les polices CID (ainsi que CMaps) se trouve dans le paquet x-ttcidfont-conf.
  • Fontconfig 2.0 a été créé en 2002 pour fournir une bibliothèque indépendante de la distribution pour configurer et personnaliser l'accès aux polices.

    • Dans la distribution lenny, il semble que la plupart des programmes qui accèdent aux données de polices utilisent ce système.
    • After squeeze, Debian solely uses Fontconfig 2.0 and drops Debian Font Manager (defoma).

La prise en compte des polices dans le système X Window peut être résumée comme suit :

  • Ancien système de gestion des polices côté serveur X

    • Le système de polices de base d'origine de X11 fournit une rétrocompatibilité avec les anciennes versions des applications X clientes.
    • Les polices de base d'origine de X11 sont installées sur le serveur X.
  • Système de prise en charge moderne des polices côté client X

Tableau 7.4. Table de paquets prenant en charge les systèmes de polices de X Window

paquet popcon taille description
xfonts-utils * V:30, I:71 516 Programmes utilitaires des polices du système X Window
libxft2 * V:44, I:75 148 Xft, bibliothèque permettant de connecter des applications X avec la bibliothèque de tramage des polices FreeType
libfreetype6 * V:57, I:87 796 Bibliothèque de tramage des polices FreeType 2.0
fontconfig * V:33, I:74 536 Fontconfig, bibliothèque générique de configuration des polices — binaires de gestion
fontconfig-config * I:82 440 Fontconfig, bibliothèque générique de configuration des polices — données de configuration
defoma * V:24, I:84 564 Gestionnaire de polices Debian (« Debian Font Manager ) — infrastructure de configuration automatique des polices (lenny)
x-ttcidfont-conf * I:45 156 Configuration des polices TrueType et CID pour X (avec prise en charge de CJK)

Vous pouvez vérifier les informations de configuration des polices comme suit :

  • « xset q » pour le chemin des police X11 de base
  • « fc-match » pour la police par défaut de fontconfig
  • « fc-list » pour les polices disponibles de fontconfig
[Astuce] Astuce

« Unicode et le Pingouin » (« The Penguin and Unicode ») est un bon aperçu du système X Window moderne. D'autres documentations se trouvant à http://unifont.org/ devraient fournir de bonnes informations sur les polices Unicode, les logiciels fonctionnant avec Unicode, l'internationalisation et les problèmes d'utilisation d'Unicode sur les systèmes d'exploitationfree/libre/open source (FLOSS).

[Astuce] Astuce

Vous devriez faire reposer sur l'infrastructure fontconfig pour configurer les polices sur un système Debian. Le gestionnaire de police Debian (defoma(1)) n'est utile que pour l'installation des polices et l'enregistrement des données de description logique de police pour X (XLFD) (« X logical font description ») pour lenny.

7.6.1. Polices de base

Il y a deux types principaux de polices de caractères pour ordinateurs.

  • Polices par champs de bits (« bitmap ») (bonnes pour le tramage en faible résolution)
  • Polices par traits/contours (bonnes pour le tramage en haute résolution)

Alors que le redimensionnement des polices bitmap donne des images hachées, le redimensionnement des polices par traits et contours donne des images lisses.

Les polices bitmap sur le système Debian sont habituellement fournie sous forme de fichiers de police X11 pcf bitmap compressés ayant l'extension de nom de fichier « .pcf.gz ».

Les polices de type contour sur les système Debian sont fournies de la manière suivante :

  • Fichiers de polices PostScript Type 1 avec une extension de nom de fichier « .pfb » (fichier binaire de police) et « .afm » (fichier de métrique de la police).
  • Fichiers de polices TrueType (ou OpenType) ayant habituellement l'extension « .ttf ».
[Astuce] Astuce

OpenType est prévu pour se substituer à la fois à TrueType et PostScript Type 1.

Tableau 7.5. Table de correspondance des polices PostScript Type 1

paquet de police popcon taille police sans-sérif police sérif police monospace source de la police
PostScript N/A N/A Helvetica Times Courier Adobe
gsfonts * V:19, I:68 4792 Nimbus Sans L Nimbus Roman No9 L Nimbus Mono L URW (taille compatible avec Adobe)
gsfonts-x11 * I:30 116 Nimbus Sans L Nimbus Roman No9 L Nimbus Mono L gestion des polices X avec polices PostScript Type 1.
t1-cyrillic * I:2 5008 Helvetian libre Times libre Courier libre URW étendu (taille compatible avec Adobe)
lmodern * V:4, I:16 45644 LMSans* LMRoman* LMTypewriter* PostScript redimensionnable et polices OpenType basées sur « Computer Modern » (venant de TeX)

Tableau 7.6. Table de correspondance des polices TrueType

paquet de police popcon taille police sans-sérif police sérif police monospace source de la police
ttf-mscorefonts-installer * I:11 196 Arial Times New Roman Courier New Microsoft (taille compatible avec Adobe) (Ceci installe des données non-libres)
ttf-liberation * I:42 1724 Liberation Sans Liberation Serif Liberation Mono Projet de polices Liberation (taille compatible avec Microsoft)
ttf-freefont * I:22 4204 FreeSans FreeSerif FreeMono GNU freefont (taille compatible avec Microsoft)
ttf-dejavu * I:81 68 DejaVu Sans DejaVu Serif DejaVu Sans Mono DejaVu, Bitstream Vera avec couverture Unicode
ttf-dejavu-core * I:64 2564 DejaVu Sans DejaVu Serif DejaVu Sans Mono DejaVu, Bitstream Vera avec couverture Unicode (sans, sans-bold, serif, serif-bold, mono, mono-bold)
ttf-dejavu-extra * I:64 5744 N/A N/A N/A DejaVu, Bitstream Vera avec couverture Unicode (oblique, italic, bold-oblique, bold-italic, condensed)
ttf-unifont * I:4 16060 N/A N/A unifont GNU Unifont, avec tous les codes de caractères imprimables d'« Unicode 5.1 Basic Multilingual Plane (BMP) » (Plan de base multilingue Unicode 5.1)

[Astuce] Astuce

Les polices DejaVu sont basées sur un sur-ensemble des polices Bitstream Vera

7.6.2. Polices supplémentaires

aptitude(8) peut vous aider à trouver facilement de nouvelles polices de caractères.

  • La courte liste de paquets sous « Tâches » → « Localisation »
  • La liste des paquets de données de polices filtrée par l'expression rationnelle sur debtag : « ~Gmade-of::data:font »
  • La liste des paquets de polices BDF (bitmap) filtrée par l'expression rationnelle sur le nom de paquet : « ~nxfonts- »
  • La liste des paquets de polices TrueType (outline) filtrée par l'expression rationnelle sur le nom de paquet : « ~nttf- »

Comme les polices libres sont quelque peu limitées, l'installation ou le partage de certaines polices TrueType commerciales est possible pour les utilisateur de Debian. De manière à faciliter ce processus pour l'utilisateur, certains paquets pratiques ont été créés.

  • ttf-mathematica4.1
  • ttf-mscorefonts-installer

Vous obtiendrez une vraiment bonne sélection de polices TrueType en acceptant de contaminer votre système Libre avec des polices non libres.

7.6.3. Polices CJK

Voici quelques points ciblés sur les polices de caractères CJK.

Tableau 7.7. Table de mots-clés utilisés dans les noms de polices CJK afin d'indiquer les types de polices

type de police nom de police Japonaise nom de police chinoise nom de police coréenne
sans-sérif gothic, ゴチック hei, gothic dodu m, gulim, gothic
serif mincho, 明朝 so ng, ming ba tang

Un nom de police tel que « VL PGothic » avec « P » est une police proportionnelle correspondant à la police de largeur fixe « VL Gothic ».

Par exemple, la table de code Shift_JIS comporte 7070 caractères. Ils peuvent être regroupés de la manière suivante :

  • caractères sur un seul octet JIS X 0201 (191 caractères encore appelés caractères de demi-largeur)
  • caractères sur deux octets JIS X 0208 (6879 caractères encore appelés caractères de pleine-largeur)

Les caractères sur deux octets occupent une largeur double sur les consoles qui utilisent des polices CJK de largeur fixe. Afin de s'accommoder d'une telle situation, le fichier Hanzi Bitmap Font (HBF) File ayant l'extension de nom de fichier « .hbf » peut être mis en œuvre pour les polices comportant des caractère sur un ou sur deux octets.

Afin d'économiser la place prise par les fichiers de polices TrueType, on peut utiliser un fichier de collection de polices TrueType ayant l'extension du nom de fichier « .ttc ».

Afin de couvrir un espace de code de caractères compliqué, la police CID à clé PostScript Type 1 est utilisée avec des fichiers CMap qui commencent par « %!PS-Adobe-3.0 Resource-CMap ». Ceci est rarement utilisé pour l'affichage X normal mais est utilisé pour le rendu PDF, etc. (voir Section 7.7.2, « Applications utilitaires pour X »).

[Astuce] Astuce

Des glyphes multiples sont attendus de certains points du code Unicode en raison de l'unification Han. Parmi les plus ennuyeux se trouvent « U+3001 IDEOGRAPHIC COMMA » et « U+3002 IDEOGRAPHIC FULL STOP » dont la position des caractères diffère selon les pays CJK. La priorité de configuration des polices japono-centrées sur les chinoises en utilisant « ~/.fonts.conf » devrait apaiser l'esprit des Japonais.

7.7. Applications X

7.7.1. Applications X de bureautique

Voici une liste des application de bureautique de base (OO signifie OpenOffice.org) :

Tableau 7.8. Liste des applications de bureautique que base pour X

paquet popcon taille du paquet type description
openoffice.org-writer * V:22, I:44 26468 OO traitement de texte
openoffice.org-calc * V:22, I:44 19632 OO feuille de calcul
openoffice.org-impress * V:18, I:43 2956 OO présentation
openoffice.org-base * V:16, I:43 9440 OO gestion de base de données
openoffice.org-draw * V:19, I:43 9256 OO éditeur de graphiques vectoriels (draw)
openoffice.org-math * V:16, I:43 1504 OO éditeur d'équations et de formules mathématiques
abiword * V:4, I:8 4748 GNOME traitement de texte
gnumeric * V:4, I:9 8108 GNOME feuille de calcul
gimp * V:12, I:47 13472 GTK éditeur de graphiques en champs de bits (« bitmap ») (paint)
inkscape * V:11, I:30 87444 GNOME éditeur de graphiques vectoriels (draw)
dia-gnome * V:1.4, I:3 620 GNOME éditeur d'organigrammes et de diagrammes
planner * V:0.8, I:7 7468 GNOME gestion de projets
kword * V:0.8, I:1.9 3744(*) KDE traitement de texte
kspread * V:0.7, I:2 8748(*) KDE feuille de calcul
kpresenter * V:0.5, I:1.6 2184(*) KDE présentation
kexi * V:0.2, I:1.9 NOT_FOUND KDE gestion de base de données
kivio * V:0.6, I:1.8 NOT_FOUND KDE éditeur d'organigrammes et de diagrammes
karbon * V:0.6, I:1.7 2816(*) KDE éditeur de graphiques vectoriels (draw)
krita * V:0.7, I:2 11488(*) KDE éditeur de graphiques en champs de bits (« bitmap ») (paint)
kplato * V:0.2, I:1.7 6372(*) KDE gestion de projets
kchart * V:0.5, I:1.7 2688(*) KDE programme de dessin de graphes et d'organigrammes
kformula * V:0.4, I:1.4 NOT_FOUND KDE éditeur d'équations et de formules mathématiques
kugar * V:0.4, I:1.4 NOT_FOUND KDE business quality report generator

7.7.2. Applications utilitaires pour X

Voici une liste d'applications de base qui ont attiré mon attention :

Tableau 7.9. Liste d'applications utilitaires de base pour X

paquet popcon taille du paquet type description
evince * V:26, I:40 1104 GNOME afficheur de documents (pdf)
kpdf * V:6, I:12 NOT_FOUND KDE3 afficheur de documents (pdf)
okular * V:3, I:5 3116 KDE4 afficheur de documents (pdf)
evolution * V:22, I:37 11180 GNOME Gestion d'informations personnelles (logiciel de travail collaboratif et courriel)
kontact * V:1.8, I:11 1336 KDE Gestion d'informations personnelles (logiciel de travail collaboratif et courriel)
scribus * V:0.5, I:3 26864 KDE éditeur de mise en page de bureau
glabels * V:0.2, I:0.8 1088 GNOME éditeur d'étiquettes
kbarcode * V:0.06, I:0.4 2176 KDE application d'impression d'étiquettes et de codes à barres
gnucash * V:0.7, I:2 5912 GNOME gestion financière personnelle
homebank * V:0.08, I:0.4 904 GTK gestion financière personnelle
kmymoney2 * V:0.2, I:0.9 9504 KDE gestion financière personnelle
xsane * V:6, I:39 748 GTK interface pour dispositifs de numérisation (scanner)
kooka * V:1.0, I:9 NOT_FOUND KDE interface pour dispositifs de numérisation (scanner)

[Attention] Attention

Le paquet poppler-data (précédemment non libre, voir Section 11.3.1, « Ghostscript ») doit être installé pour qu'evince et okular puissent afficher des documents CJK PDF qui utilisent des données Cmap (Section 7.6.3, « Polices CJK »).

[Note] Note

L'installation de logiciels tels que scribus (KDE) sous l'environnement de bureau GNOME est acceptable puisqu'il n'existe pas de fonctionnalité équivalente sous l'environnement de bureau de GNOME. Cependant, l'installation de nombreux paquets ayant les mêmes fonctionnalités pollue votre menu.

7.8. Les infos de X

7.8.1. Cartographie des claviers et affectation des boutons de souris sous X

xmodmap(1) est un utilitaire permettant de modifier les cartographies de clavier et l'affectation des boutons de la souris sous le système X Window. Afin d'obtenir le code de touche (« keycode »), lancez xev(1) sous X et pressez les touches. Afin d'obtenir la signification de symbole de touche (« keysym »), regardez la définition de la MACRO dans le fichier « /usr/include/X11/keysymdef.h » (paquet x11proto-core-dev). Toutes les instructions« #define » de ce fichier ont des noms préfixés par « XK_ » suivi des noms de symbole de touche (« keysym »).

7.8.2. Clients X classiques

La plupart des programmes clients X traditionnels, tels que xterm(1), peuvent être démarré avec un ensemble d'options en ligne de commande afin de préciser leur géométrie, les polices et l'affichage.

Ils utilisent aussi la base de données de ressources X afin de configurer leur aspect. Les valeurs par défaut des ressources X pour l'ensemble du système se trouvent dans « /etc/X11/Xresources/* » et les valeurs par défaut de leurs applications dans « /etc/X11/app-defaults/* ». Utilisez ces paramètres comme points de départ.

Le fichier « ~/.Xresources » est utilisé pour enregistrer les spécifications de ressources de l'utilisateur. Ce fichier est automatiquement fusionné avec les ressources X par défaut lors de la connexion. Pour effectuer des modifications à ces définitions et les rendre immédiatement effectives, fusionnez-les dans la base de données à l'aide de la commande suivante :

$ xrdb -merge ~/.Xresources

Voir x(7) et xrdb(1).

7.8.3. Émulateur de terminal X — xterm

Vous pourrez tout apprendre ce qui concerne xterm(1) sur http://dickey.his.com/xterm/xterm.faq.html.

7.8.4. Faire tourner X avec le compte de l'administrateur

[Avertissement] Avertissement

Ne lancez jamais le gestionnaire de session ou d'affichage X avec le compte de l'administrateur en entrant root à l'invite d'un gestionnaire d'affichage comme gdm, même si vous prévoyez d'effectuer des tâches administratives car ceci est considéré comme non sûr, L'ensemble de l'architecture de X est considérée comme non sûre si elle tourne avec le compte de l'administrateur. Vous devez toujours avoir le niveau de privilège le plus bas possible, comme avec un compte normal.

Une manière simple de faire tourner un client X particulier, par exemple « toto » en tant que rot est d'utiliser sudo(8) etc. de la manière suivante :

$ sudo toto &
$ sudo -s
# toto &
$ gksu toto &
$ ssh -X root@localhost
# toto &
[Attention] Attention

N'utiliser ssh(1) que dans ce but est un gaspillage de ressources.

De manière à ce que le client X puisse se connecter au serveur X, veuillez noter ce qui suit :

  • Les valeurs des variables d'environnement « $XAUTHORITY » et « $DISPLAY » de l'ancien utilisateur doivent être copiées dans celles du nouvel utilisateur.
  • Le nouvel utilisateur doit avoir la permission de lecture du fichier vers lequel pointe la valeur de la variable d'environnement « :$XAUTHORITY ».

Le paquet gksu (popcon : V:25, I:49) est un paquet spécialisé de l'interface graphique GTK+ permettant d'obtenir les privilèges de l'administrateur. Il peut être configuré pour utiliser su(1) ou sudo(8) en tant que programme de support selon la valeur de la clé « /apps/gksu/sudo-mode » de gconf. Vous pouvez éditer la clé de gconf en utilisant gconf-editor(1) (menu : « Applications » → « Outils système » → « Éditeur de configuration »).