web-dev-qa-db-fra.com

Changer le raccourci TTY par défaut

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.

8
era878

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.

10
green

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.

7
Rinzwind

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.

5
January