Installation dans la console de GNU/Linux

De Disposition de clavier bépo
Révision datée du 14 novembre 2014 à 15:54 par Stqn (discussion | contributions) (→‎Installation : Ajoût installation kbd 2+ sous Gentoo.)


Si vous êtes sous Arch Linux ou Gentoo (les autres distributions mettront du temps à intégrer les nouvelles versions de kbd) :

  • depuis la version 2.0.0 de kbd, le bépo est disponible sous le nom dvorak-fr-bepo-utf8 (et non pas fr-dvorak-bepo-utf8).
  • Depuis la version 2.0.1 de kbd, la disposition est renommée en fr-bepo.

Sinon, l'installation de la disposition Bépo dans la console peut se faire de deux façons différentes.

Avec keymaps

Installation

  • Si vous êtes sous Arch Linux, bépo est installé par défaut. Vous pouvez passer à la section « Utilisation ».
  • Si vous êtes sous Gentoo, vous pouvez passer par l’overlay `laurentb`: `layman -a laurentb` et faire un `emerge -a sys-apps/fr-bepo-keymap`. Vous pouvez passer à la section « Utilisation ».
  • Toujours sous Gentoo, une autre façon est d’installer kbd 2.0.1 ou supérieur en rajoutant `>=sys-apps/kbd-2.0.1` dans le fichier `/etc/portage/package.accept_keywords`, puis en lançant `emerge kbd`.
  • Si vous utilisez une autre distribution, la configuration de clavier est disponible dans cette archive (infos).

En tant que super-utilisateur (root), entrez la commande

loadkeys fr-dvorak-bepo.map

Pour que la disposition soit accessible de n'importe quel répertoire et pour n'importe quel utilisateur, vous pouvez copier le fichier fr-dvorak-bepo.map dans l'un des répertoires suivants :

  • /usr/lib/kbd/keymaps/i386/dvorak/
  • /lib/kbd/keymaps/i386/dvorak/ sur Fedora
  • /usr/share/keymaps sur debian
  • /usr/share/kbd/keymaps/i386/dvorak sur Arch Linux et openSUSE
  • /usr/share/keymaps/i386/dvorak/ sous Gentoo (Extraire les fichiers de l'archive et recompresser fr-dvorak-bepo.map avec gzip avant de le placer dans ce répertoire)

Utilisation

Tout utilisateur pourra alors basculer en BÉPO avec la commande

loadkeys fr-bepo

s’il était installé par défaut, sinon

loadkeys fr-dvorak-bepo

et revenir à un clavier AZERTY avec la commande

loadkeys fr


Note : pour Debian, Ubuntu et dérivées, le paquet console-data contient déjà la disposition bépo. Il suffit donc de faire :

sudo aptitude install console-data

(s’il vous est demandé si vous souhaitez changer votre « codage clavier », choisir « Ne pas changer de codage clavier »)

sudo loadkeys dvorak-fr-bepo

Le fichier associé se situe dans /usr/share/keymaps/i386/dvorak/dvorak-fr-bepo.kmap.gz

Bépo au démarrage

Pour avoir la disposition Bépo dès le démarrage :

  • Pour les distributions utilisant systemd (à peu près toutes, sauf Debian, Ubuntu, Gentoo et Slackware), modifier ou déclarer KEYMAP= dans /etc/vconsole.conf :
KEYMAP=fr-dvorak-bepo

Pour plus d'informations consulter le wiki Archlinux

  • Même procédure pour Gentoo, sauf que c’est le fichier /etc/conf.d/keymaps qu’il faut modifier.
  • Pour la majorité des autres distributions GNU/Linux, modifier la ligne contenant KEYTABLE= dans /etc/sysconfig/keyboard :
KEYTABLE=fr-dvorak-bepo
  • pour les anciennes versions d’OpenSUSE, vous devez également rajouter la ligne suivante dans /etc/X11/xdm/Keyboard.map :
fr-dvorak-bepo  : microsoftpro : fr           : bepo         : xfree86 : x : x : x : x : caps:capslock

Ensuite, supprimez le fichier /var/cache/xdm/keyboard.last pour que les changements prennent effet.


Limitations et problèmes connus

Avec le fichier fr-dvorak-bepo.map seuls les caractères iso-8859-15 de la disposition sont disponibles.

Seules les touches mortes "grave", "acute", "circumflex", "tilde", "diaeresis", "cedilla", "ogonek", "caron", "breve" et "doubleacute" sont disponibles. De plus, le comportement des touches mortes étant défini en dehors des pilotes, leur comportement peut-être incomplet ou partiellement différent des spécifications officielles de la disposition.

Avec xkb et console-setup

Cette solution ne s’applique que pour les distributions Ubuntu et Debian.

Le logiciel console-setup permet d’utiliser les fichiers de xkb pour la console. Le fichier de configuration reprend les noms du fichier de configuration de Xorg (voir Activation pour tous les utilisateurs, dès l’écran de démarrage) et les seules variables qui nous intéressent sont :

XKBMODEL="pc105"
XKBLAYOUT="fr"
XKBVARIANT="bepo"
XKBOPTIONS="lv3:ralt_switch"

(Les fichiers de configuration sont /etc/default/console-setup et /etc/default/keyboard pour le système et ~/.console-setup pour un utilisateur seul).

Pour activer le clavier temporairement :

setupcon -k

Pour un usage permanent, voyez la documentation pour votre distribution. Par exemple, /usr/share/doc/console-setup/README.Debian indique, pour modifier la configuration facilement et durablement, d’utiliser :

dpkg-reconfigure console-setup

mais la liste des dispositions proposées n’est pas dynamique : elle est codée dans /var/lib/dpkg/info/console-setup.config. Le plus simple est donc de s’en servir pour les autres fonctionnalités de console-setup et d’éditer soi-même /etc/default/keyboard pour renseigner les quatre variables citées plus haut.

Grub 2

À partir de la version 1.99 Grub est capable de gérer des keymaps. Pour mettre en place une keymap sous Grub, procéder comme suit :

Tout d’abord il faut générer le fichier keymap :

ckbcomp fr bepo |grub-mklayout -v -o /boot/grub/bepo.gkb

Puis il faut l’activer dans le fichier /boot/grub/grub.cfg

terminal_input at_keyboard
insmod keylayouts
keymap /boot/grub/bepo.gkb

Étant donné que ce fichier est généré dans plusieurs distributions il vaut mieux intégrer ces modifications dans le système de génération du fichier (et non pas modifier directement le fichier généré qui serait écrasé plus tard).

Sous Debian/ubuntu likes, ceci peut être fait dans plusieurs fichiers :

Dans /etc/default/grub

GRUB_TERMINAL_INPUT=at_keyboard

Puis dans le fichier /etc/grub.d/40_custom insérer ce qui suit :

insmod keylayouts
keymap /boot/grub/bepo.gkb

Vous pouvez désormais régénerer le fichier /boot/grub/grub.cfg :

update-grub

Partition de boot séparée

En cas de partition séparée, la méthode précédente ne marche pas, sous Debian en tout cas. En effet, le générateur de configuration pour Grub2 définit la racine (set root=[…]) avec celle de votre partition racine /. Grub2 ne peut donc pas trouver le fichier de disposition généré. La solution consiste à créer un autre fichier dans /etc/grub.d/, par exemple /etc/grub.d/50_keymap avec le code suivant :

#!/bin/sh

set -e
# Include the GRUB helper library for grub-mkconfig.
. /usr/share/grub/grub-mkconfig_lib

KEYMAP_FILE=/boot/grub/bepo.gkb

if ! prepare_grub_to_access_device "`${grub_probe} --target=device "${KEYMAP_FILE}"`"; then
	return 6
fi

KEYMAP_FILE=$(make_system_path_relative_to_its_root "${KEYMAP_FILE}")

cat <<EOF
insmod keylayouts
keymap "${KEYMAP_FILE}"
EOF

Ce fichier utilise les fonctions fournies par Grub pour identifier et positionner correctement la partition correspondante à l'emplacement de votre fichier de disposition de clavier. Il marche bien évidemment si votre partition /boot n'est pas séparée.