« Console GNU/Linux » : différence entre les versions

De Disposition de clavier bépo
(Ajout de la configuration de Grub 2)
(Correction de l’instruction pour changer le clavier (En tout cas celle donnée ne fonctionnait pas pour Ubuntu))
(28 versions intermédiaires par 7 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{DISPLAYTITLE:Installation dans la console de Linux}}
{{DISPLAYTITLE:Installation dans la console de GNU/Linux}}
[[Catégorie:Installation]]
[[Category:Installation]]
{{navigation|icone=Tux.png|Installation|{{PAGENAME}}}}
{{navigation|Installation|GNU/Linux et Unix libres}}


L'installation de la disposition fr-dvorak-bépo dans la console peut se faire de deux façons différentes.
== Avec localectl ==
Si votre distribution utilise systemd, alors il suffit de suivre la partie [[#Installation|installation]], puis d’utiliser la commande :


== Avec keymaps ==
<source lang="bash">
sudo localectl set-keymap fr-bepo
</source>
 
Si on vous indique que la commande n’existe pas, alors vous devez utiliser une autre méthode.
 
== Debian, Ubuntu et dérivées ==
=== Configuration simple ===
Si vous utilisez une version récente d’Ubuntu ou de Debian, la méthode ci-dessus est plus simple. Cependant, l’avantage de cette méthode est qu’elle configure également celle du [[GNU/Linux_et_Unix_libres#Système|système]].
 
Il suffit de lancer :
 
<source lang="bash">
dpkg-reconfigure keyboard-configuration
</source>


La configuration de clavier pour la console linux est disponible dans {{version actuelle/Linux|cette archive}}.
# Modèle du clavier : vous pouvez laisser par défaut
# Pays d’origine du clavier : choisissez « France »
# Disposition du clavier : choisissez « Français - Français (Bépo, ergonomique, façon Dvorak)
# Les 3 écrans suivants permettent d’activer certains [[GNU/Linux_et_Unix_libres#Universelle|options XKB]], vous pouvez laisser par défaut
 
[[Image:Debian_Ubuntu_console-setup.png|center||Étape 3 du processus : choisir la disposition de clavier]]
 
=== Configuration avancée ===
 
Si vous souhaitez :
* Utiliser une disposition personnalisée, la liste des dispositions proposées n’est pas dynamique (elle est codée dans {{c|/var/lib/dpkg/info/console-setup.config}}).
* Utiliser une configuration plus complexe
 
Dans ces deux cas, on peut modifier {{c|/etc/default/keyboard}} à la main. Voici un exemple :
 
<source lang="bash">
XKBMODEL="pc105"
XKBLAYOUT="fr,fr"
XKBVARIANT="bepo,oss"
XKBOPTIONS="grp:alt_caps_toggle,grp_led:scroll"
</source>


Ce sont les mêmes options que l’on passe à [[GNU/Linux_et_Unix_libres#Universelle|setxkbmap]] mais sous un format différent. Notez cependant que les options XKB ne sont pas valables en console.


En tant que ''root'' (administrateur), la commande
Pour activer le clavier temporairement :


<source lang="bash">
<source lang="bash">
loadkeys fr-dvorak-bepo.kmap
setupcon -k
</source>
</source>


bascule le clavier en disposition fr-dvorak-bépo.  
== 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 ====
le bépo est intégré dans kbd, le logiciel qui gère la disposition console, depuis la version 2.0.1.
 
* Sur Arch Linux, la version de kbd est assez récente.
* Sur Gentoo, vous devez installer la version 2.0.1 ou supérieur, ce qui peut nécessiter de rajouter <source><sys-apps/kbd-2.1.0</source> dans le fichier {{C|/etc/portage/package.accept_keywords}}, puis de lancer {{c|emerge -1 kbd}}.
* Pour les autres distributions, il va falloir vérifier la version de kbd, et installer le paquet à la main si elle est trop vieille.


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.kmap dans l'un des répertoires suivants :
==== À la main ====
La configuration de clavier est disponible dans {{version actuelle/GNU–Linux|cette archive}}.
 
Pour que la disposition soit accessible de n’importe quel répertoire et pour n'importe quel utilisateur, vous pouvez copier le fichier {{C|fr-dvorak-bepo-utf8.map}} dans l'un des répertoires suivants :


* {{C|/usr/lib/kbd/keymaps/i386/dvorak/}}
* {{C|/usr/lib/kbd/keymaps/i386/dvorak/}}
* {{C|/lib/kbd/keymaps/i386/dvorak/}} sur Fedora
* {{C|/lib/kbd/keymaps/i386/dvorak/}} sur Fedora
* {{C|/usr/share/keymaps}} sur debian
* {{C|/usr/share/keymaps}} sur Debian
* {{C|/usr/share/kbd/keymaps/i386/dvorak}} sur archlinux<ref>Il existe un paquet nommé bepo-keymaps dans le dépôt [archlinuxfr]</ref>
* {{C|/usr/share/kbd/keymaps/i386/dvorak}} sur Arch Linux et openSUSE
* {{C|/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)
* {{C|/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)


Tout utilisateur pourra alors basculer en BÉPO avec la commande
=== Utilisation ===
Tout utilisateur pourra alors basculer en BÉPO avec la commande (lancée avec les droits superutilisateur)


<source lang="bash">
<source lang="bash">
loadkeys fr-dvorak-bepo
loadkeys fr-bepo
</source>
</source>


Ligne 39 : Ligne 92 :




Note: pour Debian (à vérifier sous d'autres distributions) le paquet console-data contient déjà la disposition bépo. Il suffit donc de faire :
Note : pour Debian, Ubuntu et dérivées, le paquet console-data contient déjà la disposition bépo. Il suffit donc de faire :
<source lang="bash">
<source lang="bash">
sudo aptitude install console-data
sudo aptitude install console-data
</source>
(s’il vous est demandé si vous souhaitez changer votre « codage clavier », choisir « Ne pas changer de codage clavier »)
<source lang="bash">
sudo loadkeys dvorak-fr-bepo
sudo loadkeys dvorak-fr-bepo
</source>
</source>
Le fichier associé se situe dans /usr/share/keymaps/i386/dvorak/dvorak-fr-bepo.kmap.gz
Le fichier associé se situe dans /usr/share/keymaps/i386/dvorak/dvorak-fr-bepo.kmap.gz


=== Bépo au démarrage ===
=== BÉPO au démarrage ===
Pour avoir la disposition Bépo dès le démarrage :
Pour avoir le clavier fr-dvorak-bepo dès le démarrage, il faut faire comme suit :


* pour la majorité des distributions GNU/Linux (voir plus bas pour Archlinux, Gentoo et Ubuntu), modifier la ligne contenant {{C|KEYTABLE{{=}}}} dans {{C|/etc/sysconfig/keyboard}} :
* Pour les distributions utilisant systemd (à peu près toutes, sauf Debian, Ubuntu, Gentoo et Slackware), modifier ou déclarer {{C|KEYMAP{{=}}}} dans {{C|/etc/vconsole.conf}} :
<source lang="bash">
<source>
KEYTABLE=fr-dvorak-bepo
KEYMAP=fr-bepo
</source>
</source>
* pour ArchLinux, modifier ou déclarer {{C|KEYMAP{{=}}}} dans {{C|/etc/vconsole.conf}} :
Pour plus d'informations consulter [https://wiki.archlinux.org/index.php/KEYMAP le wiki Archlinux]
<source lang="bash">
* Même procédure pour Gentoo, sauf que c’est le fichier {{C|/etc/conf.d/keymaps}} qu’il faut modifier.
KEYMAP=fr-dvorak-bepo
* Pour la majorité des autres distributions GNU/Linux, modifier la ligne contenant {{C|KEYTABLE{{=}}}} dans {{C|/etc/sysconfig/keyboard}} :
<source>
KEYTABLE=fr-bepo
</source>
</source>
Pour plus d'informations consulter [https://wiki.archlinux.org/index.php/KEYMAP le wiki Archlinux]
* pour Gentoo, c’est pareil que pour ArchLinux, sauf que c’est le fichier {{C|/etc/conf.d/keymaps}} qu’il faut modifier.


* pour la distribution Ubuntu, modifier la section du fichier /etc/X11/xorg.conf (merci à [http://forum.bepo.fr/viewtopic.php?pid=1969#p1969 Fork Bomb]) :
* pour les anciennes versions d’OpenSUSE, vous devez également rajouter la ligne suivante dans {{C|/etc/X11/xdm/Keyboard.map}} :
<source lang="bash">
<source>
Section "InputDevice"
fr-dvorak-bepo  : microsoftpro : fr          : bepo         : xfree86 : x : x : x : x : caps:capslock
    # generated from default
    Identifier    "Keyboard0"
    Driver        "kbd"
    Option        "XkbModel" "pc105"
    Option        "XkbLayout" "fr"
    Option         "XkbVariant" "bepo"
EndSection
</source>
</source>
Ensuite, supprimez le fichier {{C|/var/cache/xdm/keyboard.last}} pour que les changements prennent effet.


=== Limitations et problèmes connus ===
Il se peut également que vous deviez modifier rajouter la ligne suivante dans {{C|/usr/share/systemd/kbd-model-map}} :
<source>
fr-dvorak-bepo          fr      pc105          bepo            terminate:ctrl_alt_bksp
</source>


Avec le fichier {{C|fr-dvorak-bepo.map}} seuls les caractères iso-8859-15 de la disposition sont disponibles.
== Grub 2 ==
 
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 ==


{{note|type=note|Cette solution ne s’applique que pour les distributions Ubuntu et Debian.}}
À partir de la version 1.99, Grub est capable de gérer des dispositions.


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 (<strike>voir [[X.Org : configuration#Avoir_le_b.C3.A9po_d.C3.A8s_la_connexion_.28dans_Gdm.2C_Kdm.2C_Xdm.E2.80.A6.29|Avoir le bépo dès la connexion (dans Gdm, Kdm, Xdm…)]]</strike>) et les seules variables qui nous intéressent sont :
Tout d’abord il faut générer le fichier disposition :


<source lang="bash">
<source lang="bash">
XKBMODEL="pc105"
ckbcomp fr bepo | sudo grub-mklayout -v -o /boot/grub/bepo.gkb
XKBLAYOUT="fr"
XKBVARIANT="bepo"
XKBOPTIONS="lv3:ralt_switch"
</source>
</source>


(Les fichiers de configuration sont {{c|/etc/default/console-setup}} et {{c|/etc/default/keyboard}} pour le
On active l’option dans {{c|/etc/default/grub}} :
système et {{c|~/.console-setup}} pour un utilisateur seul).
 
Pour activer le clavier temporairement :


<source lang="bash">
<source lang="bash">
setupcon -k
GRUB_TERMINAL_INPUT=at_keyboard
</source>
</source>


Pour un usage permanent, voyez la documentation pour votre distribution. Par exemple, {{c|/usr/share/doc/console-setup/README.Debian}} indique, pour modifier
Puis dans le fichier {{c|/etc/grub.d/40_custom}}, insérer ce qui suit :
la configuration facilement et durablement, d’utiliser :


<source lang="bash">
<source lang="bash">
dpkg-reconfigure console-setup
insmod keylayouts
keymap /boot/grub/bepo.gkb
</source>
</source>


mais la liste des dispositions proposées n’est pas dynamique : elle est codée dans {{c|/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 {{c|/etc/default/keyboard}} pour renseigner les quatre variables citées plus haut.
Vous pouvez désormais régénérer le fichier {{c|/boot/grub/grub.cfg}} :
 
== 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 :


<source lang="bash">
<source lang="bash">
ckbcomp fr bepo |grub-mklayout -v -o /boot/grub/bepo.gkb
sudo update-grub
</source>
</source>


Puis il faut l’activer dans le fichier {{c|/boot/grub/grub.cfg}}
=== 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 :


<source lang="bash">
<source lang="bash">
terminal_input at_keyboard
#!/bin/sh
insmod keylayouts
keymap /boot/grub/bepo.gkb
</source>


É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).
set -e
# Include the GRUB helper library for grub-mkconfig.
. /usr/share/grub/grub-mkconfig_lib


Sous Debian/ubuntu likes, ceci peut être fait dans plusieurs fichiers :
KEYMAP_FILE=/boot/grub/bepo.gkb


Dans {{c|/etc/default/grub}}
if ! prepare_grub_to_access_device "`${grub_probe} --target=device "${KEYMAP_FILE}"`"; then
return 6
fi


<source lang="bash">
KEYMAP_FILE=$(make_system_path_relative_to_its_root "${KEYMAP_FILE}")
GRUB_TERMINAL_INPUT=at_keyboard
</source>


Puis dans le fichier {{c|/etc/grub.d/40_custom}} insérer ce qui suit :
cat <<EOF
 
<source lang="bash">
insmod keylayouts
insmod keylayouts
keymap /boot/grub/bepo.gkb
keymap "${KEYMAP_FILE}"
</source>
EOF
 
Vous pouvez désormais régénerer le fichier {{c|/boot/grub/grub.cfg}} :
 
<source lang="bash">
update-grub
</source>
</source>


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.


<references>
<references>
http://comments.gmane.org/gmane.comp.hardware.keyboards.layout.dvorak-fr/7608
http://comments.gmane.org/gmane.comp.hardware.keyboards.layout.dvorak-fr/7608
</references>
</references>

Version du 31 mars 2019 à 23:08


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

Configuration simple

Si vous utilisez une version récente d’Ubuntu ou de Debian, la méthode ci-dessus est plus simple. Cependant, l’avantage de cette méthode est qu’elle configure également celle du système.

Il suffit de lancer :

dpkg-reconfigure keyboard-configuration
  1. Modèle du clavier : vous pouvez laisser par défaut
  2. Pays d’origine du clavier : choisissez « France »
  3. Disposition du clavier : choisissez « Français - Français (Bépo, ergonomique, façon Dvorak)
  4. Les 3 écrans suivants permettent d’activer certains options XKB, vous pouvez laisser par défaut
Étape 3 du processus : choisir la disposition de clavier

Configuration avancée

Si vous souhaitez :

  • Utiliser une disposition personnalisée, la liste des dispositions proposées n’est pas dynamique (elle est codée dans /var/lib/dpkg/info/console-setup.config).
  • Utiliser une configuration plus complexe

Dans ces deux cas, on peut modifier /etc/default/keyboard à la main. Voici un exemple :

XKBMODEL="pc105"
XKBLAYOUT="fr,fr"
XKBVARIANT="bepo,oss"
XKBOPTIONS="grp:alt_caps_toggle,grp_led:scroll"

Ce sont les mêmes options que l’on passe à setxkbmap mais sous un format différent. Notez cependant que les options XKB ne sont pas valables en console.

Pour activer le clavier temporairement :

setupcon -k

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

le bépo est intégré dans kbd, le logiciel qui gère la disposition console, depuis la version 2.0.1.

  • Sur Arch Linux, la version de kbd est assez récente.
  • Sur Gentoo, vous devez installer la version 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 vérifier la version de kbd, et installer le paquet à la main si elle est trop vieille.

À 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.