[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ suivant ]
Ce chapitre décrit seulement les bases de la configuration du système. Avant de lire ce chapitre, vous devriez lire Installation du système Debian, Chapitre 3.
Pour ceux qui sont intéressés par la sécurité, il est hautement recommandé de
lire Securing Debian
Manual
qui se trouve dans le paquet harden-doc
.
Debian utilise le système de scripts d'initialisation System V. Voir Le programme init, Section 2.4.1 pour une introduction.
Le moyen le plus facile de contrôler le comportement d'un script
d'initialisation est de changer les variables d'environnement dans le fichier
situé dans le répertoire /etc/default
ayant le même nom que le
script d'initialisation. [31]
Par exemple, /etc/default/hotplug
peut-être utilisé pour contrôler
comment /etc/init.d/hotplug
fonctionne. Le fichier
/etc/default/rcS
peut être utilisé pour personnaliser les défauts
au démarrage pour motd
, sulogin
, etc.
Si vous ne pouvez pas obtenir le comportement que vous souhaitez en changeant ces variables, alors vous pouvez modifier les scripts eux-mêmes : ce sont tous des fichiers de configuration.
Le journal du système peut être configuré par le fichier
/etc/syslog.conf
. Utilisez le paquet colorize
pour
colorier les fichiers du journal. Voir syslogd(8)
et
syslog.conf(5)
.
Quelques outils pour l'optimisation du matériel sont donnés à l'administrateur système avec Debian.
hdparm
Optimisation du disque dur. Très efficace.
Dangereux. Il faut lire hdparm(8)
d'abord.
hdparm -tT /dev/hda pour tester la vitesse du disque.
hdparm -q -c3 -d1 -u1 -m16 /dev/hda pour accélérer un système IDE moderne. (Cela peut être dangereux.)
setcd
Optimisation de l'accès au lecteur de CD.
setcd -x 2 pour réduire à la vitesse 2x.
Voir setcd(1)
.
setserial
Collection d'outils pour gérer les ports série.
scsitools
Collection d'outils pour gérer le matériel SCSI.
memtest86
Collection d'outils pour gérer la mémoire.
hwtools
Collection d'outils pour la gestion bas niveau du matériel.
irqtune
: change la priorité d'IRQ des périphériques pour
autoriser ceux qui ont besoin d'une priorité haute et d'un service rapide (par
exemple ports série, modems) à l'avoir. Une accélération de 3 fois des débits
du port série/modem est possible.
scanport
: scanne l'espace E/S de 0x100 à 0x3ff pour trouver
les périphériques ISA installés.
inb
: un petit programme rapide qui lit un port E/S et
retourne la valeur en hexadécimal et en binaire.
schedutils
Utilitaires pour l'ordonnanceur Linux.
taskset
, irqset
, lsrt
et rt
sont inclus.
Avec nice
et renice
(non inclus), ils permettent un
contrôle complet des paramètres de l'ordonnancement des processus.
Monter un système de fichiers avec l'option noatime permet aussi
d'accélérer les accès en lecture au fichier. Voir fstab(5)
et
mount(8)
.
Certains matériels peuvent être optimisés directement dans le noyau Linux lui-même à travers le système de fichiers proc. Voir Trop de fichiers ouverts, Section 7.2.7.
Il existe beaucoup d'utilitaires de configuration pour du matériel spécifique dans Debian. Beaucoup d'entre eux répondent à des besoins spécifiques des portables. Voici quelques paquets intéressants disponibles dans Debian.
tpconfig
- Utilitaires pour Advanced Power Management (APM)
acpi
- Affiche des informations sur les périphériques ACPI
acpid
- Utilitaires pour utiliser ACPI
lphdisk
- Prépare une partition d'hibernation pour le NoteBIOS
Phoenix
sleepd
- Met un portable en veille en cas d'inactivité
noflushd
- Permet aux disques durs de s'arrêter
big-cursor
- Curseurs de souris plus grands pour X
acme
- Active les boutons multimedia des portables
tpctl
- Ouils de configuration pour les IBM ThinkPad
mwavem
- Support pour les modems Mwave/ACP
toshset
- Accède à la plupart de l'interface matériel des
portables Toshiba
toshutils
- Utilitaires pour portables Toshiba
sjog
- Un programme pour utiliser le Jog Dial sur les portables
Sony Vaio
spicctrl
- Programme pour régler la luminosité de l'écran LCD sur
Sony Vaio
ACPI est un modèle de gestion d'énergie plus récent qu'APM.
Certains de ces paquets ont besoin de modules du noyau spéciaux, qui sont inclus dans les dernières sources du noyau dans la plupart des cas. En cas de problème, vous aurez peut-être besoin de patcher le noyau vous-même.
PAM (Pluggable Authentication Modules, Modules d'Authentification Greffables) permet de contrôler les connexions des utilisateurs.
/etc/pam.d/* # fichiers de contrôle de PAM /etc/pam.d/login # fichier de contrôle de PAM pour la connexion /etc/security/* # paramètres des modules de PAM /etc/securetty # contrôle les connexions de root sur la console /etc/login.defs # contrôle le comportement de login
Changez le contenu du fichier /etc/pam.d/login
comme suit, si vous
voulez des terminaux non sécurisés mais ne demandant pas de mot de passe.
Faites le à vos propres risques.
#auth required pam_unix.so nullok auth required pam_permit.so
Des astuces similaires peuvent être appliquées pour xdm
,
gdm
, ..., pour avoir une console X sans mot de passe.
Au contraire, installez cracklib2
et réglez
/etc/pam.d/passwd
comme suit, si vous voulez forcez une bonne
politique de mots de passe.
password required pam_cracklib.so retry=3 minlen=6 difok=3
Pour l'activation d'un compte, un mot de passe temporaire peut aussi être
utile. Pour cela utilisez la commande passwd
avec l'option
-e. Voir passwd(1)
.
Le nombre maximum de processus peut être réglé avec ulimit -u 1000
dans un shell Bash ou avec la configuration de
/etc/security/limits.conf
. D'autres paramètres comme
core peuvent être réglés d'une façon similaire. La valeur
initiale de PATH
peut être réglée dans le fichier
/etc/login.defs
avant le script de démarrage du shell.
La documentation de PAM est dans le paquet libpam-doc
. Le
Guide de l'Administrateur d'un Système Linux-PAM couvre la
configuration de PAM, les modules disponibles, etc. La documentation inclut
aussi le Guide du Développeur d'Applications Linux-PAM et le Guide
du Développeurs de Modules Linux-PAM.
GNU su
ne supporte pas le groupe wheel
C'est la célèbre phrase de Richard M. Stallman à la fin de l'ancienne page
info su. Ne pas s'inquiéter : le su
actuel de
Debian utilise PAM, donc on peut restreindre l'accès de su
à
n'importe quel groupe en utilisant pam_wheel.so
dans
/etc/pam.d/su
. Ce qui suit réglera le groupe adm du
système Debian comme équivalent du groupe BSD wheel et autorisera
su
sans mot de passe pour les membres du groupe.
# anti-RMS configuration in /etc/pam.d/su auth required pam_wheel.so group=adm # Wheel members to be able to su without a password auth sufficient pam_wheel.so trust group=adm
Quelques groupes intéressants :
Le groupe root est le groupe wheel par défaut pour
su
si pam_wheel.so
est utilisé sans l'argument
group=.
Le groupe adm peut lire les fichiers du journal.
Le groupe cdrom peut être utilisé localement pour donner accès au lecteur de CDROM à un ensemble d'utilisateurs.
Le groupe floppy peut être utilisé localement pour donner accès au lecteur de disquettes à un ensemble d'utilisateurs.
Le groupe audio peut être utilisé localement pour donner accès à un périphérique audio à un ensemble d'utilisateurs.
Le groupe src possède le code source, y compris les fichiers de
/usr/src
. Il peut être utilisé localement pour donner la
possibilité de gérer le code source du système à un utilisateur.
Le groupe staff est utile pour donner la possibilité de faire des
choses dans /usr/local
et créer des répertoires dans
/home
à plus d'administrateurs système (support/junior).
Pour une liste complète, voir la section « FAQ » dans Securing Debian
Manual
, qui se trouve aussi dans le paquet harden-doc
dans Woody. De plus, le nouveau paquet base-passwd
(>3.4.6)
contient une liste
officielle :/usr/share/doc/base-passwd/users-and-groups.html
.
sudo
J'utilise sudo
principalement comme protection contre ma
stupidité. Utiliser sudo
est toujours mieux que d'utiliser le
système avec le compte root.
Installez sudo
et activez-le en configurant
. Réglez aussi les possibilités
de sudo pour les groupes dans
/etc/sudoers
/usr/share/doc/sudo/OPTIONS
.
Cette configuration fournit aux membres du groupe « staff » un accès
à toutes les commandes lancées en tant que root avec sudo
et donne
aux membres du groupe « src » un accès à certaines commandes lancées
en tant que root avec sudo
.
L'avantage de sudo
est qu'il requiert seulement les mots de passe
utilisateurs pour se connecter et que l'activité est surveillée. C'est un
moyen simple de donner des pouvoirs à un administrateur débutant. Par
exemple :
$ sudo chown -R myself:mygrp .
Bien sûr, si vous connaissez le mot de passe de root (comme beaucoup d'utilisateurs individuels), n'importe quelle commande peut être lancée en tant que root depuis un compte utilisateur :
$ su -c "shutdown -h now" Password:
(Je sais que je devrais limiter les privilèges du compte administrateur avec
sudo
. Mais comme c'est mon serveur personnel, je ne me suis pas
encore embêté avec ça.)
Un autre programme permet à des utilisateurs ordinaires de lancer des commandes
avec les privilèges de root, voir le paquet super
.
Le super-serveur internet, inetd
, est exécuté lors du
démarrage par /etc/rc2.d/S20inetd
(pour le niveau d'exécution 2)
qui est un lien vers /etc/init.d/inetd
. inetd
permet
de n'exécuter qu'un démon qui en invoque plusieurs autres, réduisant ainsi la
charge du système.
Lorsqu'une requête pour un service arrive, le protocole et le service sont
identifiés en regardant dans la base de données stockée dans
/etc/protocols
et /etc/services
. Pour un service
internet normal, inetd
utilise /etc/inetd.conf
. Pour
un service basé sur Sun-RPC, inetd
utilise
/etc/rpc.conf
.
Pour la sécurité du système, assurez-vous de désactiver les services non
utilisés dans /etc/inetd.conf
. Les services Sun-RPC doivent être
actifs pour NFS et d'autres programmes basés sur RPC.
Parfois, inetd
n'exécute pas le serveur demandé directement, mais
exécute le programme d'enveloppe de démon TCP/IP tcpd
avec le
serveur demandé comme argument dans /etc/inetd.conf
. Dans ce cas,
tcpd
lance le serveur approprié après avoir enregistré dans le
journal la requête et avoir fait quelques autres vérifications en utilisant les
fichiers /etc/hosts.deny
et /etc/hosts.allow
.
Si vous avez un problème avec l'accès à distance sur un système Debian récent,
commentez la ligne "ALL: PARANOID" dans /etc/hosts.deny
si elle existe.
Pour plus de détails, voir inetd(8)
, inetd.conf(5)
,
protocols(5)
, services(5)
, tcpd(8)
,
hosts_access(5)
, et hosts_options(5)
.
Pour plus d'information sur Sun-RPC, voir rpcinfo(8)
,
portmap(8)
, et
/usr/share/doc/portmap/portmapper.txt.gz
.
Utilisez Lightweight Directory Access Protocol (LDAP). Références :
OpenLDAP Admin Guide dans le paquet openldap-guide
LDP: LDAP Linux
HOWTO
Les graveurs de CD sur interface ATAPI/IDE sont devenus des périphériques
courants. Le CD un bon média pour sauvegarder et archiver un système pour un
utilisateur individuel ayant besoin d'une capacité < 640 Mo. Pour des
informations plus officielles, consultez le CD-Writing-HOWTO
du LDP.
D'abord, sachez qu'une interruption de l'envoi des données vers le graveur entraînera des erreurs irrécupérables sur le CD. Prenez donc un graveur avec un cache aussi gros que possible. Si le prix n'a pas d'importance, optez pour une version SCSI plutôt qu'ATAPI/IDE. Si vous avez le choix de l'interface IDE sur laquelle connecter le graveur, préférez celle sur bus PCI (une de celles de la carte mère) plutôt qu'une sur bus ISA (carte SB16, etc.).
Un graveur connecté sur interface IDE doit être piloté par le pilote IDE-SCSI et non par le pilote CD IDE habituel pour les noyaux Linux 2.2 et 2.4. Le pilote SCSI générique doit aussi être activé. Pour cela, deux approches existent pour les noyaux distribués avec des distributions modernes (à la date de mars 2001).
Pour le noyau Linux 2.6, vous devriez utiliser le pilote IDE et accéder au
graveur de CD directement avec le nom de périphérique
/dev/hdx
. Vous pouvez utiliser le DMA de cette façon.
lilo
Ajoutez la ligne suivante à /etc/lilo.conf
si vous utilisez le
noyau distribué avec Debian. Si vous utilisez plusieurs options, listez-les en
les séparant par des espaces.
append="hdx=ide-scsi ignore=hdx"
Ici, le graveur, accédé par le pilote ide-scsi, est identifié par hdx, où x représente :
hdb esclave sur le premier port IDE hdc maître sur le second port IDE hdd esclave sur le second port IDE hde ... hdh sur un port IDE externe
Lancez les commandes suivantes, en tant que root, pour activer les options après avoir terminé la configuration :
# lilo # shutdown -h now
Debian utilise make-kpkg
pour créer le noyau. Utilisez la
nouvelle option --append_to_version avec make-kpkg
pour créer plusieurs images du noyau. Voir Le
noyau Linux et Debian, Chapitre 7.
Utilisez la configuration suivante avec make menuconfig :
bzImage
Excluez le pilote CD IDE (non obligatoire mais c'est plus simple comme ça)
Ajoutez ide-scsi et sg, ou compilez-les en tant que modules
Le support pour le graveur peut être activé dans le noyau lors du démarrage avec les commandes suivantes :
# echo ide-scsi >>/etc/modules # echo sg >>/etc/modules # cd /dev; ln -sf scd0 cdrom
Une activation manuelle peut aussi être effectuée avec :
# modprobe ide-scsi # modprobe sg
Après un redémarrage, vous pouvez vérifier l'installation avec :
$ dmesg|less # apt-get install cdrecord # cdrecord -scanbus
[Par Warren Dodge] Quelquefois, il peut y avoir des conflits entre
ide-scsi et ide-cd s'il y a à la fois un lecteur de
CDROM et un graveur CD-R/RW sur le système. Essayez d'ajouter ce qui suit dans
votre fichier /etc/modutils/aliases
, exécutez
update-modules
et redémarrez.
pre-install ide-scsi modprobe ide-cd
Cela force le pilote IDE à être chargé avant ide-scsi. Le pilote ide-cd prend le contrôle du lecteur de CDROM ATAPI—tout ce qu'on ne lui a pas dit d'ignorer. Cela laisse simplement les périphériques ignorés au contrôle de ide-scsi.
Pour créer un CDROM contenant des fichiers contenus dans le répertoire
target-directory/
en tant qu'image nommée
cd-image.raw
(CD bootable, format Joliet TRANS.TBL. Pour un CD
non bootable, enlevez les options -b et -c), insérez
une disquette de démarrage dans le premier lecteur de disquette et
faites :
# dd if=/dev/fd0 target-directory/boot.img # mkisofs -r -V volume_id -b boot.img -c bootcatalog -J -T \ -o cd-image.raw target_directory/
Une utilisation amusante est de créer un CDROM DOS bootable. Si
boot.img
contient l'image d'une disquette de démarrage
DOS, le CDROM démarrera comme si une disquette DOS était dans le premier
lecteur de disquette (A:). Faire cela avec freeDOS est encore plus
intéressant.
L'image créée peut être vérifiée en la montant en utilisant le périphérique de boucle (loop device).
# mount -t iso9660 -o ro,loop cd-image.raw /cdrom # cd /cdrom # mc # umount /cdrom
Premier test avec les commandes suivantes (cas d'un graveur double vitesse)
# nice --10 cdrecord -dummy speed=2 dev=0,0 disk.img
Si le test est réussi, gravez un CD-R avec
# nice --10 cdrecord -v -eject speed=2 dev=0,0 disk.img
Ou gravez un CD-RW avec
# nice --10 cdrecord -v -eject blank=fast speed=2 dev=0,0 disk.img
Certains graveurs de CD marchent mieux avec
# nice --10 cdrecord -v blank=all speed=2 dev=0,0 disk.img
suivi de
# nice --10 cdrecord -v -eject speed=2 dev=0,0 disk.img
Deux étapes sont nécessaires pour empêcher que des fins d'attente SCSI lors du
formatage n'interfèrent avec l'étape de gravure. Les arguments passés à
nice
peuvent avoir besoin d'un ajustement.
Certains CD-R et CD commerciaux ont des secteurs parasites à la fin qui les
rendent incopiables par dd
(le CD de Windows 98 est l'un d'eux).
Le paquet cdrecord
comprend la commande readcd
.
Utilisez-la pour copier le contenu de n'importe quel CD dans un fichier image.
S'il s'agit d'un CD de données, montez-le et exécutez mount
pour
connaître sa taille. Divisez le nombre affiché (en blocs de 1024 octets) par 2
pour connaître le nombre de secteurs du CD (2048 octets). Lancez
readcd
avec les bonnes options et utilisez l'image du CD pour
graver un CD-R/RW.
# readcd target,lun,scsibusno # choisissez la fonction 11
Ici, positionnez tous les paramètres de ligne de commande à 0 dans la plupart
des cas. Parfois, le nombre de secteurs donné par readcd
est trop
important ! Utilisez le nombre donné par mount pour de meilleurs
résultats.
Il faut noter que l'utilisation de dd
pose des problèmes avec un
CD-ROM. La première exécution de dd
peut causer un message
d'erreur et entraîner une image disque plus petite avec la perte de la fin. La
deuxième exécution de dd
peut entraîner une image disque plus
grande avec des données à jeter à la fin sur certains systèmes si la taille des
données n'est pas spécifiée. Seule la seconde exécution de dd
avec la taille des données correcte spécifiée, et sans éjecter le CD après un
message d'erreur, semble permettre d'éviter ces problèmes. Si par exemple la
taille de l'image affichée par df
est 46301184 blocs,
utilisez la commande suivante pour obtenir la bonne image disque (information
empirique) :
# dd if=/dev/cdrom of=cd.img bs=2048 count=$((46301184/2))
Pour obtenir les dernières informations, consultez le site Debian CD.
Si vous avez une connexion Internet rapide, installez par le réseau en utilisant :
quelques images de
disquettes
.
une image de CD
minimale
.
Si vous n'avez pas de connexion Internet rapide, achetez des CD depuis un
vendeur de CD
.
Merci de ne pas gâcher la bande passante en téléchargeant des images de CD standard à moins que vous ne soyez un testeur d'images de CD (même avec la nouvelle méthode jigdo).
Une image de CD à noter est celle de KNOPPIX - Système de
Fichier Linux Fonctionnel sur CD
. Ce CD démarre avec un système
Debian fonctionnel sans s'installer sur le disque dur.
Pour copier les fichiers de configuration et de données importants sur CD-R,
utilisez le script de sauvegarde
. Voir aussi Copier et archiver un sous-répertoire
entier, Section 8.3 et Sauvegarde
différentielle et synchronisation de données, Section 8.4.
backup
Je n'ai pas testé cela personnellement :
# apt-get get install cdrecord cdparanoia # cdparanoia -s -B # cdrecord dev=0,0,0 speed=2 -v -dao -eject defpregap=1 -audio *.wav
ou,
# apt-get install cdrdao #disk at once # cdrdao read-cd --device /dev/cdrom --paranoia-mode 3 my_cd # lit le CD # cdrdao write --device /dev/cdrom --speed 8 my_cd # grave un nouveau CD
cdrdao
fait une vraie copie (pas de trous, etc.).
Pour graver des DVD, il existe deux approches :
Utiliser growisofs
avec mkisofs
.
Recompiler cdrecord
avec l'option dvd pour créer un paquet local
en suivant /usr/share/doc/cdrecord/README.DVD.Debian
.
L'environnement X Window System est fourni par Xfree86
. Il existe deux versions
majeures du serveur X dans Debian : XFree86 Version 3.3 (XF3) et la série
des XFree86 Version 4.x (XF4) toutes les deux basées sur les spécifications
X11R6 de X.Org
.
Pour les bases sur X, référez-vous à X(7)
, et les XWindow-User-HOWTO
et Remote X
Apps mini-HOWTO
du LDP. Pour un guide d'utilisation spécifique à
Debian, lisez /usr/share/doc/xfree86-common/FAQ.gz
fournie dans le
paquet xfree86-common
. Elle contient une revue intéressante et
exhaustive des problèmes d'assignation des touches par Branden Robinson.
un programme sur la machine locale qui affiche des fenêtres X et/ou un bureau sur le moniteur (CRT, LCD) d'un utilisateur et accepte des entrées au clavier et à la souris.
un programme sur une machine (locale ou distante) qui exécute un logiciel d'application compatible avec X-Window.
Cela inverse l'utilisation habituelle de « serveur » et « client » dans d'autres contextes.
Il y a plusieurs façons de faire accepter les connexions distantes d'un client X (côté application) à un serveur X (côté affichage) :
Méthode xhost
le mécanisme de liste d'hôtes (non sûr).
protocole non chiffré (sujet à des attaques d'écoute de ligne).
à ne pas utiliser, si possible.
voir Connexion à un serveur X distant –
xhost
, Section 9.4.7 et xhost(1x)
.
Méthode xauth
le mécanisme des cookies magiques du MIT (non sûr mais mieux que
xhost
).
protocole non chiffré (sujet à des attaques d'écoute de ligne).
à utiliser seulement pour des connexions locales car il est moins gourmand en
temps processeur que ssh -X
.
voir Devenir root sous X, Section 9.4.12 et
xauth(1x)
.
Méthodes xdm
, wdm
, gdm
,
kdm
,...
mécanisme des cookies magiques du MIT (aussi non sûr que xauth
).
voir xdm(1x)
et Xsecurity(7)
pour les bases du
contrôle d'accès à un affichage X.
voir wdm(1x)
, gdm(8)
, et kdm.options(5)
pour plus d'information, si ces programmes sont installés.
voir Personnaliser les niveaux
de fonctionnement, Section 2.4.3 pour savoir comment désactiver
xdm
pour avoir accès à la console Linux après le démarrage sans
purger le paquet xdm
.
Méthode ssh -X
mécanisme de redirection de port à travers SSH (sûr).
protocole chiffré (gâchis de ressources en utilisation locale).
à utiliser pour des connexions distantes.
voir Connexion à un serveur X distante –
ssh
, Section 9.4.8.
Toutes les méthodes de connexion distante, sauf ssh
, ont besoin de
l'activation des connexions TCP/IP au serveur X. Voir Utiliser X sur TCP/IP, Section 9.4.6.
Il existe quelques paquets globaux pour installer X sur un système Woody.
x-window-system-core
Ce paquet global fournit les composants essentiels pour une station de travail
exécutant X Window System. Il fournit les bibliothèques X, un serveur X
xserver-xfree86
, un ensemble de polices, et un ensemble de clients
et utilitaires X de base.
x-window-system
Ce paquet global fournit à peu près tous les composants de X Window System tels
que développés par XFree86 Project, ainsi qu'un ensemble d'accessoires
historiquement populaires. (Notamment, il dépend de
x-window-system-core
, twm
, et xdm
, càd
pas besoin d'installer x-window-system-core
si vous installez
celui-ci.)
xserver-common-v3
Fichiers et utilitaires communs aux serveurs X XFree86 3.x (XF3)
xserver-*
Paquets supplémentaires pour le serveur XF3 afin de supporter du matériel non
supporté par le nouveau serveur XF4 (xserver-xfree86
), qu'elle
qu'en soit la raison. Certaines cartes ATI mach64 anciennes ne sont pas
supportées par XF4, certaines cartes vidéo plantent avec la version de XF4 de
Woody, etc. (Pour connaître les paquets disponibles, utilisez apt-cache
search xserver-|less. Tous les serveurs XF3 dépendent de
xserver-common-v3
.)
Dans la plupart des cas, x-window-system
est le paquet à
installer. (Si vous voulez vous connecter par la console, assurez-vous de
désactiver xdm
tel que décrit dans « Je veux désactiver X au
démarrage ! », Section 8.1.4.)
Pour activer la détection du matériel lors de la configuration de X, installez les paquets suivants avant d'installer le système X :
discover
– système d'identification du matériel
mdetect
– outil d'autodétection de la souris
read-edid
– outil pour récupérer des informations
matérielles pour les moniteurs VESA PnP.
Consultez XFree86(1)
pour des informations sur le serveur X.
Exécution du serveur X depuis une console locale :
$ startx -- :<display> vtXX par exemple : $ startx -- :1 vt8 -bpp 16 ... exécution sur un terminal vt8 connecté à localhost:1 en mode 16 bpp
Les arguments donnés après -- sont pour le serveur X.
Notez que lorsque vous utilisez le script ~/.xserverrc
pour
personnaliser le démarrage du serveur X, il faut utiliser exec
avec le serveur X réel. Sinon, cela peut rendre le serveur X lent à démarrer
ou à quitter. Par exemple :
#!/bin/sh exec /usr/bin/X11/X -dpi 100 -nolisten tcp
Pour (re-)configurer un serveur XF4,
# dpkg-reconfigure --priority=low xserver-common # dpkg-reconfigure --priority=low xserver-xfree86
générera le fichier /etc/X11/XF86Config-4
et configurera X avec le
script dexconf
.
Pour (re-)configurer un serveur XF3, par exemple pour une carte ATI mach64,
# dpkg-reconfigure --priority=low xserver-common-v3 # dpkg-reconfigure --priority=low xserver-mach64
générera le fichier /etc/X11/XF86Config
et configurera X avec le
script xf86config-v3
.
Avec Woody, pour ajouter des personnalisations à
/etc/X11/XF86Config-4
, n'éditez pas le fichier de
configuration entre le texte :
### BEGIN DEBCONF SECTION [snip] ### END DEBCONF SECTION
Au lieu de cela, ajoutez les personnalisations avant le texte. Par exemple, pour utiliser une carte video personnalisée, ajoutez quelquechose comme ce qui suit au début du fichier :
Section "Device" Identifier "Custom Device" Driver "ati" Option "NoAccel" EndSection Section "Screen" Identifier "Custom Screen" Device "Custom Device" Monitor "Generic Monitor" DefaultDepth 24 Subsection "Display" Depth 8 Modes "1280x960" "1152x864" "1024x768" "800x600" "640x480" EndSubsection Subsection "Display" Depth 16 Modes "1280x960" "1152x864" "1024x768" "800x600" "640x480" EndSubsection Subsection "Display" Depth 24 Modes "1280x960" "1152x864" "1024x768" "800x600" "640x480" EndSubsection EndSection Section "ServerLayout" Identifier "Custom" Screen "Custom Screen" InputDevice "Generic Keyboard" "CoreKeyboard" InputDevice "Configured Mouse" "CorePointer" EndSection
Pour Sarge (testing au moment de l'écriture), si vous souhaitez
garder les personnalisations de /etc/X11/XF86Config
à travers la
mise-à-jour, lancez les commandes suivantes en tant que root :
# cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom # md5sum /etc/X11/XF86Config-4 > /var/lib/xfree86/XF86Config-4.md5sum # dpkg-reconfigure xserver-xfree86
Afin d'obtenir de belles polices de caractères, vous devez
éditer /etc/X11/XF86Config-4
comme décrit dans Polices TrueType dans X, Section 9.4.13.
Vérifiez aussi les autres parties de votre configuration X. De mauvais paramètres pour le moniteur peuvent donner un mal de tête plus important que de mauvaises polices, aussi assurez-vous que le taux de rafraichissement est aussi élevé que peut le supporter votre moniteur (85Hz est super, 75Hz est OK, 60Hz fait mal aux yeux).
La plupart des clients X peuvent être démarrés comme ceci :
client $ xterm -geometry 80x24+30+200 -fn 6x10 -display hostname:0 &
Ici, les arguments de ligne de commande optionnels signifient :
-geometry WIDTHxHEIGHT+XOFF+YOFF : taille initiale et emplacement de la fenêtre.
-fn FONTNAME : police utilisée pour l'affichage du texte. FONTNAME peut être :
a14 : Taille normale
a24 : Grande taille
... (consultez les polices disponibles avec xlsfont.)
-display displayname : le nom du serveur X à utiliser. displayname peut être :
hostname:D.S signifie écran S sur affichage D de l'hôte hostname ; le serveur X de cet affichage écoute le port TCP 6000+D.
host/unix:D.S signifie écran S
sur affichage D de l'hôte host ; le serveur X de
cet affichage écoute la socket UNIX /tmp/.X11-unix/XD
(et n'est
donc utilisable depuis host).
:D.S est équivalent à host/unix:D.S, où host est le nom de l'hôte local
Le displayname (nom d'affichage) par défaut pour un programme client X (côté application) peut être défini par la variable d'environnement DISPLAY. Par exemple, avant de lancer un programme client X, on peut exécuter l'une des commandes suivantes pour cela :
$ export DISPLAY=:0 # Valeur par défaut, machine locale avec premier écran X $ export DISPLAY=hostname.fulldomain.name:0.2 $ export DISPLAY=localhost:0
Le démarrage peut être personnalisé avec le fichier ~/.xinitrc
.
Par exemple :
xrdb -load $HOME/.Xresources xsetroot -solid gray & xclock -g 50x50-0+0 -bw 0 & xload -g 50x50-50+0 -bw 0 & xterm -g 80x24+0+0 & xterm -g 80x24+0-0 & twm
Comme décrit dans Sessions X personnalisées, Section
9.4.5.1, cela outrepasse tout ce qu'une exécution normale de Xsession fait
lorsqu'elle est démarrée depuis startx
. Utilisez plutôt
~/.xsession
et utilisez cette approche seulement en dernier
recours. Voir xsetroot(1x)
, xset(1x)
and Ressources X, Section 9.4.10.
Une session X (serveur X + client X) peut être lancée par :
startx
: script encapsulant xinit
pour démarrer
le serveur et le client X depuis la console de Linux. Si
~/.xinitrc
n'existe pas, /etc/X11/Xsession
est
exécuté au travers de /etc/X11/xinit/xinitrc
.
xdm
, gdm
, kdm
, ou
wdm
: démon de gestion de l'affichage X pour démarrer le
serveur et le client X, et contrôler les connexions depuis un écran graphique.
/etc/X11/Xsession
est exécuté directement.
La console peut être rappelée par « Je veux désactiver X au démarrage ! », Section 8.1.4.
Le script de démarrage par défaut /etc/X11/Xsession
est une
combinaison de
/etc/X11/Xsession.d/50xfree86-common_determine-startup
et
/etc/X11/Xsession.d/99xfree86-common_start
.
L'exécution de /etc/X11/Xsession
est affectée par
/etc/X11/Xsession.options
et consiste essentiellement en
l'exécution d'un programme avec la commande exec
trouvé en
premier, en cherchant dans l'ordre suivant :
~/.xsession
ou ~/.Xsession
, s'il existe.
/usr/bin/x-session-manager
, s'il existe.
/usr/bin/x-window-manager
, s'il existe.
/usr/bin/x-terminal-emulator
, s'il existe.
La signification exacte de ces commandes est déterminée par le système de solutions de rechange de Debian décrit dans Commandes de rechange, Section 6.5.3. Par exemple :
# update-alternatives --config x-session-manager ... ou # update-alternatives --config x-window-manager
Pour que n'importe quel gestionnaire de fenêtre soit le défaut, tout en gardant
les gestionnaires de session de GNOME et KDE installés, remplacez le fichier
/etc/X11/Xsession.d/50xfree86-common_determine-startup
par celui
attaché au deuxième rapport de bogue à http://bugs.debian.org/168347
(j'espère que cela sera inclus rapidement) et éditez
/etc/X11/Xsession.options
comme suit pour désactiver le
gestionnaire de session X :
# /etc/X11/Xsession.options # # configuration options for /etc/X11/Xsession # See Xsession.options(5) for an explanation of the available options. # Default enabled allow-failsafe allow-user-resources allow-user-xsession use-ssh-agent # Default disabled (enable them by uncommenting) do-not-use-x-session-manager #do-not-use-x-window-manager
Sans la modification ci-dessus, gnome-session
et
kdebase
sont les paquets contenant ces gestionnaires de session X.
Les enlever permet le gestionnaire de fenêtre d'être le défaut. (Beurk, une
autre idée ?)
Sur un système où /etc/X11/Xsession.options
contient une ligne
allow-user-xsession sans caractère la précédent, n'importe quel
utilisateur peut personnaliser l'action de /etc/X11/Xsession
en
créant ~/.xsession
ou ~/.Xsession
.
La dernière commande dans le fichier ~/.xsession
devrait être de
la forme exec some-window/session-manager pour démarrer
votre gestionnaire de fenêtres/session favori.
Un bon exemple de script ~/.xsession
est donné par
/usr/share/doc/xfree86-common/examples/xsession.gz
.
J'utilise ceci pour définir le gestionnaire de fenêtres, l'accès à l'écran et le support de la langue pour chaque compte utilisateur. Voir Démarrer une session X pour un utilisateur, Section 9.4.5.2, Devenir root sous X, Section 9.4.12, et Exemple de système X bilingue, Section 9.7.9.
Si vous souhaitez avoir plusieurs clients X lancés automatiquement, voir les
exemples de Clients X, Section 9.4.4 et appelez-les
depuis ~/.xsession
plutôt que ~/.xinitrc
.
D'autres ressources X spécifiques à chaque utilisateur peuvent être stockées
dans ~/.Xresources
. Voir Ressources X,
Section 9.4.10.
Des cartes clavier personnalisées et des actions spécifiques associées aux boutons de la souris peuvent être spécifiés dans le script de démarrage de l'utilisateur. Voir Clavier et souris sous X, Section 9.4.11.
Suivant les principes décrits à Sessions X
personnalisées, Section 9.4.5.1, un gestionnaire de session/fenêtres X
spécifique à chaque utilisateur peut être activé en installant le paquet
indiqué et en configurant le fichier ~/.xsession
comme suit.
(J'aime bien blackbox
/fluxbox
pour son style simple
et sa rapidité.) :
gestionnaire de session X par défaut.
exec /usr/bin/x-session-manager
gestionnaire de fenêtres X par défaut.
exec /usr/bin/x-window-manager
gestionnaire de session GNOME (lourd)
Installer le paquet : gnome-session
exec /usr/bin/gnome-session
gestionnaire de session KDE (lourd)
Installer le paquet : kdebase
(ou kdebase3
pour
KDE3)
exec /usr/bin/kde2
gestionnaire de fenêtres Blackbox (léger)
Installer le paquet : blackbox
exec /usr/bin/blackbox
gestionnaire de fenêtres Fluxbox (léger, nouveau Blackbox)
Installer le paquet : fluxbox
exec /usr/bin/fluxbox
gestionnaire de fenêtres Xfce (Ressemble à Mac OS-X, SUN CDE)
Installer le paquet : xfce
exec /usr/bin/xfwm
gestionnaire de fenêtres IceWM (léger, alternative à GNOME)
Installer le paquet : icewm
exec /usr/bin/X11/icewm
gestionnaire de fenêtres virtuel FVWM2 (léger, ressemble à Windows 95)
Installer le paquet : fvwm
exec /usr/bin/fvwm2
gestionnaire de fenêtres Windowmaker (ressemble à NeXT)
Installer le paquet : wmaker
exec /usr/bin/wmaker
gestionnaire de fenêtres Enlightenment (lourd)
Installer le paquet : enlightenment
exec /usr/bin/enlightenment
Voir Window Managers for X
.
Afin de configurer un environnement KDE ou GNOME complet, les meta-paquets suivants sont utiles :
KDE : installer le paquet kde
GNOME : installer le paquet gnome
En installant ces paquets avec des outils qui gèrent la priorité
« recommends », comme dselect
et
aptitude
, vous aurez un choix de logiciel plus riche qu'en les
installant avec apt-get
.
Si vous voulez une connexion à la console, assurez-vous de désactiver les
gestionnaires d'affichage X, comme kdm
, gdm
, et
wdm
, qui peuvent être installés par le système de dépendances, en
suivant les instructions décrites à « Je veux désactiver X au
démarrage ! », Section 8.1.4.
Si vous voulez avoir GNOME par défaut plutôt que KDE, configurez
x-session-manager
comme décrit à Commandes de rechange, Section
6.5.3.
Comme les connexions TCP/IP distantes sans chiffrage peuvent être sujettes à
des attaques d'écoute de ligne, la configuration par défaut de X de Debian
désactive les sockets TCP/IP. Pensez à utiliser ssh
pour des
connexions X distantes (Voir Connexion à un serveur X
distante – ssh
, Section 9.4.8).
La méthode décrite ici n'est pas encouragée à moins que l'on soit dans un environnement très sûr derrière un bon pare-feu et en présence d'utilisateurs de confiance uniquement. La configuration suivante sur le serveur X restaure les connexions TCP/IP :
# find /etc/X11 -type f -print0 | xargs -0 grep nolisten /etc/X11/xinit/xserverrc:exec /usr/bin/X11/X -dpi 100 -nolisten tcp
Supprimez -nolisten pour permettre les connexions TCP/IP à X.
xhost
xhost
autorise l'accès en se basant sur les noms d'hôtes, ce qui
n'est pas sûr du tout. Les commandes suivantes permettent de désactiver la
vérification de l'hôte et autorisent des connexions de n'importe où si les
connexions TCP/IP sont autorisées (voir Utiliser X sur
TCP/IP, Section 9.4.6) :
$ xhost +
Vous pouvez réactiver la vérification de l'hôte avec :
$ xhost -
xhost
ne fait pas la différence entre les utilisateurs sur l'hôte
distant. De plus, les noms d'hôtes (les adresses en fait) peuvent être
falsifiés.
Cette méthode doit être évitée même avec des critères sur les hôtes plus
restrictifs si vous êtes sur un réseau dans lequel vous ne pouvez avoir
confiance (par exemple avec une connexion PPP sur Internet). Voir
xhost(1x)
.
ssh
L'utilisation de ssh
active une connexion sûre d'un serveur X
local vers un serveur d'applications distant.
Réglez X11Forwarding et AllowTcpForwarding à
yes dans /etc/ssh/sshd_config
sur l'hôte distant.
Démarrez le serveur X sur la station locale.
Démarrez un xterm
sur l'hôte local.
Lancez ssh
pour établir une connexion vers le site distant.
localname @ localhost $ ssh -q -X -l loginname remotehost.domain Password: .....
Lancez des applications X sur le site distant.
loginname @ remotehost $ gimp &
Cette méthode permet l'affichage du client X distant comme s'il était connecté par une socket UNIX locale.
xterm
Apprenez tout sur xterm
à l'adresse http://dickey.his.com/xterm/xterm.faq.html
.
Beaucoup d'anciens programmes X, comme xterm
, utilisent la base de
données de ressources X pour configurer leur apparence. Le fichier
~/.Xresources
est utilisé pour spécifier les ressources de
l'utilisateur. Ce fichier est automatiquement ajouté aux ressources X par
défaut au moment de la connexion. Les ressources X par défaut du système sont
stockées dans /etc/X11/Xresources/*
et les ressources par défaut
des applications dans /etc/X11/app-defaults/*
. Utilisez ces
paramètres comme point de départ.
Voici quelques paramètres intéressants à ajouter à
~/.Xresources
:
! Règle la police à 9x15, plus lisible XTerm*font: 9x15 ! Affiche une barre de défilement XTerm*scrollBar: true ! Règle la taille du tampon à 1000 lignes XTerm*saveLines: 1000 ! Large kterm screen KTerm*VT100*fontList: -*-fixed-medium-r-normal--24-*,\ -*-gothic-medium-r-normal--24-*,\ -*-mincho-medium-r-normal--24-*
Pour que ces paramètres prennent effet immédiatement, ajoutez-les à la base de données avec la commande :
xrdb -merge ~/.Xresources
Voir xrdb(1x)
.
Le programme xmodmap
est utilisé pour éditer et afficher la carte
des modificateurs de clavier et la table des touches du clavier qui est
utilisée par les applications clientes pour converter les codes touches des
événements en symboles de touches sous X.
$ xmodmap -pm ... affiche la carte des modificateurs courante $ xmodmap -pk | pager ... affiche la table clavier courante $ xmodmap -e "pointer = 3 2 1" # configure la souris pour les gauchers $ xmodmap ~/.xmodmaprc # configure le clavier comme dans ~/.xmodmaprc
Il est généralement exécuté depuis le script de démarrage de session d'un
utilisateur, ~/.xsession
.
Pour obtenir le code touche, lancez xev
sous X et appuyez sur des
touches. Pour obtenir la signification d'un symbole de touche, regardez les
définitions de MACRO dans /usr/include/X11/keysymdef.h
. Tous les
#define de ce fichier ont le préfixe XK_ suivi du nom
du symbole de touche.
Voir xmodmap(1x)
.
Si une application graphique a besoin d'être lancée avec les privilèges de root, utilisez les procédures suivantes pour le faire à partir du serveur X d'un utilisateur. N'essayez jamais de démarrer un serveur X depuis le compte root, pour vous garder d'éventuels risques de sécurité.
Démarrez le serveur X avec un utilisateur normal et ouvrez un
xterm
. Ensuite :
$ XAUTHORITY=$HOME/.Xauthority $ export XAUTHORITY $ su root Password:***** # printtool &
Lorsque vous utilisez cette astuce pour effectuer un su
vers un
utilisateur non root, faites attention à ce que le fichier
~/.Xauthority
soit lisible par le groupe de cet utilisateur.
Cette séquence de commandes peut être automatisée en créant un fichier
~/.xsession
sur le compte de l'utilisateur, avec les lignes
suivantes :
# Cela permet que X marche quand je fais un su pour devenir root if [ -z "$XAUTHORITY" ]; then XAUTHORITY=$HOME/.Xauthority export XAUTHORITY fi unset XSTARTUP # Si vous désirez un gestionnaire de fenêtres/session particulier, # décommentez les lignes suivantes et éditez-les #XSTARTUP=/usr/bin/blackbox # Démarre le programme de gestion de fenêtres/session if [ -z "$XSTARTUP" ]; then if [ -x /usr/bin/x-session-manager ]; then XSTARTUP=x-session-manager elif [ -x /usr/bin/x-window-manager ]; then XSTARTUP=x-window-manager elif [ -x /usr/bin/x-terminal-emulator ]; then XSTARTUP=x-terminal-emulator fi fi # exécute le gestionnaire de fenêtres/session sélectionné exec $XSTARTUP
Ensuite, exécutez su
(pas su -) dans une fenêtre
xterm
de l'utilisateur. Maintenant vous pouvez exécuter des
applications graphiques avec les privilèges de root sur l'écran X d'un
utilisateur normal. Cette astuce fonctionne tant que le Xsession par défaut
est utilisé. Si un utilisateur personnalise ~/.xinit
ou
~/.xsession
, la variable d'environnement XAUTHORITY
mentionnée ci-dessus doit être positionnée de la même façon dans ces scripts.
Une autre méthode est d'utiliser le paquet sudo
:
$ sudo xterm ... ou $ sudo -H -s
Ici le fichier /root/.bashrc
doit contenir :
if [ $SUDO_USER ]; then sudo -H -u $SUDO_USER xauth extract - $DISPLAY | xauth merge - fi
Cela marche bien même si le répertoire home de l'utilisateur est sur une
partition NFS, puisque root ne lit pas le fichier .Xauthority
.
Il existe aussi des paquets spécialisés dans ce but : kdesu
,
gksu
, gksudo
, gnome-sudo
, et
xsu
. Enfin, trois autres méthodes peuvent être utilisées pour
atteindre des résultats similaires : créer un lien symbolique depuis
/root/.Xauthority
vers celui de l'utilisateur ; utiliser le
script \|[quot
]\|sux\|[quot ]\|
; ou mettre xauth merge
~USER_RUNNING_X/.Xauthority dans le script d'initialisation
de root.
Plus d'informations sur la liste
de diffusion debian-devel
.
Le xfs
standard de XFree86-4 fonctionne bien avec les polices
TrueType. Il faut installer un autre serveur de polices comme
xfs-xtt
si vous utilisez XFree86-3.
Vous avez simplement besoin de vous assurer que les applications que vous voulez utiliser avec les polices TrueType sont liées avec les bibliothèques libXft ou libfreetype (vous n'avez probablement pas à vous en soucier si vous utilisez des .deb précompilés).
D'abord, configurez l'infrastructure de support des polices.
Installez les paquets x-ttcidfont-conf
et defoma
.
Cela automatise la génération des fichiers fonts.scale
et
fonts.dir
.
# apt-get install x-ttcidfont-conf
Éditez /etc/X11/XF86Config-4
dans la section Section
"Files" comme suit :
Section "Files" FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" FontPath "/usr/share/fonts/truetype" FontPath "/usr/lib/X11/fonts/CID" FontPath "/usr/lib/X11/fonts/Speedo" FontPath "/usr/lib/X11/fonts/misc" FontPath "/usr/lib/X11/fonts/cyrillic" FontPath "/usr/lib/X11/fonts/100dpi:unscaled" FontPath "/usr/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/lib/X11/fonts/Type1" EndSection
La première ligne configure XFree86 pour utiliser toutes les polices TrueType que vous installez à partir de paquets Debian. L'entrée pour les polices Type1 est déplacée en bas car XFree86 ne rend pas bien les polices Type1. Les options :unscaled pour les polices bitmap ne sont en principe pas nécessaires, mais je les inclus ici au cas où.
Afin de préserver les changements manuels de
/etc/X11/XF86Config-4
, suivez les instructions de Configurer manuellement le serveur X, Section
9.4.3.3.
Ensuite, installez des paquets de polices suivant les DFSG :
Polices TrueType occidentales :
ttf-bitstream-vera
: ensemble de polices TrueType de grande
qualité créées par Bitstream, Inc. [32]
ttf-freefont
: ensemble de polices TrueType gratuites de
grande qualité pour le jeu de caractères UCS.
ttf-thryomanes
: police Unicode TrueType pour les jeux de
caractères latin, grec, cyrillique et IPA.
Polices asiatiques :
tfm-arphic-bsmi00lp
: police TrueType et métriques de police
TeX chinoise Arphic "AR PL Mingti2L Big5"
tfm-arphic-bkai00mp
: police TrueType et métriques de police
TeX chinoise Arphic "AR PL KaitiM Big5"
tfm-arphic-gbsn00lp
: police TrueType et métriques de police
TeX chinoise Arphic "AR PL SungtiL GB"
tfm-arphic-gkai00mp
: police TrueType et métriques de police
TeX chinoise Arphic "AR PL KaitiM GB"
ttf-baekmuk
: série de polices TrueType coréennes Baekmuk
hbf-jfs56
: police bitmap chinoise Jianti Fangsong 56x56
(GB2312) pour CJK
hbf-cns40-b5
: police bitmap chinoise Fanti Song 40x40 (Big5)
pour CJK
hbf-kanji48
: police bitmap japonaise Kanji 48x48 (JIS
X-0208)
Puisque les polices libres sont parfois limitées, l'installation ou le partage de certaines polices TrueType commerciales est une option pour les utilisateurs Debian. Afin de rendre ce processus facile pour l'utilisateur, il existe certains paquets :
ttf-commercial
msttcorefonts (>1.1.0)
[33]
Vous aurez ainsi une très bonne sélection de polices TrueType au prix de la contamination de votre système libre par des polices non-libres.
Tous ces paquets de polices dans Debian devraient marcher sans effort et être disponibles pour tous les programmes X qui utilisent le système de polices standard. Cela inclut par exemple Xterm, Emacs et la plupart des autres applications non-KDE et non-GNOME.
Maintenant, lancez xfontsel
et sélectionnez une police TrueType
dans le menu « fndry ». Vous devriez voir un grand nombre d'entrées
non grisées dans le menu « fmly ».
Pour KDE2.2 et GNOME1.4 (avec libgdkxft0, qui est un hack pour que GTK1.2 fasse
de l'anticrénelage sur les polices), vous devez configurer Xft1 aussi. Xft1
est obsolète, et n'est utilisé pratiquement que par GNOME1.4 et KDE2.2. Éditez
le fichier /etc/X11/XftConfig
et ajoutez une ligne
dir "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
avant les autres lignes dir. [34]
Pour GNOME2 et KDE3 (après la sortie de Sarge), vous devez configurer
fontconfig
que Xft2 utilise pour trouver les polices. [35] Vous ne devriez pas à avoir
installer autre chose pour cela, puisque tous les paquets utilisant
fontconfig
auront une dépendance sur lui.
D'abord, regardez le fichier /etc/fonts/fonts.conf
. Il devrait y
avoir une ligne comme celle ci-dessous. Sinon, éditez
/etc/fonts/local.conf
et ajoutez :
<dir>/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType</dir>
juste après la ligne <fontconfig>
fontconfig
devrait prendre cela en compte immédiatement et
fc-list
devrait lister les nouvelles polices. Une autre
possibilité intéressante de fontconfig
est que vous pouvez
mettredes polices dans ~/.fonts/
et tous les programmes utilisant
fontconfig
y auront accès immédiatement.
Si vous installez manuellement un nouvel ensemble de polices TrueType dans X sans un paquet Debian, lancez
# xset fp rehash
pour que XFree86 les prenne en compte.
Il existe quelques paquets de navigateurs web disponibles avec la sortie de Woody :
mozilla
Le navigateur Mozilla (nouveau)
galeon
Navigateur basé sur Mozilla avec une interface Gnome
(nouveau)
konqueror
Navigateur KDE
dillo
Navigateur GTK
amaya-gtk
Navigateur de référence du W3C
amaya-lesstif
Navigateur de référence du W3C
netscape-...
(plusieurs, vieux)
communicator-...
(plusieurs, vieux)
...
La version de mozilla
doit correspondre avec la version que
galeon
requiert. A part l'interface graphique, ces deux logiciels
partagent le moteur de rendu HTML Gecko.
Des ajouts pour les navigateurs comme mozilla
et
galeon
peuvent être activés en installant des fichiers
*.so directement dans le répertoire plugin
et en
relançant les navigateurs.
Ressources :
Java : installer le binaire « J2SE » depuis http://java.sun.com
.
Flash : installer le binaire « Macromedia Flash Player 5 »
depuis http://www.macromedia.com/software/flashplayer/
.
freewrl
: navigateur VRML et plugin Netscape
...
SSH (Secure SHell) est le moyen sécurisé de se connecter à d'autres machines au
travers d'Internet. Une version libre de SSH appelée OpenSSH est disponible
dans le paquet ssh
de Debian.
Installez d'abord le serveur et le client OpenSSH.
# apt-get update && apt-get install ssh
Le fichier /etc/ssh/sshd_not_to_be_run
ne doit pas être présent si
l'on veut exécuter le serveur OpenSSH.
SSh possède deux protocoles d'identification :
Protocole SSH version 1 :
la version de Potato supporte seulement ce protocole.
méthodes d'identification disponibles :
RSAAuthentication : identification basée sur une clé RSA
RhostsAuthentication : identification basée sur .rhosts (non sûr, désactivé)
RhostsRSAAuthentication : identification .rhosts combinée avec clé RSA (désactivé)
ChallengeResponseAuthentication : identification par challenge-response RSA
PasswordAuthentication : identification basée sur un mot de passe
Protocole SSH version 2 :
les versions d'après Woody utilisent ce protocole par défaut.
méthodes d'identification disponibles :
PubkeyAuthentication : identification de l'utilisateur basée sur une clé publique
HostbasedAuthentication : identification par .rhosts
ou
/etc/hosts.equiv
combinée avec identification de l'hôte par clé
publique (désactivé)
ChallengeResponseAuthentication : identification par challenge-response RSA
PasswordAuthentication : identification basée sur un mot de passe
Faites attention avec ces différences si vous migrez vers Woody ou si vous utilisez un système non Debian.
Voir /usr/share/doc/ssh/README.Debian.gz
, ssh(1)
,
sshd(8)
, ssh-agent(1)
, et ssh-keygen(1)
pour plus de détails.
Les fichiers suivants sont les fichiers de configuration importants.
/etc/ssh/ssh_config
: valeurs par défaut pour le client SSH.
Voir ssh(1)
. Entrées importantes :
Host : Restreint les entrées suivantes (jusqu'au prochain Host) aux hôtes qui correspondent au motif donné après le mot clé.
Protocol : Spécifie la version du protocole SSH. Par défaut, « 2,1 ».
PreferredAuthentications : Spécifie la méthode d'identification pour le client SSH2. Par défaut, « hostbased,publickey,keyboard-interactive,password ».
PasswordAuthentication : Si vous voulez vous connecter avec un mot de passe, vous devez vous assurer que cela n'est pas mis à no.
ForwardX11 : Désactivé par défaut. Peut être outrepassé par l'option -X en ligne de commande.
/etc/ssh/sshd_config
: valeurs par défaut pour le serveur
SSH. Voir sshd(8)
. Entrées à noter :
ListenAddress : Spécifie les adresses locales que
sshd
doit écouter. Plusieurs options sont permises.
AllowTcpForwarding : Désactivé par défaut.
X11Forwarding : Désactivé par défaut.
$HOME/.ssh/authorized_keys
: liste de clés publiques par
défaut utilisées pour se connecter à ce compte sur cette machine. Voir
ssh-keygen(1)
.
$HOME/.ssh/identity
: Voir ssh-add(1)
et
ssh-agent(1)
.
Les commandes suivantes permettent de démarrer une connexion ssh
.
$ ssh username@hostname.domain.ext $ ssh -1 username@hostname.domain.ext # Force SSH version 1 $ ssh -1 -o RSAAuthentication=no -l username foo.host # force un mot de passe avec SSH1 $ ssh -o PreferredAuthentications=password -l username foo.host # force un mot de passe avec SSH2
Pour un utilisateur, ssh
est plus intelligent que
telnet
(il ne crashe pas avec ^]).
Pour établir un tunnel pour se connecter au port 25 de remote-server
depuis le port 4025 de la machine locale, et au port 110 de
remote-server depuis le port 4110 de la machine locale par
ssh
, exécutez les commandes suivantes sur la machine locale :
# ssh -q -L 4025:remote-server:25 4110:remote-server:110 \ username@remote-server
C'est un moyen sécurisé d'effectuer une connexion vers un serveur SMTP/POP3 au
travers d'Internet. Positionnez l'entrée AllowTcpForwarding à
yes dans /etc/ssh/sshd_config
sur la machine
distante.
On peut éviter de se rappeler le mot de passe pour chaque système distant en utilisant RSAAuthentication (protocole SSH1) ou PubkeyAuthentication (protocole SSH2).
Sur le système distant, le contenu de /etc/ssh/sshd_config
doit
contenir « RSAAuthentication yes » ou « PubkeyAuthentication
yes ».
Générez ensuite les clés d'identification localement et installez la clé publique sur le système distant :
$ ssh-keygen # RSAAuthentication : clé RSA1 pour SSH1 $ cat .ssh/identity.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys" ... $ ssh-keygen -t rsa # PubkeyAuthentication : clé RSA pour SSH2 $ cat .ssh/id_rsa.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys" ... $ ssh-keygen -t dsa # PubkeyAuthentication : clé DSA pour SSH2 $ cat .ssh/id_dsa.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys"
On peut changer la phrase de passe par la suite avec ssh-keygen -p. Assurez-vous de vérifier la configuration en testant la connexion. En cas de problème, utilisez ssh -v.
Vous pouvez ajouter des options dans les entrées de
authorized_keys
pour limiter les hôtes et exécuter des commandes
spécifiques. Consultez sshd(8)
pour plus de détails.
Notez que SSH2 fait une identification de type
HostbasedAuthentication. Pour que cela fonctionne, il faut régler
la configuration de HostbasedAuthentication à yes
dans /etc/ssh/sshd_config
sur le serveur et
/etc/ssh/ssh_config
ou $HOME/.ssh/config
sur le
client.
Il existe quelques clients SSH gratuits disponibles pour des systèmes non Unix.
puTTY
(GPL)
SSH in cygwin
(GPL)
macSSH
(GPL) [Notez que Mac
OS X inclut OpenSSH ; utilisez ssh depuis l'application
Terminal]
Voir SourceForge.net,
documentation du site
, « 6. CVS Instructions ».
ssh-agent
Il est plus sûr de protéger votre clé d'identification SSH avec une phrase de passe. Si elle n'a pas été configurée, exécutez ssh-keygen -p.
Mettez votre clé publique (par exemple ~/.ssh/id_rsa.pub
) dans
~/.ssh/authorized_keys
sur un hôte distant comme décrit dans Se connecter avec moins de mots de passe – RSA, Section
9.5.3.
$ ssh-agent bash # ou lancez zsh/tcsh/pdksh à la place $ ssh-add ~/.ssh/id_rsa Enter passphrase for /home/osamu/.ssh/id_rsa: Identity added: /home/osamu/.ssh/id_rsa (/home/osamu/.ssh/id_rsa) $ scp foo user@remote.host:foo ... pas besoin de phrase de passe à partir de maintenant :-) $^D ... fin de la session ssh-agent
Pour le serveur X, les scripts de démarrage de Debian exécutent
ssh-agent
comme processus parent. Donc, vous n'avez pas besoin
d'exécuter ssh-add
qu'une seule fois.
Pour plus d'information, consultez ssh-agent(1)
et
ssh-add(1)
.
Si vous rencontrez des problèmes, vérifiez les permissions du fichier de
configuration et lancez ssh
avec l'option -v.
Utilisez -P si vous êtes root et avez des problèmes avec un pare-feu ; cela évite d'utiliser des ports serveur 1–1023.
Si les connexions ssh
vers un site distant arrêtent subitement de
fonctionner, cela peut être suite à des bidouilles de l'administrateur,
sûrement un changement de host_key
pendant une maintenance du
système. Après s'être assuré que c'est bien le cas et que personne n'essaie de
se faire passer pour la machine distante par une bidouille, on peut se
reconnecter en enlevant l'entrée host_key
de
~/.ssh/known_hosts
sur la machine locale.
La configuration du courrier électronique se divise en trois parties :
Agent de transfert de courriel (Mail Transfer Agent, MTA) :
exim4
, exim
, postfix
,
sendmail
, qmail
, ssmtp
,
nullmailer
, ...
Utilitaires : procmail
, fetchmail
,
mailx
, crm114
, ...
MUA : mutt
, emacs
+gnus
, ...
Pour un MTA (Mail Transport Agent) complet, utilisez exim
dans Woody et exim4
dans Sarge. [36] Références :
paquets exim-doc
et exim-doc-html
pour
exim
paquets exim4-doc-info
et exim4-doc-html
pour
exim4
La seule alternative raisonnable est postfix
si vous vous souciez
de la sécurité. sendmail
et qmail
sont disponibles
dans Debian mais ne sont pas recommandés.
Si vous n'avez pas besoin de la capacité de relai d'un MTA comme dans le cas d'un système satellite comme un portable, vous pouvez utiliser l'un de ces paquets légers :
ssmtp
: a besoin d'une connexion SMTP et est capable de gérer
des alias, ou
nullmailer
: gère une file d'attente mais n'est pas capable
de gérer des alias.
A ce jour, je trouve qu'exim
est le plus approprié même pour ma
station de travail personnelle, qui est un portable.
Vous pouvez avoir besoin de supprimer exim
pour installer l'un de
ces paquets entrant en conflit avec :
# dpkg -P --force-depends exim # apt-get install nullmailer # ou ssmtp
Si vous utilisez exim4
ou exim
sur une machine qui
est connectée par un service grand public, assurez-vous d'envoyer le courriel
sortant à travers le serveur offert par votre FAI ou un autre. [37] Voici quelques bonnes raisons
pour le faire :
pour assurer les ré-essais SMTP puisque le serveur de votre FAI a une connexion de meilleure qualité ;
pour éviter d'envoyer le courriel directement d'une adresse IP dynamique qui risque d'être bloquée par les listes anti-spam ;
pour sauver de la bande passante localement lors d'envois de courriels à plusieurs destinataires.
Les seules exceptions éventuelles sont :
pallier à une défaillance du serveur de votre FAI ;
une expérience à but éducatif ;
votre machine est un serveur professionnel.
Pour configurer exim4
ou exim
en tant que MTA,
configurez ce qui suit :
/etc/exim.conf "eximconfig" pour créer et éditer (exim) /etc/exim4/* "dpkg-reconfigure exim4-config" pour créer et éditer (exim4) /etc/inetd.conf mettez smtp en commentaire pour exécuter exim en tant que daemon /etc/email-addresses ajoutez les listes d'adresses sources spoofées
Vérifiez les filtres avec exim4
ou exim
avec les
options -brw, -bf, -bF, -bV, ... etc.
Dans /etc/exim/exim.conf
(Woody ou plus), dans la partie
DIRECTORS, à la fin (après localuser: director) ajoutez une directive
"catch-all" qui correspond à toutes les adresses que la directive
précédente ne pouvait résoudre (par Miquel van Smoorenburg) :
catchall: driver = smartuser new_address = webmaster@mydomain.com
Si vous souhaitez une recette plus détaillée pour chaque domaine virtuel,
ajoutez ce qui suit à la fin de exim.conf
(par moi, pas bien
testé) :
*@yourdomain.com ${lookup{$1}lsearch*{/etc/email-addresses} \ {$value}fail} T
Et ajoutez une entrée « * » dans /etc/email-addresses
.
La réécriture des adresses pour le courrier sortant afin d'avoir des en-têtes
« From: » corrects peut être réalisée avec exim
avec la
configuration suivante près de la fin de
/etc/exim/exim.conf
:
*@host1.something.dyndns.org \ "${if eq {${lookup{$1}lsearch{/etc/passwd}{1}{0}}} {1} \ {$0}{$1@something.dyndns.org}}" frFs
Cela réécrit toutes les adresses de type *@host1.something.dyndns.org.
Cela cherche dans le fichier /etc/password
pour voir si la partie
locale ($1) est un utilisateur local ou pas.
Si c'est un utilisateur local, cela réécrit l'adresse telle qu'elle était en premier lieu ($0).
Si ce n'est pas un utilisateur local, cela réécrit le nom de domaine.
Certains services SMTP comme yahoo.com demandent une authentification SMTP.
Configurez /etc/exim/exim.conf
comme suit :
remote_smtp: driver = smtp authenticate_hosts = smtp.mail.yahoo.com ... smarthost: driver = domainlist transport = remote_smtp route_list = "* smtp.mail.yahoo.com bydns_a" ... plain: driver = plaintext public_name = PLAIN client_send = "^cmatheson3^this_is_my_password"
N'oubliez pas les double guillemets sur la dernière ligne.
fetchmail
est exécuté en mode démon et récupère le courrier
électronique du compte POP3 du FAI sur le système de mail local.
Configurez :
/etc/init.d/fetchmail voir ci-dessous pour le script /etc/rc?.d/???fetchmail exécutez update-rc.d fetchmail defaults 30 /etc/fetchmailrc fichier de configuration (chown 600)
Les informations pour démarrer fetchmail
en mode démon depuis un
script init.d
dans Potato ne sont pas claires (Woody corrige
cela). Voir les exemples /etc/init.d/fetchmail
et
/etc/fetchmailrc
dans exemples de
scripts
.
Si vos en-têtes de courriers électroniques sont contaminées par des ^M dûs au
logiciel de courrier électronique de votre FAI, ajoutez « stripcr »
aux options dans $HOME/.fetchmailrc
:
options fetchall no keep stripcr
procmail
est un filtre pour le courrier électronique délivré. Il
faut créer un $HOME/.procmailrc
pour chaque compte qui l'utilise.
Exemple : _procmailrc
.
crm114
Le paquet crm114
fournit le script
/usr/share/crm114/mailfilter.crm
écrit en CRM114. Ce script
fournit un filtre anti-spam très efficace qui peut être entraîné en lui
fournissant du spam et des mails valides.
CRM114 est un petit langage conçu pour écrire des filtres ; c'est un
espèce de grep avec des super pouvoirs. Voir crm(1)
.
Utilisez mutt
comme agent pour utilisateur de courrier
électronique (Mail User Agent, MUA) associé à vim
.
Personnalisez-le dans ~/.muttrc
:
# utiliser le mode visuel et "gq" pour reformater les citations set editor="vim -c 'set tw=72 et ft=mail'" # # sélection des en-têtes prise dans le manuel (« Sven's Draconian header # weeding ») # ignore * unignore from: date subject to cc unignore user-agent x-mailer hdr_order from subject to cc date user-agent x-mailer auto_view application/msword ....
Ajoutez ce qui suit dans /etc/mailcap
ou
$HOME/.mailcap
pour afficher les courriers électroniques en HTML
et les attachements MS Word dans le message :
text/html; lynx -force_html %s; needsterminal; application/msword; /usr/bin/antiword '%s'; copiousoutput; description="Microsoft Word Text"; nametemplate=%s.doc
Debian est internationalisé et supporte un nombre toujours plus élevé de langues et de conventions locales. La sous-section suivante liste quelques formes de la diversité que Debian supporte actuellement, et la sous-section suivante parle de la localisation, processus de personnalisation de votre environnment de travail pour permettre l'entrée et l'affichage de votre langue et conventions pour les dates, les formats numériques et monétaires, et d'autres aspects d'un système qui diffèrent selon votre région.
Il y a plusieurs aspects à la personnalisation de la localisation et du support de la langue nationale.
Debian est distribuée avec le support pour près de deux douzaines de claviers. Dans Woody, reconfigurez le clavier avec :
dpkg-reconfigure --priority=low console-data # console
dpkg-reconfigure --priority=low xserver-xfree86 # XF4
dpkg-reconfigure --priority=low xserver-common-v3 # XF3
La grande majorité des paquets de logiciels Debian supporte l'entrée de caractères non US-ASCII avec la variable d'environnement LC_TYPE offerte par la technologie des locales de la glibc.
Propres en 8 bits : presque tous les programmes
Autres langues latines (par exemple ISO-8859-1 ou ISO-8859-2) : majorité des programmes
Langues multi-octets comme le Japonais ou le Coréen : beaucoup de nouvelles applications
X peut afficher n'importe quel codage y compris UTF-8 et supporte toutes les fontes. La liste inclut non seulement les polices 8 bits mais aussi des polices 16 bits comme pour le Chinois, le Japonais et le Coréen. L'entrée de caractères multi-octets est supportée par le mécanisme Méthodes d'entrée alternatives pour X, Section 9.7.10. Voir Exemple de système X bilingue, Section 9.7.9 et Support UTF-8 pour l'émulateur de terminal X, Section 9.7.12.
L'affichage du codage japonais EUC est aussi possible sur la console graphique
(S)VGA avec le paquet kon2
. Il existe aussi un nouvel affichage
japonais jfbterm
qui utilise la console FB. Dans ces
environnements de console, la méthode d'entrée du Japonais doit être fournie
par l'application. Utilisez le paquet egg
pour Emacs et utilisez
le paquet jvim
pour Vim.
L'installation de polices non Unicode dans X aide à afficher des documents ayant n'importe quel codage. Aussi ne vous inquiétez pas trop à propos du codage des polices.
Des traductions existent pour beaucoup de messages texte et documents qui sont affichés par le système Debian, comme les messages d'erreur, l'affichage standard des programmes, les menus et les pages de manuel. Actuellement, le support pour les langues Allemand, Espagnol, Finlandais, Français, Hongrois, Italien, Japonais, Koréen et Polonais dans les pages de manuel est fourni par les paquets manpages-LANG (où LANG est le code ISO à deux lettres du pays. Utilisez apt-cache search manpages-|less pour avoir une liste des pages de manuel disponibles).
Pour accéder à une page de manuel NLS, l'utilisateur doit configurer la
variable du shell LC_MESSAGES de la façon appropriée. Par exemple, dans le cas
des pages de manuel en Italien, LC_MESSAGES doit être positionnée à
it. Le programme man
cherchera alors les pages de
manuel en Italien sous /usr/share/man/it/
.
Debian supporte la technologie locale. C'est un mécanisme qui permet aux programmes de fournir un affichage et des fonctionnalités adaptés aux conventions locales comme le jeu de caractères, le format de la date et de l'heure, le symbole de la monnaie, et ainsi de suite. Il utilise des variables d'environnement pour déterminer le comportement approprié. Par exemple, en supposant que vous avez les locales Anglais américain et Allemand installées sur votre système, les messages d'erreur de beaucoup de programmes peuvent être multilingues :
$ LANG="en_US" cat foo cat: foo: No such file or directory $ LANG="de_DE" cat foo cat: foo: Datei oder Verzeichnis nicht gefunden
La glibc offre le support pour cette fonctionnalité dans la bibliothèque. Voir
locale(7)
.
La description complète d'une locale comprend trois parties : xx_YY.ZZZZ.
xx : code de la langue ISO 639 (minuscule)
YY : code du pays ISO 3166 (majuscule)
ZZZZ : table du code, c-à-d table des caractères ou identificateur de codage.
Pour les codes de langue et de pays, voir l'information de info gettext.
Veuillez noter que la partie table du code peut être normalisée de façon interne pour obtenir une compatibilité inter-plateformes en enlevant tous les - et en convertissant tous les caractères en minuscules. Voici les tables de code typiques :
UTF-8 : Unicode pour toutes les régions, principalement en 1-3 octets (nouveau standard de fait)
ISO-8859-1 : Europe de l'ouest (ancien standard de fait)
ISO-8859-2 : Europe de l'est (Bosniaque, Croate, Tchèque, Hongrois, Polonais, Roumain, Serbe, Slovaque, Slovène)
ISO-8859-3 : Malte
ISO-8859-5 : Macédonien, Serbe
ISO-8859-6 : Arabe
ISO-8859-7 : Grec
ISO-8859-8 : Hébreux
ISO-8859-9 : Turc
ISO-8859-11 : Thai (=TIS-620)
ISO-8859-13 : Léton, Lithuanien, Maori
ISO-8859-14 : Gallois
ISO-8859-15 : Europe de l'ouest avec l'euro
KOI8-R : Russe
KOI8-U : Ukrainien
CP1250 : Tchèque, Hongrois, Polonais (sur MS Windows à l'origine)
CP1251 : bulgare, Biélorusse (sur MS Windows à l'origine)
eucJP : Japonais façon Unix (=ujis)
eucKR : Coréen façon Unix
GB2312 : Chinois Simplifié façon Unix (=GB, =eucCN) pour zh_CN
Big5 : Chinois Traditionel pour zh_TW
sjis : Japonais façon Microsoft (Shift-JIS)
Et voici la signification du jargon des systèmes de codage :
ASCII : 7 bits (0-0x7f)
ISO-8859-? : 8 bits (0-0xff)
ISO-10646-1 : Universal Character Set (UCS) (31 bits, 0-0x7fffffff)
UCS-2 : 16 premiers bits de UCS comme 2 octets simples (Unicode: 0-0xffff)
UCS-4 : UCS comme 4 octets simples (UCS : 0-0x7fffffff)
UTF-8 : UCS codé sur 1-6 octets (généralement 3 octets)
ISO-2022 : 7 bits (0-0xff) avec la séquence d'échappement ; c'est le codage japonais le plus populaire pour le courrier électronique
EUC : 8 bits + 16 bits (0-0xff), façon Unix
Shift-JIS : 8 bits + 16 bits (0-0xff), façon Microsoft
ISO-8859-?, EUC, ISO-10646-1, UCS-2, UCS-4 et UTF-8 partagent le même code qu'ASCII pour les caractères de 7 bits. EUC ou Shift-JIS utilisent des caractères de bit haut (0x80-0xff) pour indiquer qu'une partie du codage est sur 16 bits. UTF-8 utilise aussi des caractères de bit haut (0x80-0xff) pour indiquer les séquences de caractères sur plus de 7 bits. C'est le système de codage le plus intelligent pour gérer les caractères non-ASCII.
Veuillez noter la différence d'ordre des octets des implémentations d'Unicode :
Standard UCS-2, UCS-4 : big endian
Microsoft UCS-2, UCS-4 : little endian pour ix86 (dépend de la machine)
Voir Convertir un fichier texte avec
recode
, Section 8.6.12 pour convertir entre les jeux de
caractères. Pour plus d'information, consultez Introduction to
i18n
(en Anglais).
Debian n'est pas livrée avec toutes les locales disponibles
précompilées. Consultez le fichier /usr/lib/locale
pour voir
quelles locales (à part le défaut, « C ») sont compilées pour votre
système. Si celle dont vous avez besoin n'est pas présente, vous avez deux
possibilités :
Editer /etc/locale.gen
pour ajouter la locale souhaitée, et lancer
locale-gen
en tant que root pour la compiler. Voir
locale-gen(8)
et les pages de manuel listées dans la section
« Voir aussi ».
Lancer dpkg-reconfigure locales pour reconfigurer le paquet
locales
. Ou s'il n'est pas déjà installé, l'installation de
locales
invoquera l'interface debconf pour choisir les locales
désirées et les compiler.
Les variables d'environnement suivantes sont évaluées dans cet ordre pour fournir les valeurs de locale aux programmes :
LANGUAGE : cette variable d'environnement consiste en une liste de locales séparées par deux points verticaux, dans l'ordre de priorité. Utilisé seulement si la locale POSIX est positionnée à une valeur autre que "C" [dans Woody ; la version de Potato a toujours priorité sur la locale POSIX]. (GNU extension)
LC_ALL : Si cette variable est non nulle, sa valeur est utilisée pour toutes les catégories de locales. (POSIX.1) Habituellement "" (null).
LC_* : Si cette variable est non nulle, sa valeur est utilisée pour la catégorie correspondante. (POSIX.1) Habituellement "C".
Les variables LC_* sont :
LC_CTYPE : Classification des caractères et conversion de casse.
LC_COLLATE : Ordre de collation.
LC_NUMERIC : Formats des nombres non monétaires.
LC_MONETARY : Formats monétaires.
LC_MESSAGES : Formats des messages d'information et de diagnostic et des réponses intéractives.
LC_PAPER : Taille du papier.
LC_NAME : Formats des noms.
LC_ADDRESS : Formats des adresses et information sur les lieux.
LC_TELEPHONE : Formats des numéros de téléphone.
LC_MEASUREMENT : Unités de mesure (Metric ou Other).
LC_IDENTIFICATION : Donnée générale sur l'information de la locale.
LANG : Si cette variable est non nulle, et que LC_ALL n'est pas définie, sa valeur est utilisée pour toutes les catégories de locales LC_* sans valeur définie. (POSIX.1) Habituellement, "C".
Notez que certaines applications (par exemple Netscape 4) ignorent les valeurs LC_*.
Le programme locale
peut afficher la locale active et les locales
disponibles ; voir locale(1)
. (NOTE : locale
-a liste toutes les locales du système ; cela ne signifie pas
qu'elles sont toutes compilées ! Voir Activer le support des locales, Section 9.7.4.)
Le support de locale pour le standard international de la date
yyyy-mm-dd (format de date ISO 8601) est fournit par la locale
appelée en_DK, « Anglais au Danemark » qui est une espèce de
blague :-) Cela semble ne marcher que sur la console pour ls
.
Ajoutez les lignes suivantes dans ~/.bash_profile
:
LC_CTYPE=en_US.ISO-8859-1 export LC_CTYPE
Ajoutez les lignes suivantes dans ~/.bash_profile
:
LANG=fr_FR@euro export LANG LC_CTYPE=fr_FR@euro export LC_CTYPE
Configurez le clavier français « AZERTY » comme décrit dans la
section Localiser le clavier, Section 9.7.1.1 et
ajoutez les pages de manuel en Français en installant manpages-fr
.
La touche Alt-Droite s'appelle Alt-Gr en Europe. En appuyant dessus en même
temps que d'autres touches on obtient de nombreux caractères accentués et
spéciaux. Par exemple, Alt-Gr+E donne le signe Euro.
La plupart des langues d'Europe de l'Ouest peuvent être configurées de la même façon.
Voir Debian Euro
HOWTO
pour ajouter le support de la nouvelle monnaie Euro et
Utiliser
et configurer Debian pour le Français
pour plus de détails en
Français.
Configurons un système X bilingue qui supporte simultanément le Japonais, l'Anglais, l'Allemand et le Français avec les codages EUC, UTF-8 et ISO-8859-1 dans différentes consoles.
Je vais vous montrer une personnalisation en utilisant le système de menu
Debian. Pour les détails du système de menu Debian consultez /usr/share/doc/menu/html/index.html
.
Je crée aussi un raccourci pour le navigateur web mozilla
dans
l'exemple. [38]
ajoutez le support de la locale pour le Japonais ja_JP.eucJP et les autres locales requises avec la méthode décrite à la section Localisation (l10n), Section 9.7 (pour toutes).
installez un système de conversion et un dictionnaire Kana vers Kanji (pour le Japonais) :
canna
– serveur local (licence gratuite), ou
freewnn-jserver
– serveur extensible par le réseau (domaine
public)
installez le système d'entrée pour le Japonais :
kinput2-canna
– pour X, ou
kinput2-canna-wnn
– pour X, et
egg
– marche directement avec Emacsen même en console
(optionnel)
installez des terminaux compatibles (pour toutes) :
xterm
– X (pour ISO-8859-1 and UTF-8),
kterm
– X (pour Japonais EUC), et
mlterm
– X (multilingue).
ajoutez tous les paquets de polices nécessaires (pour toutes)
créez ~/.xsession
qui définit l'environnement X spécifique à
l'utilisateur comme décrit dans Sessions X
personnalisées, Section 9.4.5.1 (pour toutes) :
#!/bin/sh # Cela fait marcher su avec X if [ -z "$XAUTHORITY" ]; then XAUTHORITY=$HOME/.Xauthority export XAUTHORITY fi # règle l'environnement spécifique par le système de menu debian # remet à zéro la locale unset LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES unset LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT unset LC_IDENTIFICATION LC_ALL LANG LANGUAGE PAGER # règle la locale par défaut dans X LANG=C # exporte la locale export LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES export LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT export LC_IDENTIFICATION LC_ALL LANG LANGUAGE PAGER ### # active la méthode d'entrée pour le Japonais avec kinput2 kinput2 & XMODIFIERS="@im=kinput2" export XMODIFIERS # gestionnaire de fenêtres blackbox (léger) exec /usr/bin/blackbox #exec xfwm #exec wmaker
réglez la locale dans ~/.bash_profile
pour les consoles Linux
(pour toutes)
supprimez la configuration de la locale de ~/.bashrc
, si elle
existait (pour toutes)
créez quelques fichiers dans /etc/menu
(pour toutes) :
/etc/menu/xterm-local
: (ajoute de nouvelles entrées dans le
menu) [39]
?package(xterm):\ needs=x11\ section=XShells\ longtitle="XTerm: terminal emulator (en_US.ISO-8859-1)"\ title="XTerm (en_US.ISO-8859-1)"\ command="sh -c 'LC_ALL=en_US.ISO-8859-1 xterm'" ?package(xterm):\ needs=x11\ section=XShells\ longtitle="XTerm: terminal emulator (de_DE.ISO-8859-1)"\ title="XTerm (de_DE.ISO-8859-1)"\ command="sh -c 'LC_ALL=de_DE.ISO-8859-1 xterm -T xterm-de'" ?package(xterm):\ needs=x11\ section=XShells\ longtitle="XTerm: terminal emulator for X with Unicode support (Japanese)"\ title="UXTerm (ja_JP.UTF-8)"\ command="sh -c 'LC_ALL=ja_JP.UTF-8 uxterm'"
/etc/menu/kterm
: (remplace les entrées par défaut) [40]
?package(kterm):\ needs="x11"\ section="XShells"\ command="sh -c 'LC_ALL=ja_JP.eucJP PAGER=w3m /usr/X11R6/bin/kterm -xim'" \ title="Kanji Terminal" ?package(kterm):\ needs="x11"\ section="XShells"\ command="sh -c 'LANG=ja_JP.eucJP \ LC_MESSAGES=en_US.ISO-8859-1 PAGER=w3m /usr/X11R6/bin/kterm -xim'"\ title="Kanji Terminal (bilingal)"
/etc/menu/mozilla-local
: (ajoute un nouveau raccourci) [41]
?package(mozilla-browser):needs="x11" section="/" \ title=" Mozilla Navigator" command="mozilla-1.5" hints="Web browsers"\ icon=/usr/share/pixmaps/mozilla.xpm
exécutez update-menus
depuis le compte root.
ajoutez les lignes suivantes à ~/.muttrc
(pour le Japonais) :
# le support UTF-8 n'est pas populaire dans l'environnement japonais # EMACS # codage 7 bits pour iso-2022-jp est plus facile pour tout le monde # ordre de codage par défaut = us-ascii > iso-8859-1 > utf-8 > iso-2022-jp set send_charset="us-ascii:iso-8859-1:iso-2022-jp" set allow_8bit=no
activez XIM kinput2
pour les applications X (pour le
Japonais) :
ajoutez *inputMethod: kinput2 et KTerm*VT100*OpenIm:
true à votre fichier de ressources X ~/.Xresources
(on
dirait que Debian le fait automatiquement).
Quelques applications (comme mlterm
) permettent aussi de
configurer *inputMethod: et d'autres paramètres dynamiquement au
démarrage (appuyez sur Ctrl-Bouton-3 dans
mlterm
).
lancez X avec startx ou à partir d'un des gestionnaires
d'affichage (xdm
, gdm
, kdm
,
wdm
, ...) (pour toutes)
lancez une application compatible avec le Japonais comme Vim 6, (x)emacs21,
mc-4.5, mutt-1.4, ... dans kterm
(pour le Japonais). (Emacs
semble être populaire, bien que je ne l'utilise pas.)
appuyez sur Shift+Space pour activer/désactiver l'entrée de caractères japonais (pour le Japonais).
lisez les pages de manuel localisées en tapant la commande dans la console localisée (pour toutes).
Pour d'autre support sur CJK, consultez les sections suivantes et SuSE pages for
CJK
.
Il existe beaucoup de paquets pour le support de méthodes d'entée alternatives pour X :
Language LC_CTYPE XIM server XMODIFIERS Démarrage par Japanese ja_JP* kinput2 "@im=kinput2" Shift-Espace Korean ko_KR* ami "@im=Ami" Shift-Espace Chinese(T) zh_TW.Big5 xcin "@im=xcin-zh_TW.big5" Ctrl-Espace Chinese(S) zh_CN.GB2312 xcin "@im=xcin-zh_CN.GB2312" Ctrl-Espace
La méthode d'entrée japonaise kinput2
est offerte par les paquets
tels que kinput2-canna-wnn
, kinput2-canna
et
kinput2-wnn
. Le Japonais a besoin d'un serveur de dictionnaire
comme canna
et freewnn-jserver
pour être utilisable.
Il existe beaucoup de consoles X qui supportent les codages sur 8 bits simples lorsque les bons paquets de polices sont installés :
xterm
– l'émulateur de terminal X
gnome-terminal
– xterm
pour Gnome
konsole
– xterm
pour KDE
rxvt
– terminal VT102 (plus léger)
aterm
– VT102 pour Afterstep
eterm
– VT102 pour Enlightment
wterm
– VT102 pour WindowMaker
Le support des codages multi-octets pour la console X est fourni par
xterm
par le codage UTF-8 (Support UTF-8 pour
l'émulateur de terminal X, Section 9.7.12). Le support d'autres codages
traditionnels est en progrès (en 2003). Les paquets suivants offrent le
support de codages traditionnels :
aterm-ml
– multilingue
kterm
– multilinge (Japonais, ...)
rxvt-ml
– multilingue
wterm-ml
– multilingue
cxterm-big5
– Chinois (Trad., Big5)
cxterm-gb
– Chinois (Simp., GB)
cxterm-ks
– Chinois (KS)
cxterm-jis
– Japonais
hanterm-classic
– Coréen (Hangul)
hanterm-xf
– Coréen (Hangul)
hztty
– Chinois (GB, Big5, zW/HZ)
Pour kterm
(et peut-être d'autres), vous pouvez activer XIM par le
menu après un Ctrl-click-milieu.
Le support UTF-8 pour l'émulateur de terminal X est founi par le programme
uxterm
du paquet xterm
de XFree86 4.x. Cela permet
le support pour toutes les langues. C'est une encapsulation de
xterm(1)
qui l'invoque en paramétrant la classe de ressource
« UXTerm ».
Par exemple, pour activer l'affichage de l'Anglais, du Russe, du Japonais, du
Chinois et du Coréen, ajoutez ce qui suit à votre ~/.Xresources
après avoir installé les polices nécessaires :
! set large font UXTerm*font: -misc-fixed-medium-r-normal-*-18-120-100-100-c-90-iso10646-1 ! Use XIM for Japanese *inputMethod: kinput2
Ensuite exécutez xrdb -merge ~/.Xresources pour mettre à jour les ressources X, comme décrit dans Ressources X, Section 9.4.10.
La plupart des programmes console les plus populaires, comme vim
,
mutt
et emacs
, aient été rendus compatibles avec
UTF-8 récemment -Woody-Sarge). Des programmes comme mc
ne sont
toujours pas compatibles UTF-8, mais gèrent les codages 8 bits. Si vous éditez
une partie en ASCII 7 bits d'un fichier inconnu ou avec un codage mixte, il est
plus prudent d'utiliser un éditeur gérant les codages 8 bits.
Voir The Unicode
HOWTO
.
Le support UTF-8 pour la console FB est fournit par bterm
utilisé
dans debian-installer
.
Lorsque vous configurez un système pour la première fois pour un
environnement de langue nationale, considérez l'utilisation de
tasksel
ou aptitude
pour connaître les paquets
sélectionnés en choisissant la tâche d'environnement de langue correspondante.
Le choix de paquets est utile même pour la configuration multilingue. Si vous
rencontrez des problèmes de dépendances pendant l'installation de votre système
configuré, évitez d'installer les logiciels qui créent les conflits. Vous
aurez peut-être à utiliser update-alternative
pour retrouver
l'état originel de certaines commandes puisque celles nouvellement installées
peuvent avoir des priorités plus élevées que celles existantes.
Les programmes importants les plus récents qui utilisent la glibc 2.2 sont pour
la plupart internationalisés. Les versions localisées spéciales comme
jvim
pour VIM peuvent ne pas être nécessaires et ses
fonctionnalités sont offertes dans vim
version 6.0 pour X. En
réalité, il est encore difficile à utiliser. Puisque jvim
possède
une version avec le support de l'entrée des caractères japonais
(canna
) compilé directement même avec la console et résoud
beaucoup d'autres problèmes spécifiques au Japonais, vous pouvez toujours en
avoir besoin :-)
Certains programmes peuvent nécessiter une configuration en plus de la
locale pour obtenir un environnement de travail confortable. Le
paquet language-env
avec sa commande set-language-env
est un script qui facilite la configuration de l'environnement de langue
nationale sur un système Debian.
Voir aussi le document sur l'internationalisation, Introduction to
i18n
. Il est destiné aux développeurs mais est aussi utile aux
administrateurs système.
La Localisation (l10n), Section 9.7, activée par les
paquets language-env
et d'autres, a pour objectif de permettre une
localisation monolingue. Ces paquets utilisent aussi les codages traditionnels
pour le codage du texte. Vous ne pouvez pas mélanger des textes en Français et
en Japonais dans de tels environnements car ils utilisent les codages
incompatibles entre eux ISO-8859-1 et EUC-JP.
Vous pouvez obtenir un bureau multilingue utilisant le codage UTF-8 en utilisant Gnome ou KDE avec l'une des locales UTF-8 disponibles. (Sarge) Dans de tels environnements, vous pouvez mélanger des caractères Anglais, Chinois, Russe et Japonais dans les logiciels compatibles avec UTF-8. [42]
Dans un tel environnement, la nouvelle méthode d'entrée (IM, Input
Method) multilingue du paquet scim
est préférée. La méthode
d'entrée de scim
est activée et désactivée en tapant
Ctrl-Espace. Le moteur de conversion de l'entrée
peut être changé dans la petite fenêtre de SCIM.
vim
offers the multilingualized environment and can handle both
UTF-8 and conventionally encoded files (EUC-JP, ISO-8859-1, ...) when it is run
under the UTF-8 console such as gnome-teminal
. See vim help
message with pressing [Esc] and typing :help mbyte.txt.
[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ suivant ]
Guide de référence pour Debian
CVS, jeu 18 jan 2007 11:52:23 UTCosamu#at#debian.org
gerbs#at#free.fr