Installation dans la console de GNU/Linux

De Disposition de clavier bépo
Version datée du 19 juillet 2017 à 02:29 par Ariasuni (discussion | contributions) (Ajout de la section sur localectl et simplification de la partie Grub)


Avec localectl

Si votre distribution utilise systemd, alors il suffit de suivre la partie installation, puis d’utiliser la commande :

sudo localectl set-keymap fr-bepo

Si on vous indique que la commande n’existe pas, alors vous devez utiliser une autre méthode.

Debian, Ubuntu et dérivées

Si vous utilisez une version récente d’Ubuntu ou de Debian, la méthode ci-dessus est plus simple.

Le logiciel console-setup permet d’utiliser les fichiers de xkb pour la console. Le fichier /etc/default/keyboard reprend les noms du fichier de configuration de Xorg. Voici une configuration minimale :

XKBMODEL="pc105"
XKBLAYOUT="fr"
XKBVARIANT="bepo"
XKBOPTIONS=""

Exemple de configuration avancée :

XKBMODEL="pc105"
XKBLAYOUT="fr,fr"
XKBVARIANT="bepo,latin9"
XKBOPTIONS="grp:alt_shift_toggle"

Celle-ci permet d’utiliser alt+shift pour basculer entre bépo (fr bepo) et azerty-latin9 (fr latin9).

L'ensemble des modèles et options disponibles est listé dans le fichier /usr/share/X11/xkb/rules/xorg.

Pour activer le clavier temporairement :

setupcon -k

Pour modifier la configuration facilement et durablement, utiliser :

dpkg-reconfigure console-setup

Si vous souhaitez utiliser une disposition personnalisée, sachez que la liste des dispositions proposées n’est pas dynamique (elle est codée dans /var/lib/dpkg/info/console-setup.config). Dans ce cas, on peut modifier /etc/default/keyboard à la main.

Méthode standard

La disposition est nommée « fr-bepo » sauf si installée « à la main » auquel cas elle est nommée « fr-dvorak-bepo-utf8 » (il faudra alors adapter les commandes à taper).

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

Les dispositions « fr-bepo-latin9 » et « fr-dvorak-bepo » ne possèdent que les caractères iso-8859-15 de la disposition sont disponibles. Seules certaines touches mortes (accent grave, aigu, circonflexe, tilde, tréma, cédille, ogonek, caron, brève et double accent aigu sont disponibles — ce qui exclu notamment la touche morte grecque, monétaire et la barre inscrite).

Installation

Via le système de paquet

  • Sur Arch Linux, bépo est installé par défaut. Vous pouvez passer à la section « Utilisation ».
  • Sur Gentoo, il faut kbd 2.0.1 ou supérieur, ce qui peut nécessiter de rajouter
    <sys-apps/kbd-2.1.0
    dans le fichier /etc/portage/package.accept_keywords, puis de lancer emerge -1 kbd.
  • Pour les autres distributions, il va falloir installer le paquet à la main.

À la main

La configuration de clavier est disponible dans cette archive (infos).

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-utf8.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 (lancée avec les droits superutilisateur)

loadkeys fr-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-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-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.

Il se peut également que vous deviez modifier rajouter la ligne suivante dans /usr/share/systemd/kbd-model-map :

fr-dvorak-bepo          fr      pc105           bepo            terminate:ctrl_alt_bksp

Grub 2

À partir de la version 1.99, Grub est capable de gérer des dispositions.

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

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

On active l’option 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énérer le fichier /boot/grub/grub.cfg :

sudo 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 également si votre partition /boot n'est pas séparée.