更改默认 TTY 快捷方式

era*_*878 9 shortcut-keys tty 12.04 key-binding

我想更改默认快捷方式来来回切换到 tty。默认情况下它是 ctrl + alt + F#。我曾尝试使用 Ubuntu 的键盘设置制作自定义快捷方式,但它仅在我切换回 tty 时使用图形界面时才有效。所以我需要弄清楚如何更改 ctrl + alt + F# 快捷键的默认绑定,以便在两个 TTY 之间来回切换单键。

gre*_*een 11

您可以使用bind将键绑定到某个函数。这是我所做的:

bind '"\ea": ". ~/newScript.sh\n" '
Run Code Online (Sandbox Code Playgroud)

newScript.sh是更改 tty 的文件,这\ea意味着无论何时Alt+A按下,脚本都会执行。

内容为newScript.sh

#! /bin/bash
ttyNum="$(tty)"
ttyNum=$(echo ${ttyNum##*y})
ttyNum=$(( (ttyNum +1) % 7))
chvt $ttyNum
Run Code Online (Sandbox Code Playgroud)

请注意,如果您想永久存储键绑定,您可以将它们存储在您的 `~/.inputrc' 文件中。有关更多信息,您可以访问此链接:http : //www.techrepublic.com/article/find-and-bind-key-sequences-in-bash/5683375

更新: 您可以将该bind行存储在您的~/.bashrc文件中,这样您就不必再次这样做了。


Rin*_*ind 7

有一个命令chvt

chvt命令代表更改虚拟终端。它需要一个选项,它是一个数字,告诉它要切换到的虚拟终端。

例如,如果您在第一个虚拟终端登录,并且想切换到 xserver 通常显示 GUI 的第 7 个,则运行chvt如下:

chvt 7
Run Code Online (Sandbox Code Playgroud)

并返回到第一个虚拟终端,键入:

chvt 1
Run Code Online (Sandbox Code Playgroud)

所以你需要做的就是将该命令添加到 7 个快捷方式中,然后你就可以切换了。


Jan*_*ary 7

编辑:傻我!只需查看文件 /etc/console-setup/remap.inc

您将在该文件中找到所需的一切。在任何情况下,解释如下。

不幸的是,“绑定”仅适用于 shell 会话。

您需要做的是更改控制台映射。您可以使用程序“loadkeys”(man loadkeys)来做到这一点。首先,转储当前的映射以查看文件的格式应该是什么样的:

dumpkeys > default_keys.txt
Run Code Online (Sandbox Code Playgroud)

请注意,您需要从文本控制台而不是 X 执行此操作,因此请先按 Ctrl-Alt-F1 切换到一个!

这是该文件中的示例行:

alt keycode  59 = Console_1
Run Code Online (Sandbox Code Playgroud)

这意味着生成代码 59 的键,按下修饰符“alt”(在该文件的其他地方定义)将生成“Console_1”事件——切换到虚拟控制台 1。

如何找出哪个键生成哪个代码?为此使用程序 showkey。我启动程序并按“F1”:

komp $ showkey
keycode  59 press
keycode  59 release
Run Code Online (Sandbox Code Playgroud)

退出这个程序的唯一方法是闭上你的眼睛,思考开源的本质十秒钟。或者只是为了避免触摸键盘十秒钟,也可以。使用此方法找出需要更改键映射的键映射文件中的哪一行。

假设您想使用“ctrl 1”切换到控制台 1。您会发现 1 的键码是 2。 将以下行保存到名为“myownkeys.txt”的文件中:

control keycode 2 = Console_1
Run Code Online (Sandbox Code Playgroud)

切换到文本控制台(如果您还没有这样做)并运行

sudo loadkeys myownkeys.txt
Run Code Online (Sandbox Code Playgroud)

Presto,Ctrl-1 现在应该将您移动到控制台 1。为您的快捷方式在文件中添加更多行。如果你想让它永久,你可以[编辑]修改文件/etc/console-setup/remap.inc

顺便说一句,除了 Console_n 之外,您还有“Decr_console”和“Incr_Console”——分别切换到左侧的控制台和右侧的控制台。默认情况下,它们绑定到 alt-left 和 alt-right。