Изменить ярлык TTY по умолчанию

Я хотел бы изменить ярлык по умолчанию для переключения туда и обратно на tty. По умолчанию это Ctrl + Alt + F#. Я попытался создать собственный ярлык, используя настройки клавиатуры Ubuntu, но он работал только при использовании графического интерфейса, когда я переключаюсь обратно на tty, он не работает. Поэтому мне нужно выяснить, как изменить привязку по умолчанию сочетания клавиш ctrl + alt + F#, чтобы один ключ переключался между двумя TTY.

3 ответа

Решение

Ты можешь использовать 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 файл, чтобы вам не пришлось делать это снова.

Для этого есть команда chvt,

chvt команда означает изменение виртуального терминала. Он принимает одну опцию, которая является числом, указывающим виртуальный терминал, на который нужно переключиться.

Например, если вы вошли в систему на первом виртуальном терминале и хотите переключиться на 7-й, где xserver обычно отображает графический интерфейс, затем запустите chvt следующее:

chvt 7

И чтобы вернуться в 1-й виртуальный терминал, введите:

chvt 1

Так что все, что вам нужно сделать, это добавить эту команду в 7 ярлыков, и вы можете переключаться.

РЕДАКТИРОВАТЬ: глупо меня! Просто посмотрите в файл /etc/console-setup/remap.inc.

В этом файле вы найдете все, что вам нужно. В любом случае объяснения даются ниже.

К сожалению, "bind" будет работать только с сеансом оболочки.

Что вам нужно сделать, это изменить отображения консоли. Вы можете сделать это с помощью программы "loadkeys" (man loadkeys). Во-первых, дамп текущих сопоставлений, чтобы увидеть, как должен выглядеть формат файла:

dumpkeys > default_keys.txt

Обратите внимание, что вам нужно сделать это из текстовой консоли, а не из X, поэтому сначала нажмите Ctrl-Alt-F1, чтобы переключиться на одну!

Вот пример строки из этого файла:

alt keycode  59 = Console_1

Это означает, что клавиша, генерирующая код 59, нажатая с модификатором "alt" (определенным где-то еще в этом файле), будет генерировать событие "Console_1" - переключение на виртуальную консоль 1.

Как узнать, какой ключ генерирует какой код? Используйте программу showkey для этого. Я запускаю программу и нажимаю "F1":

komp $ showkey
keycode  59 press
keycode  59 release

Единственный способ выйти из этой программы - закрыть глаза и рассмотреть природу с открытым исходным кодом в течение десяти секунд. Или просто воздерживаться от прикосновения к клавиатуре в течение десяти секунд, это тоже работает. Используйте этот метод, чтобы узнать, какая строка в файле раскладки клавиатуры вам понадобится для изменения раскладок клавиш.

Скажем, вы хотите переключиться на консоль 1, используя "Ctrl 1". Вы обнаружите, что код ключа для 1 равен 2. Сохраните следующую строку в файл с именем "myownkeys.txt":

control keycode 2 = Console_1

Переключитесь на текстовую консоль (если вы еще этого не сделали) и запустите

sudo loadkeys myownkeys.txt

Presto, Ctrl-1 должен переместить вас сейчас в консоль 1. Добавьте больше строк в ваши файлы для ваших ярлыков. Если вы хотите сделать его постоянным, вы можете [EDIT] изменить файл /etc/console-setup/remap.inc.

Кстати, кроме Console_n у вас также есть "Decr_console" и "Incr_Console" - переключение на консоль слева и консоль справа, соответственно. По умолчанию они привязаны к alt-left и alt-right.

Другие вопросы по тегам