Изменить ярлык 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.