Je voudrais changer le raccourci par défaut pour basculer vers le tty. Par défaut, ctrl + alt + F #. J'ai essayé de créer un raccourci personnalisé à l'aide des paramètres du clavier d'Ubuntu, mais cela ne fonctionnait que lorsque vous utilisiez l'interface graphique. Lorsque je reviens à tty, cela ne fonctionne pas. Je dois donc comprendre comment changer la liaison par défaut du raccourci ctrl + alt + F # pour faire en sorte qu'une seule touche bascule en aller-retour entre deux TTY.
Vous pouvez utiliser bind
pour lier une touche à une fonction. Voici ce que j'ai fait:
bind '"\ea": ". ~/newScript.sh\n" '
Ici, newScript.sh
est le fichier qui modifie le terminal et \ea
signifie que chaque fois que vous appuyez sur Alt+A
, le script s'exécute.
Le contenu de newScript.sh
est le suivant:
#! /bin/bash
ttyNum="$(tty)"
ttyNum=$(echo ${ttyNum##*y})
ttyNum=$(( (ttyNum +1) % 7))
chvt $ttyNum
Notez que si vous souhaitez stocker les liaisons de clé de manière permanente, vous pouvez les stocker dans votre fichier `~/.inputrc '. Pour plus d'informations, vous pouvez visiter ce lien: http://www.techrepublic.com/article/find-and-bind-key-sequences-in-bash/5683375
Mise à jour: Vous pouvez stocker la ligne bind
dans votre fichier ~/.bashrc
afin que vous n'ayez pas à le refaire.
Il y a une commande pour cette chvt
.
La commande chvt
signifie CHange Virtual Terminal. Il faut une option qui est un nombre qui indique au terminal virtuel de basculer vers.
Par exemple, si vous êtes connecté au premier terminal virtuel et que vous souhaitez basculer vers le 7ème où le serveur x affiche généralement l'interface graphique, exécutez chvt
comme suit:
chvt 7
Et pour revenir au 1er terminal virtuel, tapez:
chvt 1
Donc, tout ce que vous avez à faire est d’ajouter cette commande à 7 raccourcis et vous pouvez basculer.
EDIT: stupide moi! Il suffit de regarder dans le fichier /etc/console-setup/remap.inc
Vous trouverez tout ce dont vous avez besoin dans ce fichier. Dans tous les cas, des explications sont données ci-dessous.
Malheureusement, "bind" ne fonctionnera qu'avec une session Shell.
Ce que vous devez faire est de changer les mappages de la console. Vous pouvez le faire en utilisant le programme "loadkeys" (man loadkeys). Commencez par vider les mappages actuels pour voir à quoi devrait ressembler le format du fichier:
dumpkeys > default_keys.txt
Notez que vous devez le faire à partir d'une console texte et non de X. Appuyez donc d'abord sur Ctrl-Alt-F1 pour en choisir un!
Voici un exemple de ligne de ce fichier:
alt keycode 59 = Console_1
Cela signifie que la touche qui génère le code 59, appuyée du modificateur "alt" (défini ailleurs dans ce fichier), génère un événement "Console_1" - basculement vers la console virtuelle 1.
Comment savoir quelle clé génère quel code? Utilisez le programme showkey pour cela. Je lance le programme et appuie sur "F1":
komp $ showkey
keycode 59 press
keycode 59 release
La seule façon de quitter ce programme est de fermer les yeux et de contempler la nature de l'Open Source pendant dix secondes. Ou simplement de ne pas toucher le clavier pendant dix secondes, cela fonctionne également. Utilisez cette méthode pour déterminer quelle ligne du fichier de mappe de clavier dont vous auriez besoin change les mappages de clé.
Disons que vous voulez basculer sur la console 1 en utilisant "ctrl 1". Vous découvrirez que le code d'activation de 1 est 2. Enregistrez la ligne suivante dans un fichier nommé "myownkeys.txt":
control keycode 2 = Console_1
Basculez vers une console texte (si vous ne l'avez pas encore fait) et exécutez
Sudo loadkeys myownkeys.txt
Presto, Ctrl-1 devrait vous déplacer maintenant vers la console 1. Ajoutez plus de lignes à vos fichiers pour vos raccourcis. Si vous voulez le rendre permanent, vous pouvez [EDIT] modifier le fichier /etc/console-setup/remap.inc
En passant, outre Console_n, vous avez également "Decr_console" et "Incr_Console" - passez à la console à gauche et à la console à droite, respectivement. Par défaut, ils sont liés à alt-left et alt-right.