「キーボードショートカット」の版間の差分
(訳追加) |
細 (→再起動: リンクを修正) |
||
(4人の利用者による、間の44版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category:キーボード]] |
+ | [[Category:キーボード設定]] |
[[Category:X サーバー]] |
[[Category:X サーバー]] |
||
[[Category:アクセシビリティ]] |
[[Category:アクセシビリティ]] |
||
[[en:Keyboard shortcuts]] |
[[en:Keyboard shortcuts]] |
||
− | [[zh- |
+ | [[zh-hans:Keyboard shortcuts]] |
この記事では (あまり有名でない) デフォルトのキーボードショートカットのリストとユーザーカスタマイズの情報を提供します。 |
この記事では (あまり有名でない) デフォルトのキーボードショートカットのリストとユーザーカスタマイズの情報を提供します。 |
||
== 標準のショートカット == |
== 標準のショートカット == |
||
− | === カーネル === |
+ | === カーネル (SysRq) === |
− | カーネルに |
+ | sysrq キーを介してカーネルに実装されるローレベルなショートカットがいくつかあります。これらのショートカットは、システムが反応しなくなったときに復旧させたりデバッグするのに用いることができます。いつでも使うことができますが、特に、電源ボタンを長押しして無理やりシステムの電源を切るよりかはショートカットを使うほうが推奨されます。 |
+ | 詳細については、[[Wikipedia:Magic SysRq key]] を参照してください。 |
||
− | カーネルショートカットを使うには、最初に {{ic|1=sysctl kernel.sysrq=1}} または {{ic|echo "1" > /proc/sys/kernel/sysrq}} でショートカットを有効にしておく必要があります。起動時に有効化されるようにするには、{{ic|/etc/sysctl.d/99-sysctl.conf}} を編集して {{ic|1=kernel.sysrq = 1}} と設定してください。 |
||
+ | |||
+ | ==== 有効化 ==== |
||
+ | |||
+ | [[systemd]] は sysrq パーミッションのビットマスクがを[https://github.com/systemd/systemd/blob/main/sysctl.d/50-default.conf#L14-L19 デフォルトで 0X10に設定]しており、特に[https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html プロセスのシグナリングや再起動などを許可していません]。システムで sysrq キーを完全に使用できるようにするには [[sysctl#設定|sysctl の設定]]に、{{ic|1=kernel.sysrq = 1}} を追加してください。1 より大きい値は、sysrq 機能を選択的に有効にするために使用できます。詳細は、[https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html Linuxカーネルのドキュメント]を参照してください。パーティションがマウントされる前やinitrd内でも有効にしたい場合は、{{ic|1=sysrq_always_enabled=1}} を[[カーネルパラメータ]]に追加してください。 |
||
+ | |||
+ | これらの方法で設定を変更すると、再起動しても変更が持続されることに注意してください。現在のセッションの sysrq 設定を変更してみたい場合は、 {{ic|1=sysctl kernel.sysrq=1}} または {{ic|echo "1" > /proc/sys/kernel/sysrq}} を実行できます。 |
||
+ | |||
+ | sysrq キーを完全に有効にすることには、いくつかの明らかなセキュリティ上の リスクがあります。強制的なリブートなどに加え、CPU レジスタの内容をダンプするために使用することができ、理論的には機密情報を明らかにすることができます。これを使うにはシステムに物理的にアクセスする必要があるので (あなたが [https://github.com/jd/sysrqd 気にしない限り])、ほとんどのデスクトップユーザはおそらくそのリスクレベルを許容範囲と考えるでしょう。とはいえ、sysrq を有効にする前に、それを有効にすることの意味と、あなたのシステムが動作しているより大きな状況の力学を完全に理解していることを確認してください。 |
||
+ | |||
+ | ==== 再起動 ==== |
||
覚え方は "'''R'''eboot '''E'''ven '''I'''f '''S'''ystem '''U'''tterly '''B'''roken" です ("REISUB" とも呼ばれます)。もしくは "BUSIER" の反対として覚えましょう。 |
覚え方は "'''R'''eboot '''E'''ven '''I'''f '''S'''ystem '''U'''tterly '''B'''roken" です ("REISUB" とも呼ばれます)。もしくは "BUSIER" の反対として覚えましょう。 |
||
+ | |||
+ | {{Note|"REISUB" 自体は単なるニーモニックであり、応答しないシステムの制御を取り戻すためのキー押下シーケンスに関する一般的な推奨事項ではないことに注意してください。以下に示すように、実際の機能を知らずに、これらのシーケンスを毎回盲目的に押すべきではありません。}} |
||
{| class="wikitable" |
{| class="wikitable" |
||
! キーボードショートカット |
! キーボードショートカット |
||
! 説明 |
! 説明 |
||
+ | ! 有効にするコード |
||
+ | ! その他の機能を有効にする |
||
|- |
|- |
||
− | | {{ic|Alt+SysRq+r}} |
+ | | {{ic|Alt+SysRq+r}} Unraw |
| キーボードの制御を X から取り戻す。 |
| キーボードの制御を X から取り戻す。 |
||
+ | | style="text-align:center;" | 4 |
||
+ | | {{ic|Alt+SysRq+k}} SAK |
||
|- |
|- |
||
− | | {{ic|Alt+SysRq+e}} |
+ | | {{ic|Alt+SysRq+e}} Terminate |
| 全てのプロセスに SIGTERM を送り、丁寧にプロセスを終了させる。 |
| 全てのプロセスに SIGTERM を送り、丁寧にプロセスを終了させる。 |
||
+ | | rowspan=2 style="text-align:center;" | 64 |
||
+ | | rowspan=2 | {{ic|Alt+SysRq+f}} OOM kill <br /> {{ic|Alt+SysRq+j}} Thaw |
||
|- |
|- |
||
− | | {{ic|Alt+SysRq+i}} |
+ | | {{ic|Alt+SysRq+i}} Kill |
| 全てのプロセスに SIGKILL を送り、即座にプロセスを強制終了させる。 |
| 全てのプロセスに SIGKILL を送り、即座にプロセスを強制終了させる。 |
||
|- |
|- |
||
− | | {{ic|Alt+SysRq+s}} |
+ | | {{ic|Alt+SysRq+s}} Sync |
| データをディスクに書き込む。 |
| データをディスクに書き込む。 |
||
+ | | style="text-align:center;" | 16 |
||
+ | | style="text-align:center;" | - |
||
|- |
|- |
||
− | | {{ic|Alt+SysRq+u}} |
+ | | {{ic|Alt+SysRq+u}} Unmount |
| 全てのファイルシステムをアンマウントして読み取り専用で再マウント。 |
| 全てのファイルシステムをアンマウントして読み取り専用で再マウント。 |
||
+ | | style="text-align:center;" | 32 |
||
+ | | style="text-align:center;" | - |
||
|- |
|- |
||
− | | {{ic|Alt+SysRq+b}} |
+ | | {{ic|Alt+SysRq+b}} Reboot |
| 再起動 |
| 再起動 |
||
+ | | style="text-align:center;" | 128 |
||
+ | | style="text-align:center;" | - |
||
|- |
|- |
||
|} |
|} |
||
+ | たとえば、再起動機能のみを選択的に有効にするには、{{ic|1=kernel.sysrq}} を128に設定します。REISUB 機能のセット全体を有効にするには、244に設定します。ただし、これにより、表の最後の列にリストされている追加機能も有効になります。詳細なドキュメントについては、[https://docs.kernel.org/admin-guide/sysrq.html sysrq キーのドキュメント] およびカーネルソースファイル {{ic|/drivers/tty/sysrq.c}} を参照してください。 |
||
− | {{Tip| |
||
− | * [[ディスプレイマネージャ]]を使っていて {{ic|Alt+SysRq+e}} でログイン画面が表示される場合 (もしくは自動ログインが有効になっていてデスクトップが表示される場合)、[[systemd|サービスファイル]]の {{ic|1=Restart=always}} ディレクティブが原因です。必要ならば、[[systemd#ユニットファイルの編集|ユニットを編集]]してください。ただし "REISUB" シーケンスを止めることはできません。 |
||
− | * 上記の組み合わせで {{ic|Alt+SysRq+b}} だけ動作しない場合、反対側の {{ic|Alt}} キーを使ってみて下さい。 |
||
− | * On laptops that use {{ic|Fn}} key to differentiate {{ic|SysRq}} from {{ic|PrtScrn}}, it may not actually be necessary to use the {{ic|Fn}} key (i.e., {{ic|Alt+PrtSc+''letter''}} could work). |
||
− | }} |
||
+ | ==== メモリを大量に消費するプロセスの終了 ==== |
||
− | 詳しくは Wikipedia の[[wikipedia:ja:マジックSysRqキー|マジック SysRq キー]]を見て下さい。 |
||
+ | {{ic|Alt+SysRq+f}} で kill することができない場合時は、カーネルパニックを起こさずに [https://www.kernel.org/doc/html/latest/admin-guide/mm/concepts.html?highlight=oom#oom-killer OOM (out-of-memory) killer] を呼び出せます。OOM キラーは、ヒューリスティックのセットを使って、最もメモリを消費している比較的重要でないプロセスを選び、それを kill します。これは、暴走したブラウザスクリプトのような、過剰なスラッシュを引き起こしてシステムをソフトロックしているプロセスを kill するのに非常に便利で、多くの場合、再起動の必要性を軽減できます。OOM キラーは、その善意のヒューリスティックにもかかわらず、多種多様なプロセスを対象とすることができますが、やや予測不可能なことがあるので、気軽に呼び出すには注意が必要です。 |
||
− | === ターミナル === |
||
− | ==== |
+ | ==== トラブルシューティング ==== |
+ | * [[ディスプレイマネージャ]] を使っていて、{{ic|Alt+SysRq+e}} の後にログイン画面が表示される場合(自動ログインが有効な場合はフルデスクトップ)。と表示される場合、関連する [[systemd|サービスファイル]] の {{ic|1=Restart=always}} ディレクティブが原因であることが多いようです。必要であれば、[[ユニットファイルの編集]] をしてください。ただし、これによって "REISUB "シーケンスが動作しなくなることはないはずです。 |
||
− | {| class="wikitable" |
||
+ | * もし、{{ic|Alt+SysRq+b}} 以外の組み合わせで動作する場合は、{{ic|Alt}} キーを使ってみてください。 |
||
− | ! キーボードショートカット |
||
+ | * もし、{{ic|SysRq}} と {{ic|PrtScrn}} を区別するために {{ic|Fn}} キーを使用するノートパソコンでは、実際には {{ic|Fn}} キーを使う必要はないかもしれません(すなわち、{{ic}Alt + PrtSc +''letter' }} でも機能するかもしれません。) |
||
− | ! 説明 |
||
+ | * Lenovo のノートパソコンでは、{{ic|SysRq}} はしばしば {{ic|Fn+S}} として設定されます。これを使うには {{ic|Alt}} を押しながら {{ic|Fn+s}} を押して、{{ic|Fn}} と {{ic|s}} を離し {{ic|Alt}} を押したまま上記のキーを押してください。 |
||
− | |- |
||
+ | * また、{{ic|Alt}} と同時に {{ic|Ctrl}} を押す必要があるかもしれません。例えば、フルキーショートカットは {{ic|Ctrl+Alt+SysRq+b}} となります。 |
||
− | | {{ic|Ctrl+Alt+Del}} |
||
− | | コンピュータを再起動 (specified by the symlink {{ic|/usr/lib/systemd/system/ctrl-alt-del.target}}) |
||
− | |- |
||
− | | {{ic|Alt+F1}}, {{ic|F2}}, {{ic|F3}}, ... |
||
− | | ''n'' 番目の仮想端末にスイッチ |
||
− | |- |
||
− | | {{ic|Alt+ ←}} |
||
− | | 前の仮想端末にスイッチ |
||
− | |- |
||
− | | {{ic|Alt+ →}} |
||
− | | 次の仮想端末にスイッチ |
||
− | |- |
||
− | | {{ic|Scroll Lock}} |
||
− | | Scroll Lock が有効になっているとき、入出力がロックされます |
||
− | |- |
||
− | | {{ic|Shift+PgUp}}/{{ic|PgDown}} |
||
− | | コンソールバッファを上下にスクロール |
||
− | |- |
||
− | | {{ic|Ctrl+c}} |
||
− | | 現在のタスクを終了 |
||
− | |- |
||
− | | {{ic|Ctrl+d}} |
||
− | | EOF を挿入 |
||
− | |- |
||
− | | {{ic|Ctrl+z}} |
||
− | | 現在のタスクを停止 |
||
− | |} |
||
− | + | === Linux コンソール === |
|
+ | 参照 [[Linux コンソール#キーボードショートカット]] |
||
− | GNU readline is a commonly used library for line-editing; it is used for example by Bash, FTP, and many more (see the details of {{Pkg|readline}} package under "Required By" for more examples). readline is also customizable (see man page for details). |
||
− | |||
− | {| class="wikitable" |
||
− | ! キーボードショートカット |
||
− | ! 説明 |
||
− | |- |
||
− | | {{ic|Ctrl+l}} |
||
− | | 画面をクリア |
||
− | |- |
||
− | | colspan=2 align="center" | '''カーソルの移動''' |
||
− | |- |
||
− | | {{ic|Ctrl+b}} |
||
− | | Move cursor one character to the left |
||
− | |- |
||
− | | {{ic|Ctrl+f}} |
||
− | | Move cursor one character to the right |
||
− | |- |
||
− | | {{ic|Alt+b}} |
||
− | | Move cursor one word to the left |
||
− | |- |
||
− | | {{ic|Alt+f}} |
||
− | | Move cursor one word to the right |
||
− | |- |
||
− | | {{ic|Ctrl+a}} |
||
− | | Move cursor to start of the line |
||
− | |- |
||
− | | {{ic|Ctrl+e}} |
||
− | | Move cursor to end of the line |
||
− | |- |
||
− | | colspan=2 align="center" | '''コピー & ペースト''' |
||
− | |- |
||
− | | {{ic|Ctrl+u}} |
||
− | | Cut everything from line start to cursor |
||
− | |- |
||
− | | {{ic|Ctrl+k}} |
||
− | | Cut everything from the cursor to end of the line |
||
− | |- |
||
− | | {{ic|Alt+d}} |
||
− | | Cut the current word after the cursor |
||
− | |- |
||
− | | {{ic|Ctrl+w}} |
||
− | | Cut the current word before the cursor |
||
− | |- |
||
− | | {{ic|Ctrl+y}} |
||
− | | Paste the previous cut text |
||
− | |- |
||
− | | {{ic|Alt+y}} |
||
− | | Paste the second latest cut text |
||
− | |- |
||
− | | {{ic|Alt+Ctrl+y}} |
||
− | | Paste the first argument of the previous command |
||
− | |- |
||
− | | {{ic|Alt+.}}/{{ic|_}} |
||
− | | Paste the last argument of the previous command |
||
− | |- |
||
− | | colspan=2 align="center" | '''履歴''' |
||
− | |- |
||
− | | {{ic|Ctrl+p}} |
||
− | | Move to the previous line |
||
− | |- |
||
− | | {{ic|Alt+n}} |
||
− | | Move to the next line |
||
− | |- |
||
− | | {{ic|Ctrl+s}} |
||
− | | Search |
||
− | |- |
||
− | | {{ic|Ctrl+r}} |
||
− | | Reverse search |
||
− | |- |
||
− | | {{ic|Ctrl+j}} |
||
− | | End search |
||
− | |- |
||
− | | {{ic|Ctrl+g}} |
||
− | | Abort search (restores original line) |
||
− | |- |
||
− | | {{ic|Alt+r}} |
||
− | | Restores all changes made to line |
||
− | |- |
||
− | | colspan=2 align="center" | '''補完''' |
||
− | |- |
||
− | | {{ic|Tab}} |
||
− | | Auto-complete a name |
||
− | |- |
||
− | | {{ic|Alt+?}} |
||
− | | List all possible completions |
||
− | |- |
||
− | | {{ic|Alt+*}} |
||
− | | Insert all possible completions |
||
− | |- |
||
− | |} |
||
− | === X11 === |
+ | === X11 & Wayland === |
{| class="wikitable" |
{| class="wikitable" |
||
! キーボードショートカット |
! キーボードショートカット |
||
! 説明 |
! 説明 |
||
+ | ! ノート |
||
|- |
|- |
||
| {{ic|Ctrl+Alt+F1}}, {{ic|F2}}, {{ic|F3}}, ... |
| {{ic|Ctrl+Alt+F1}}, {{ic|F2}}, {{ic|F3}}, ... |
||
| ''n'' 番目の仮想端末にスイッチ |
| ''n'' 番目の仮想端末にスイッチ |
||
+ | | 機能しない場合 {{ic|Ctrl+Fn+Alt+F…}} を試してみてください。 |
||
|- |
|- |
||
| {{ic|Shift+Insert}} <br> {{ic|Mouse Button 2}} |
| {{ic|Shift+Insert}} <br> {{ic|Mouse Button 2}} |
||
− | | |
+ | | [[クリップボード|PRIMARY バッファ]]からテキストを貼り付ける |
+ | | デフォルトでは [[Qt]] は {{ic|Shift+Insert}} で PRIMARY バッファではなく CLIPBOARD を使います [https://doc.qt.io/qt-5/qlineedit.html#details]。そして PRIMARY バッファは {{ic|Ctrl+Shift+Insert}} を使用します。 |
||
|- |
|- |
||
|} |
|} |
||
− | == |
+ | == カスタマイズ == |
=== Readline === |
=== Readline === |
||
+ | [[Bash]]、FTP などで利用されています (詳細は {{Pkg|readline}} パッケージの "Required By" 項目を参照してください) [[Emacs]] 的な編集モードと [[vi]] 的な編集モードがあり、エスケープシーケンスでカスタマイズすることができます。デフォルトのキーバインディングは {{man|3|readline}} と [https://tiswww.cwru.edu/php/chet/readline/rluserman.html Info documentation] に記載されています。 |
||
− | This example adds keys that allow (in ''vi-mode'') to search backward through the history for the string of characters between the start of the current line and the point. This is a non-incremental search. |
||
+ | |||
− | {{hc|.inputrc| |
||
+ | === Zsh === |
||
− | set editing-mode vi |
||
+ | |||
− | set keymap vi-insert |
||
+ | [[Zsh]] は [[Zsh#Key_bindings|ZLE]] を使用して、ショートカットをウィジット、スクリプトおよびコマンドにリンクします。 |
||
− | "\C-r": history-search-backward |
||
+ | |||
− | "\C-e": history-search-forward |
||
+ | === Xorg === |
||
− | }} |
||
+ | |||
+ | デフォルトでは無効になっている一般的なショートカットについては [[Xorg でのキーボード設定#よく使われる XKB オプション]] を参照してください。 |
||
+ | グラフィカルな環境にいるとき、あるキーの組み合わせが押されたときにコマンドを実行したいことがあります(つまり、コマンドを ''keysym'' にバインドする)。これを行うには、複数の方法があります。 |
||
− | === X11 === |
||
+ | * [[acpid]] のような低レベルのツールを使う最も移植性の高い方法です。すべてのキーに対応しているわけではありませんが、キーボードのキー、電源アダプタの接続、ヘッドフォンジャックの(抜き)挿しイベントまで、統一された方法で設定することが可能です。また、X セッション内のプログラムを正しく実行することも困難です。 |
||
− | 一般的なショートカットや、デフォルトで無効になっているショートカットは [[Xorg でのキーボード設定#よく使われる XKB オプション]]を見て下さい。 |
||
+ | * [[Xorg]] ユーティリティ(例:[[xbindkeys]]) やデスクトップ環境、ウィンドウマネージャツールを使用するのが一般的な方法です。 |
||
+ | * Gnome Control Center のような GUI ですべてを行うサードパーティプログラムを使用するのが手っ取り早い方法です。 |
||
− | === |
+ | ==== sxhkd ==== |
+ | 強力でコンパクトな構成構文を備えたシンプルなXホットキーデーモン。詳細については、[[sxhkd]] を参照してください。 |
||
− | [https://addons.mozilla.org/en-us/firefox/addon/customizable-shortcuts/ customizable-shortcuts] アドオンを使ってください。 |
||
+ | |||
+ | ==== actkbd ==== |
||
+ | |||
+ | [http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/ actkbd home page] より |
||
+ | :{{AUR|actkbd}} はキーボードイベントにアクションを結びつけるシンプルなデーモンです。([[AUR]] で利用可能) はキーボードイベントにアクションをバインドするシンプルなデーモンです。キーの組み合わせを認識し、プレス、リピート、リリースイベントを扱うことができます。現在のところ linux-2.6 evdev インターフェースのみをサポートしています。すべてのバインディングを含むプレーンテキストの設定ファイルを使用します。 |
||
+ | |||
+ | [http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/latest/README こちら] に設定ファイルのサンプルとガイドがあります |
||
+ | |||
+ | ==== xbindkeys ==== |
||
+ | |||
+ | [[xbindkeys]] はデスクトップ環境とは関係なくキーとアクションの高度なマッピングを可能にします。 |
||
+ | {{Tip|もし {{ic|xbindkeys}} が使いづらいと感じたら、[[AUR]] にあるグラフィカルマネージャー {{AUR|xbindkeys_config-gtk2}} を試してみてください。}} |
||
+ | |||
+ | === デスクトップ環境 === |
||
+ | |||
+ | * [[LXDE#Bindings]] |
||
+ | * [[Xfce#Keyboard Shortcuts]] |
||
+ | |||
+ | === ウィンドウマネージャ === |
||
+ | |||
+ | * [[Fluxbox#Hotkeys]] |
||
+ | * [[Openbox#Keybinds]] |
||
=== X-selection-paste のキーバインディング === |
=== X-selection-paste のキーバインディング === |
||
+ | マウスよりもキーボードを好んで使用する場合、''マウスの中ボタン''でペーストを行うキーバインドが役に立つかもしれません。特にキーボードを集中的に使う環境では有用です。ワークフローは以下のようになります: |
||
− | Users who prefer to work rather with the keyboard than the mouse may benefit from a key binding to the paste operation of the '''middle mouse button'''. This is especially useful in a keyboard-centered environment. A workflow example is: |
||
+ | #Firefox で、検索したい文字列を (マウスで) 選択してください。 |
||
− | #In Firefox, select a string you want to google for (with the mouse). |
||
− | # |
+ | #{{ic|Ctrl+k}} を押して "Google search" フィールドにカーソルを移動。 |
+ | #マウスポインタを移動して中ボタンを押す代わりに {{ic|F12}} でバッファを貼り付け。 |
||
− | #Hit {{ic|F12}} to paste the buffer, instead of moving the mouse pointer to the field and center-click to paste. |
||
− | {{Note|{{ic|Shift+Insert}} |
+ | {{Note|{{ic|Shift+Insert}} で同じような機能が実行できます。[[#X11]] を見てください: {{ic|Shift+Insert}} は x-selection-paste バッファではなくクリップボードバッファを挿入します。アプリケーションによっては、両方のバッファには同じ中身が入ります。}} |
+ | ここでは[[公式リポジトリ]]にある3つのパッケージを使います: |
||
− | The method suggested here uses three packages available in the [[official repositories]]: |
||
− | * {{Pkg|xsel}} |
+ | * {{Pkg|xsel}} で x-selection-buffer の中身にアクセス。 |
− | * [[Xbindkeys]] |
+ | * [[Xbindkeys]] でキーストロークに操作をバインド。 |
+ | * {{AUR|xvkbd}} でキーボードの入力をエミュレートしてバッファ文字列をアプリケーションに渡す。 |
||
− | * {{Pkg|xvkbd}} to pass the buffer string to the application by emulating keyboard input. |
||
− | + | 以下の例では x-selection-paste の操作を {{ic|F12}} キーにバインドします: |
|
{{hc|.xbindkeysrc| |
{{hc|.xbindkeysrc| |
||
233行目: | 167行目: | ||
}} |
}} |
||
− | + | {{ic|"\D1"}} コードはセレクションバッファの挿入の前に 100 ms のポーズを追加します ([http://t-sato.in.coocan.jp/xvkbd/ xvkbd のホームページ] を参照)。 |
|
− | {{Note| |
+ | {{Note|X の設定によっては、xvkbd の {{ic|-xsendevent}} 引数を外す必要があります。}} |
− | + | {{ic|F12}} 以外のキーのキーコードは {{ic|xbindkeys -k}} で確認できます。 |
|
− | ''' |
+ | '''参照:''' |
− | * [ |
+ | * [https://unix.stackexchange.com/questions/11889/pasting-x-selection-not-clipboard-contents-with-keyboard Pasting X selection (not clipboard) contents with keyboard] |
− | * [http:// |
+ | * [http://t-sato.in.coocan.jp/xvkbd/ xvkbd ホームページ] |
+ | ==== XMonad ウィンドウマネージャ ==== |
||
− | '''XMonad Window Manager''' |
||
+ | [[xmonad]] ウィンドウマネージャには x-selection-buffer の中身を貼り付ける機能が内蔵されています。特定のキーストローク (例: {{ic|Insert}} キー) にバインドするには以下の設定を使用: |
||
− | In the {{Pkg|xmonad}} window manager there is a built-in function to paste the x-selection-buffer content. In order to bind that function to a key-stroke (here {{ic|Insert}} key) the following configuration can be used: |
||
{{hc|xmonad.hs| |
{{hc|xmonad.hs| |
||
import XMonad.Util.Paste |
import XMonad.Util.Paste |
||
252行目: | 186行目: | ||
}} |
}} |
||
+ | == 参照 == |
||
− | '''Using xdotool''' - command-line X11 automation tool |
||
− | With the {{Pkg|xdotool}} it is possible to create a short cut which actually paste the content of the X-Selection buffer via triggering the middle mouse button. Instead of hit the text as separate key strokes. The command for the short cut is: |
||
− | |||
− | <code>xdotool getwindowfocus key --window %1 click 2</code> |
||
− | |||
− | The command get the window which has focus from the xserver and triggers a click of button 2 which is the middle mouse button. |
||
− | |||
− | == Tips and tricks == |
||
− | |||
− | * If you like a keyboard-centered workflow, you might also appreciate a [[Window manager#Tiling_window_managers|tiling window manager]]. |
||
− | |||
− | == 参照 == |
||
− | * [https://www.kernel.org/doc/Documentation/sysrq.txt The Linux Magic System Request Key - Kernel documentation] |
||
* [http://lnag.sourceforge.net/lnag_html/node5.html Linux Newbie Administrator Guide - Shortcuts and Commands] |
* [http://lnag.sourceforge.net/lnag_html/node5.html Linux Newbie Administrator Guide - Shortcuts and Commands] |
||
− | * [ |
+ | * [https://tldp.org/HOWTO/Keyboard-and-Console-HOWTO.html The Linux keyboard and console HOWTO] |
2023年7月29日 (土) 20:18時点における最新版
この記事では (あまり有名でない) デフォルトのキーボードショートカットのリストとユーザーカスタマイズの情報を提供します。
目次
標準のショートカット
カーネル (SysRq)
sysrq キーを介してカーネルに実装されるローレベルなショートカットがいくつかあります。これらのショートカットは、システムが反応しなくなったときに復旧させたりデバッグするのに用いることができます。いつでも使うことができますが、特に、電源ボタンを長押しして無理やりシステムの電源を切るよりかはショートカットを使うほうが推奨されます。
詳細については、Wikipedia:Magic SysRq key を参照してください。
有効化
systemd は sysrq パーミッションのビットマスクがをデフォルトで 0X10に設定しており、特にプロセスのシグナリングや再起動などを許可していません。システムで sysrq キーを完全に使用できるようにするには sysctl の設定に、kernel.sysrq = 1
を追加してください。1 より大きい値は、sysrq 機能を選択的に有効にするために使用できます。詳細は、Linuxカーネルのドキュメントを参照してください。パーティションがマウントされる前やinitrd内でも有効にしたい場合は、sysrq_always_enabled=1
をカーネルパラメータに追加してください。
これらの方法で設定を変更すると、再起動しても変更が持続されることに注意してください。現在のセッションの sysrq 設定を変更してみたい場合は、 sysctl kernel.sysrq=1
または echo "1" > /proc/sys/kernel/sysrq
を実行できます。
sysrq キーを完全に有効にすることには、いくつかの明らかなセキュリティ上の リスクがあります。強制的なリブートなどに加え、CPU レジスタの内容をダンプするために使用することができ、理論的には機密情報を明らかにすることができます。これを使うにはシステムに物理的にアクセスする必要があるので (あなたが 気にしない限り)、ほとんどのデスクトップユーザはおそらくそのリスクレベルを許容範囲と考えるでしょう。とはいえ、sysrq を有効にする前に、それを有効にすることの意味と、あなたのシステムが動作しているより大きな状況の力学を完全に理解していることを確認してください。
再起動
覚え方は "Reboot Even If System Utterly Broken" です ("REISUB" とも呼ばれます)。もしくは "BUSIER" の反対として覚えましょう。
キーボードショートカット | 説明 | 有効にするコード | その他の機能を有効にする |
---|---|---|---|
Alt+SysRq+r Unraw
|
キーボードの制御を X から取り戻す。 | 4 | Alt+SysRq+k SAK
|
Alt+SysRq+e Terminate
|
全てのプロセスに SIGTERM を送り、丁寧にプロセスを終了させる。 | 64 | Alt+SysRq+f OOM kill Alt+SysRq+j Thaw
|
Alt+SysRq+i Kill
|
全てのプロセスに SIGKILL を送り、即座にプロセスを強制終了させる。 | ||
Alt+SysRq+s Sync
|
データをディスクに書き込む。 | 16 | - |
Alt+SysRq+u Unmount
|
全てのファイルシステムをアンマウントして読み取り専用で再マウント。 | 32 | - |
Alt+SysRq+b Reboot
|
再起動 | 128 | - |
たとえば、再起動機能のみを選択的に有効にするには、kernel.sysrq
を128に設定します。REISUB 機能のセット全体を有効にするには、244に設定します。ただし、これにより、表の最後の列にリストされている追加機能も有効になります。詳細なドキュメントについては、sysrq キーのドキュメント およびカーネルソースファイル /drivers/tty/sysrq.c
を参照してください。
メモリを大量に消費するプロセスの終了
Alt+SysRq+f
で kill することができない場合時は、カーネルパニックを起こさずに OOM (out-of-memory) killer を呼び出せます。OOM キラーは、ヒューリスティックのセットを使って、最もメモリを消費している比較的重要でないプロセスを選び、それを kill します。これは、暴走したブラウザスクリプトのような、過剰なスラッシュを引き起こしてシステムをソフトロックしているプロセスを kill するのに非常に便利で、多くの場合、再起動の必要性を軽減できます。OOM キラーは、その善意のヒューリスティックにもかかわらず、多種多様なプロセスを対象とすることができますが、やや予測不可能なことがあるので、気軽に呼び出すには注意が必要です。
トラブルシューティング
- ディスプレイマネージャ を使っていて、
Alt+SysRq+e
の後にログイン画面が表示される場合(自動ログインが有効な場合はフルデスクトップ)。と表示される場合、関連する サービスファイル のRestart=always
ディレクティブが原因であることが多いようです。必要であれば、ユニットファイルの編集 をしてください。ただし、これによって "REISUB "シーケンスが動作しなくなることはないはずです。 - もし、
Alt+SysRq+b
以外の組み合わせで動作する場合は、Alt
キーを使ってみてください。 - もし、
SysRq
とPrtScrn
を区別するためにFn
キーを使用するノートパソコンでは、実際にはFn
キーを使う必要はないかもしれません(すなわち、{{ic}Alt + PrtSc +letter' }} でも機能するかもしれません。) - Lenovo のノートパソコンでは、
SysRq
はしばしばFn+S
として設定されます。これを使うにはAlt
を押しながらFn+s
を押して、Fn
とs
を離しAlt
を押したまま上記のキーを押してください。 - また、
Alt
と同時にCtrl
を押す必要があるかもしれません。例えば、フルキーショートカットはCtrl+Alt+SysRq+b
となります。
Linux コンソール
X11 & Wayland
キーボードショートカット | 説明 | ノート |
---|---|---|
Ctrl+Alt+F1 , F2 , F3 , ...
|
n 番目の仮想端末にスイッチ | 機能しない場合 Ctrl+Fn+Alt+F… を試してみてください。
|
Shift+Insert Mouse Button 2
|
PRIMARY バッファからテキストを貼り付ける | デフォルトでは Qt は Shift+Insert で PRIMARY バッファではなく CLIPBOARD を使います [1]。そして PRIMARY バッファは Ctrl+Shift+Insert を使用します。
|
カスタマイズ
Readline
Bash、FTP などで利用されています (詳細は readline パッケージの "Required By" 項目を参照してください) Emacs 的な編集モードと vi 的な編集モードがあり、エスケープシーケンスでカスタマイズすることができます。デフォルトのキーバインディングは readline(3) と Info documentation に記載されています。
Zsh
Zsh は ZLE を使用して、ショートカットをウィジット、スクリプトおよびコマンドにリンクします。
Xorg
デフォルトでは無効になっている一般的なショートカットについては Xorg でのキーボード設定#よく使われる XKB オプション を参照してください。
グラフィカルな環境にいるとき、あるキーの組み合わせが押されたときにコマンドを実行したいことがあります(つまり、コマンドを keysym にバインドする)。これを行うには、複数の方法があります。
- acpid のような低レベルのツールを使う最も移植性の高い方法です。すべてのキーに対応しているわけではありませんが、キーボードのキー、電源アダプタの接続、ヘッドフォンジャックの(抜き)挿しイベントまで、統一された方法で設定することが可能です。また、X セッション内のプログラムを正しく実行することも困難です。
- Xorg ユーティリティ(例:xbindkeys) やデスクトップ環境、ウィンドウマネージャツールを使用するのが一般的な方法です。
- Gnome Control Center のような GUI ですべてを行うサードパーティプログラムを使用するのが手っ取り早い方法です。
sxhkd
強力でコンパクトな構成構文を備えたシンプルなXホットキーデーモン。詳細については、sxhkd を参照してください。
actkbd
- actkbdAUR はキーボードイベントにアクションを結びつけるシンプルなデーモンです。(AUR で利用可能) はキーボードイベントにアクションをバインドするシンプルなデーモンです。キーの組み合わせを認識し、プレス、リピート、リリースイベントを扱うことができます。現在のところ linux-2.6 evdev インターフェースのみをサポートしています。すべてのバインディングを含むプレーンテキストの設定ファイルを使用します。
こちら に設定ファイルのサンプルとガイドがあります
xbindkeys
xbindkeys はデスクトップ環境とは関係なくキーとアクションの高度なマッピングを可能にします。
デスクトップ環境
ウィンドウマネージャ
X-selection-paste のキーバインディング
マウスよりもキーボードを好んで使用する場合、マウスの中ボタンでペーストを行うキーバインドが役に立つかもしれません。特にキーボードを集中的に使う環境では有用です。ワークフローは以下のようになります:
- Firefox で、検索したい文字列を (マウスで) 選択してください。
Ctrl+k
を押して "Google search" フィールドにカーソルを移動。- マウスポインタを移動して中ボタンを押す代わりに
F12
でバッファを貼り付け。
ここでは公式リポジトリにある3つのパッケージを使います:
- xsel で x-selection-buffer の中身にアクセス。
- Xbindkeys でキーストロークに操作をバインド。
- xvkbdAUR でキーボードの入力をエミュレートしてバッファ文字列をアプリケーションに渡す。
以下の例では x-selection-paste の操作を F12
キーにバインドします:
.xbindkeysrc
"xvkbd -no-jump-pointer -xsendevent -text "\D1`xsel`" 2>/dev/null" F12
"\D1"
コードはセレクションバッファの挿入の前に 100 ms のポーズを追加します (xvkbd のホームページ を参照)。
F12
以外のキーのキーコードは xbindkeys -k
で確認できます。
参照:
XMonad ウィンドウマネージャ
xmonad ウィンドウマネージャには x-selection-buffer の中身を貼り付ける機能が内蔵されています。特定のキーストローク (例: Insert
キー) にバインドするには以下の設定を使用:
xmonad.hs
import XMonad.Util.Paste ... -- X-selection-paste buffer , ((0, xK_Insert), pasteSelection) ]