我想更改默认快捷方式来回切换到tty。默认情况下为ctrl + alt + F#。我曾尝试使用Ubuntu的键盘设置制作自定义快捷方式,但是当我切换回tty时,它仅在使用图形界面时有效。因此,我需要弄清楚如何更改ctrl + alt + F#快捷键的默认绑定,以使单个键在两个TTY之间来回切换。
我想更改默认快捷方式来回切换到tty。默认情况下为ctrl + alt + F#。我曾尝试使用Ubuntu的键盘设置制作自定义快捷方式,但是当我切换回tty时,它仅在使用图形界面时有效。因此,我需要弄清楚如何更改ctrl + alt + F#快捷键的默认绑定,以使单个键在两个TTY之间来回切换。
Answers:
您可以使用bind
将键绑定到某些功能。这是我所做的:
bind '"\ea": ". ~/newScript.sh\n" '
这newScript.sh
是更改tty的文件,\ea
表示每当Alt+A
按下该脚本时,脚本便会执行。
的内容newScript.sh
是:
#! /bin/bash
ttyNum="$(tty)"
ttyNum=$(echo ${ttyNum##*y})
ttyNum=$(( (ttyNum +1) % 7))
chvt $ttyNum
请注意,如果要永久存储键绑定,可以将它们存储在`〜/ .inputrc'文件中。有关更多信息,您可以访问以下链接:http : //www.techrepublic.com/article/find-and-bind-key-sequences-in-bash/5683375
更新: 您可以将bind
行存储在~/.bashrc
文件中,这样就不必再次执行该操作。
编辑:愚蠢的我!只需查看文件/etc/console-setup/remap.inc
您将在该文件中找到所需的一切。无论如何,下面给出解释。
不幸的是,“绑定”仅适用于shell会话。
您需要做的就是更改控制台映射。您可以使用程序“ loadkeys”(man loadkeys)来实现。首先,转储当前映射以查看文件格式如下:
dumpkeys > default_keys.txt
请注意,您需要从文本控制台而不是X进行操作,因此请先按Ctrl-Alt-F1切换到一个!
这是该文件中的示例行:
alt keycode 59 = Console_1
这意味着,使用修饰符“ alt”(在该文件的其他位置定义)按下时,生成代码59的键将生成“ Console_1”事件-切换到虚拟控制台1。
如何找出哪个键生成哪个代码?为此使用程序showkey。我启动程序并按“ F1”:
komp $ showkey
keycode 59 press
keycode 59 release
退出此程序的唯一方法是闭上双眼,思考开放源代码的本质,持续10秒钟。或者只是避免触摸键盘十秒钟,效果也不错。使用此方法可以找出需要更改键映射的键映射文件中的哪一行。
假设您要使用“ ctrl 1”切换到控制台1。您将发现1的键代码为2。将以下行保存到名为“ myownkeys.txt”的文件中:
control keycode 2 = Console_1
切换到文本控制台(如果尚未完成)并运行
sudo loadkeys myownkeys.txt
Presto,Ctrl-1现在应该将您移至控制台1。在文件中添加更多行作为快捷方式。如果要使其永久不变,可以[编辑]修改文件/etc/console-setup/remap.inc
顺便说一下,除了Console_n之外,您还具有“ Decr_console”和“ Incr_Console”-分别切换到左侧的控制台和右侧的控制台。默认情况下,它们绑定到alt-left和alt-right。