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

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

8
задан 7 June 2012 в 09:13

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-sequence-in-bash/5683375

[ 1115] Обновление: Вы можете сохранить строку bind в своем файле ~/.bashrc, чтобы вам не пришлось делать это снова.

0
ответ дан 7 June 2012 в 09:13

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

Команда

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

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

chvt 7

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

chvt 1

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

0
ответ дан 7 June 2012 в 09:13

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

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

К сожалению, «связывание» будет работать только с сеансом оболочки.

Что вам нужно сделать, это изменить отображение консоли. Вы можете сделать это с помощью программы "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. Добавьте больше строк в ваши файлы для ваших ярлыков. Если вы хотите сделать его постоянным, вы можете [РЕДАКТИРОВАТЬ] изменить файл /etc/console-setup/remap.inc

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

0
ответ дан 7 June 2012 в 09:13

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

Похожие вопросы: