「キーボードショートカット」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「Tips and tricks」を「ヒントとテクニック」に置換)
(同期)
12行目: 12行目:
 
カーネルにはローレベルなショートカットが複数実装されており、システムが反応しなくなったときに復旧させたりデバッグするのに用いることができます。いつでも使うことができますが、特に、電源ボタンを長押しして無理やりシステムの電源を切るよりかはショートカットを使うほうが推奨されます。
 
カーネルにはローレベルなショートカットが複数実装されており、システムが反応しなくなったときに復旧させたりデバッグするのに用いることができます。いつでも使うことができますが、特に、電源ボタンを長押しして無理やりシステムの電源を切るよりかはショートカットを使うほうが推奨されます。
   
カーネルショートカットを使うには、最初に {{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}} と設定してください。パーティションがマウントされて initrd に入る前に有効にしたい場合、カーネルブートコマンドインオプションに {{ic|1=sysrq_always_enabled=1}} を追加してください。
+
カーネルショートカットを使うには、最初に {{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}} と設定してください。パーティションがマウントされて initrd に入る前に有効にしたい場合、[[カーネルメータ]]に {{ic|1=sysrq_always_enabled=1}} を追加してください。
   
 
覚え方は "'''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" の反対として覚えましょう。
20行目: 20行目:
 
! 説明
 
! 説明
 
|-
 
|-
| {{ic|Alt+SysRq+r}} '''Unraw'''
+
| {{ic|Alt+SysRq+r}} Unraw
 
| キーボードの制御を X から取り戻す。
 
| キーボードの制御を X から取り戻す。
 
|-
 
|-
| {{ic|Alt+SysRq+e}} '''Terminate'''
+
| {{ic|Alt+SysRq+e}} Terminate
 
| 全てのプロセスに SIGTERM を送り、丁寧にプロセスを終了させる。
 
| 全てのプロセスに SIGTERM を送り、丁寧にプロセスを終了させる。
 
|-
 
|-
| {{ic|Alt+SysRq+i}} '''Kill'''
+
| {{ic|Alt+SysRq+i}} Kill
 
| 全てのプロセスに SIGKILL を送り、即座にプロセスを強制終了させる。
 
| 全てのプロセスに SIGKILL を送り、即座にプロセスを強制終了させる。
 
|-
 
|-
| {{ic|Alt+SysRq+s}} '''Sync'''
+
| {{ic|Alt+SysRq+s}} Sync
 
| データをディスクに書き込む。
 
| データをディスクに書き込む。
 
|-
 
|-
| {{ic|Alt+SysRq+u}} '''Unmount'''
+
| {{ic|Alt+SysRq+u}} Unmount
 
| 全てのファイルシステムをアンマウントして読み取り専用で再マウント。
 
| 全てのファイルシステムをアンマウントして読み取り専用で再マウント。
 
|-
 
|-
| {{ic|Alt+SysRq+b}} '''Reboot'''
+
| {{ic|Alt+SysRq+b}} Reboot
 
| 再起動
 
| 再起動
 
|-
 
|-
44行目: 44行目:
 
* 上記の組み合わせで {{ic|Alt+SysRq+b}} だけ動作しない場合、反対側の {{ic|Alt}} キーを使ってみて下さい。
 
* 上記の組み合わせで {{ic|Alt+SysRq+b}} だけ動作しない場合、反対側の {{ic|Alt}} キーを使ってみて下さい。
 
* {{ic|Fn}} キーを使って {{ic|SysRq}} と {{ic|PrtScrn}} を区別するノートパソコンでは、{{ic|Fn}} キーを使う必要はありません ({{ic|Alt+PrtSc+''letter''}} で動作します)。
 
* {{ic|Fn}} キーを使って {{ic|SysRq}} と {{ic|PrtScrn}} を区別するノートパソコンでは、{{ic|Fn}} キーを使う必要はありません ({{ic|Alt+PrtSc+''letter''}} で動作します)。
  +
* Lenovo のノートパソコンでは大抵の場合 {{ic|SysRq}} は {{ic|Fn+S}} に設定されています。{{ic|Alt}} を押しながら {{ic|Fn+s}} を押してから、{{ic|Alt}} は押し続けながら {{ic|Fn}} と {{ic|s}} から指を離して上記のキーを押してください。
 
* {{ic|Ctrl}} と {{ic|Alt}} を押す必要があることもあります。その場合、完全なキーショートカットは {{ic|Ctrl+Alt+SysRq+b}} となります。
 
* {{ic|Ctrl}} と {{ic|Alt}} を押す必要があることもあります。その場合、完全なキーショートカットは {{ic|Ctrl+Alt+SysRq+b}} となります。
 
}}
 
}}
58行目: 59行目:
 
|-
 
|-
 
| {{ic|Ctrl+Alt+Del}}
 
| {{ic|Ctrl+Alt+Del}}
| コンピュータを再起動 (specified by the symlink {{ic|/usr/lib/systemd/system/ctrl-alt-del.target}})
+
| コンピュータを再起動 ({{ic|/usr/lib/systemd/system/ctrl-alt-del.target}} シンボリックリンクで定義)
 
|-
 
|-
 
| {{ic|Alt+F1}}, {{ic|F2}}, {{ic|F3}}, ...
 
| {{ic|Alt+F1}}, {{ic|F2}}, {{ic|F3}}, ...
199行目: 200行目:
 
=== Readline ===
 
=== Readline ===
   
  +
以下の例では行の先頭から文字列の履歴を後方検索するキーを追加します (''vi モード'')。インクリメンタル検索ではありません。
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|
 
{{hc|.inputrc|
 
set editing-mode vi
 
set editing-mode vi
213行目: 214行目:
 
=== Firefox ===
 
=== Firefox ===
   
[https://addons.mozilla.org/en-us/firefox/addon/customizable-shortcuts/ customizable-shortcuts] アドオンを使ってください。
+
[https://addons.mozilla.org/firefox/addon/keybinder/ Keybinder] アドオンを使ってください。
   
 
=== X-selection-paste のキーバインディング ===
 
=== X-selection-paste のキーバインディング ===
   
マウスよりもキーボードを好んで使用する場合、''マウスの中ボタン''でペーストを行うキーバインドが役に立つかもしれません。特にキーボードを集中的に使う環境では有用です。ワークフロー以下のようになります:
+
マウスよりもキーボードを好んで使用する場合、''マウスの中ボタン''でペーストを行うキーバインドが役に立つかもしれません。特にキーボードを集中的に使う環境では有用です。ワークフロー以下のようになります:
  +
#Firefox で、検索したい文字列を (マウスで) 選択してください。
#In Firefox, select a string you want to google for (with the mouse).
 
#Hit {{ic|Ctrl+k}} to enter the "Google search" field.
+
#{{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}} で同じような機能が実行できます。[[#X11]] を見てください: {{ic|Shift+Insert}} は x-selection-paste バッファではなくクリップボードバッファを挿入します。アプリケーションによっては、両方のバッファには同じ中身が入ります。}}
 
{{Note|{{ic|Shift+Insert}} で同じような機能が実行できます。[[#X11]] を見てください: {{ic|Shift+Insert}} は x-selection-paste バッファではなくクリップボードバッファを挿入します。アプリケーションによっては、両方のバッファには同じ中身が入ります。}}
237行目: 238行目:
 
}}
 
}}
   
The {{ic|"\D1"}} code prefixes a 100 ms pause to inserting the selection buffer (see the [http://homepage3.nifty.com/tsato/xvkbd/ xvkbd home page]).
+
{{ic|"\D1"}} コードはセレクションバッファの挿入の前に 100 ms のポーズを追加します ([http://t-sato.in.coocan.jp/xvkbd/ xvkbd のホームページ] を参照)
   
{{Note|Depending on your X configuration, you may need to drop the {{ic|-xsendevent}} argument to xvkbd.}}
+
{{Note|X の設定によっては、xvkbd {{ic|-xsendevent}} 引数を外す必要があります。}}
 
{{ic|F12}} 以外のキーのキーコードは {{ic|xbindkeys -k}} で確認できます。
 
{{ic|F12}} 以外のキーのキーコードは {{ic|xbindkeys -k}} で確認できます。
   
 
'''参照:'''
 
'''参照:'''
 
* [http://unix.stackexchange.com/questions/11889/pasting-x-selection-not-clipboard-contents-with-keyboard Pasting X selection (not clipboard) contents with keyboard]
 
* [http://unix.stackexchange.com/questions/11889/pasting-x-selection-not-clipboard-contents-with-keyboard Pasting X selection (not clipboard) contents with keyboard]
* [http://homepage3.nifty.com/tsato/xvkbd/ xvkbd ホームページ]
+
* [http://t-sato.in.coocan.jp/xvkbd/ xvkbd ホームページ]
   
 
'''XMonad ウィンドウマネージャ'''
 
'''XMonad ウィンドウマネージャ'''
269行目: 270行目:
   
 
== 参照 ==
 
== 参照 ==
* [https://www.kernel.org/doc/Documentation/sysrq.txt The Linux Magic System Request Key - Kernel documentation]
+
* [http://archive.linux.or.jp/JF/JFdocs/kernel-docs-2.2/sysrq.txt The Linux Magic System Request Key - カーネルドキュメント]
 
* [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]
 
* [http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO.html The Linux keyboard and console HOWTO]
 
* [http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO.html The Linux keyboard and console HOWTO]

2017年11月7日 (火) 23:25時点における版

この記事では (あまり有名でない) デフォルトのキーボードショートカットのリストとユーザーカスタマイズの情報を提供します。

標準のショートカット

カーネル

カーネルにはローレベルなショートカットが複数実装されており、システムが反応しなくなったときに復旧させたりデバッグするのに用いることができます。いつでも使うことができますが、特に、電源ボタンを長押しして無理やりシステムの電源を切るよりかはショートカットを使うほうが推奨されます。

カーネルショートカットを使うには、最初に sysctl kernel.sysrq=1 または echo "1" > /proc/sys/kernel/sysrq でショートカットを有効にしておく必要があります。起動時に有効化されるようにするには、/etc/sysctl.d/99-sysctl.conf を編集して kernel.sysrq = 1 と設定してください。パーティションがマウントされて initrd に入る前に有効にしたい場合、カーネルパラメータsysrq_always_enabled=1 を追加してください。

覚え方は "Reboot Even If System Utterly Broken" です ("REISUB" とも呼ばれます)。もしくは "BUSIER" の反対として覚えましょう。

キーボードショートカット 説明
Alt+SysRq+r Unraw キーボードの制御を X から取り戻す。
Alt+SysRq+e Terminate 全てのプロセスに SIGTERM を送り、丁寧にプロセスを終了させる。
Alt+SysRq+i Kill 全てのプロセスに SIGKILL を送り、即座にプロセスを強制終了させる。
Alt+SysRq+s Sync データをディスクに書き込む。
Alt+SysRq+u Unmount 全てのファイルシステムをアンマウントして読み取り専用で再マウント。
Alt+SysRq+b Reboot 再起動
ヒント:
  • ディスプレイマネージャを使っていて Alt+SysRq+e でログイン画面が表示される場合 (もしくは自動ログインが有効になっていてデスクトップが表示される場合)、サービスファイルRestart=always ディレクティブが原因です。必要ならば、ユニットを編集してください。ただし "REISUB" シーケンスを止めることはできません。
  • 上記の組み合わせで Alt+SysRq+b だけ動作しない場合、反対側の Alt キーを使ってみて下さい。
  • Fn キーを使って SysRqPrtScrn を区別するノートパソコンでは、Fn キーを使う必要はありません (Alt+PrtSc+letter で動作します)。
  • Lenovo のノートパソコンでは大抵の場合 SysRqFn+S に設定されています。Alt を押しながら Fn+s を押してから、Alt は押し続けながら Fns から指を離して上記のキーを押してください。
  • CtrlAlt を押す必要があることもあります。その場合、完全なキーショートカットは Ctrl+Alt+SysRq+b となります。

詳しくは Wikipedia のマジック SysRq キーを見て下さい。

ターミナル

仮想端末

キーボードショートカット 説明
Ctrl+Alt+Del コンピュータを再起動 (/usr/lib/systemd/system/ctrl-alt-del.target シンボリックリンクで定義)
Alt+F1, F2, F3, ... n 番目の仮想端末にスイッチ
Alt+ ← 前の仮想端末にスイッチ
Alt+ → 次の仮想端末にスイッチ
Scroll Lock Scroll Lock が有効になっているとき、入出力がロックされます
Shift+PgUp/PgDown コンソールバッファを上下にスクロール
Ctrl+c 現在のタスクを終了
Ctrl+d EOF を挿入
Ctrl+z 現在のタスクを停止

Readline

GNU readline は行編集によく使われているライブラリです。Bash や FTP など様々なプログラムによって使われています (詳しくは readline パッケージの "Required By" を見て下さい)。readline はカスタマイズすることができます (詳しくは man ページを参照)。

キーボードショートカット 説明
Ctrl+l 画面をクリア
カーソルの移動
Ctrl+b 一文字分カーソルを左に移動
Ctrl+f 一文字分カーソルを右に移動
Alt+b 一単語分カーソルを左に移動
Alt+f 一単語分カーソルを右に移動
Ctrl+a カーソルを行頭に移動
Ctrl+e カーソルを行末に移動
コピー & ペースト
Ctrl+u 行頭からカーソル位置まで切り取り
Ctrl+k カーソル位置から行末まで切り取り
Alt+d カーソルの後の単語を切り取り
Ctrl+w カーソルの前の単語を切り取り
Ctrl+y 切り取ったテキストを貼り付け
Alt+y 前に切り取ったテキストを貼り付け
Alt+Ctrl+y 前のコマンドの第1引数を貼り付け
Alt+./_ 前のコマンドの最後の引数を貼り付け
履歴
Ctrl+p 前の行に移動
Ctrl+n 次の行に移動
Ctrl+s 検索
Ctrl+r 逆検索
Ctrl+j 検索を終了
Ctrl+g 検索を中止 (元の行に戻る)
Alt+r 変更を全て戻す
補完
Tab 名前の自動補完
Alt+? 利用可能な補完候補を表示
Alt+* 利用可能な補完候補を全て挿入

X11 & Wayland

キーボードショートカット 説明 ノート
Ctrl+Alt+F1, F2, F3, ... n 番目の仮想端末にスイッチ 機能しない場合 Ctrl+Fn+Alt+F… を試してみてください。
Shift+Insert
Mouse Button 2
PRIMARY バッファからテキストを貼り付ける デフォルトでは QtShift+Insert で PRIMARY バッファではなく CLIPBOARD を使います [1]。そして PRIMARY バッファは Ctrl+Shift+Insert を使用します。

ユーザーカスタマイズ

Readline

以下の例では行の先頭から文字列の履歴を後方検索するキーを追加します (vi モード)。インクリメンタル検索ではありません。

.inputrc
set editing-mode vi
set keymap vi-insert
"\C-r": history-search-backward
"\C-e": history-search-forward

X11

一般的なショートカットや、デフォルトで無効になっているショートカットは Xorg でのキーボード設定#よく使われる XKB オプションを見て下さい。

Firefox

Keybinder アドオンを使ってください。

X-selection-paste のキーバインディング

マウスよりもキーボードを好んで使用する場合、マウスの中ボタンでペーストを行うキーバインドが役に立つかもしれません。特にキーボードを集中的に使う環境では有用です。ワークフローは以下のようになります:

  1. Firefox で、検索したい文字列を (マウスで) 選択してください。
  2. Ctrl+k を押して "Google search" フィールドにカーソルを移動。
  3. マウスポインタを移動して中ボタンを押す代わりに F12 でバッファを貼り付け。
ノート: Shift+Insert で同じような機能が実行できます。#X11 を見てください: Shift+Insert は x-selection-paste バッファではなくクリップボードバッファを挿入します。アプリケーションによっては、両方のバッファには同じ中身が入ります。

ここでは公式リポジトリにある3つのパッケージを使います:

  • xsel で x-selection-buffer の中身にアクセス。
  • Xbindkeys でキーストロークに操作をバインド。
  • xvkbd でキーボードの入力をエミュレートしてバッファ文字列をアプリケーションに渡す。

以下の例では x-selection-paste の操作を F12 キーにバインドします:

.xbindkeysrc
"xvkbd -no-jump-pointer -xsendevent -text "\D1`xsel`" 2>/dev/null"
    F12

"\D1" コードはセレクションバッファの挿入の前に 100 ms のポーズを追加します (xvkbd のホームページ を参照)。

ノート: X の設定によっては、xvkbd の -xsendevent 引数を外す必要があります。

F12 以外のキーのキーコードは xbindkeys -k で確認できます。

参照:

XMonad ウィンドウマネージャ

xmonad ウィンドウマネージャには x-selection-buffer の中身を貼り付ける機能が内蔵されています。特定のキーストローク (例: Insert キー) にバインドするには以下の設定を使用:

xmonad.hs
import XMonad.Util.Paste
...
  -- X-selection-paste buffer
  , ((0,                     xK_Insert), pasteSelection) ]

xdotool を使用 - コマンドライン X11 自動化ツール

xdotool を使用することで中ボタンボタンによって X のセレクションバッファの中身を貼り付ける操作のショートカットを作成できます。ショートカットのコマンドは以下のようになります:

xdotool getwindowfocus key --window %1 click 2

上記のコマンドは X サーバーからフォーカスのあたっているウィンドウを取得してボタン2 (中マウスボタン) のクリックイベントを発動します。

ヒントとテクニック

参照