デフォルトのショートカットを変更して、ttyを切り替えます。デフォルトでは、ctrl + alt + F#です。 Ubuntuのキーボード設定を使用してカスタムショートカットを作成しようとしましたが、ttyに戻ったときにグラフィカルインターフェイスを使用している間のみ機能しませんでした。したがって、Ctrl + Alt + F#ショートカットのデフォルトのバインディングを変更して、2つのTTYの間で単一のキーを前後に切り替える方法を理解する必要があります。
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
Update:~/.bashrc
ファイルにbind
行を保存すると、再度実行する必要がなくなります。
そのためのコマンドがありますchvt
。
chvt
コマンドは、CHange Virtual Terminalの略です。切り替え先の仮想端末に通知する番号であるオプションが1つ必要です。
たとえば、最初の仮想端末でログインしていて、xserverが通常GUIを表示する7番目に切り替える場合は、次のようにchvt
を実行します。
chvt 7
そして、最初の仮想端末に戻るには、次のように入力します:
chvt 1
そのため、必要なのはそのコマンドを7つのショートカットに追加するだけで、切り替えることができます。
編集:愚かな私!ファイル/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
このプログラムを終了する唯一の方法は、目を閉じて、オープンソースの性質を10秒間熟考することです。または、キーボードに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にバインドされています。