デフォルトのショートカットを変更してttyに切り替えます。デフォルトではctrl + alt + F#です。Ubuntuのキーボード設定を使用してカスタムショートカットを作成しようとしましたが、それが機能しないttyに切り替えたときにグラフィカルインターフェイスを使用しているときにのみ機能しました。したがって、ctrl + alt + F#ショートカットのデフォルトバインディングを変更して、2つのTTY間で単一のキーを切り替えられるようにする方法を理解する必要があります。
デフォルトのショートカットを変更して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
更新: あなたが保存することができbind
、あなたの行を~/.bashrc
あなたは再びそれを行う必要はありませんように、ファイル。
そのためのコマンドがあり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にバインドされています。