Keyboard shortcuts (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Keyboard shortcuts
. Дата последней синхронизации: 14 февраля 2022. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
В этой статье приведен список (не общеизвестных) стандартных сочетаний клавиш и предоставляется информация о пользовательской настройке.
Стандартные сочетания клавиш
Ядро (SysRq)
Имеется несколько низкоуровненных сочетаний клавиш, реализованных в ядре и которые могут быть использованы для отладки и восстановления зависнувшей системы. Всякий раз, когда это возможно, рекомендуется использовать эти сочетания клавиш вместо аппаратного выключения (удержание кнопки включения компьютера до полного отключения системы).
Подробнее:
Wikipedia:Magic SysRq key
Включение
В
systemd
битовая маска разрешений sysrq
по умолчанию установлена на 0x10
, что не позволяет, в частности,
отправлять процессам сигналы или перезагружаться
. Чтобы разрешить полное использование sysrq в вашей системе, добавьте
kernel.sysrq = 1
в
конфигурацию sysctl
. Значения больше 1 могут использоваться для выборочного включения функций sysrq; подробности описаны в
документации ядра
. Если хотите убедиться, что они будут включены даже до монтирования разделов и перед initrd, добавьте
sysrq_always_enabled=1
в
параметры ядра
.
Обратите внимание, что изменение этих настроек является постоянным. Если вы хотите изменить параметры sysrq только для текущего сеанса, можно использовать
sysctl kernel.sysrq=1
или
echo "1" > /proc/sys/kernel/sysrq
.
Полное включение sysrq связано с некоторыми очевидными рисками безопасности. Помимо принудительных перезагрузок и тому подобного, sysrq может использоваться для дампа содержимого регистров процессора, что теоретически может раскрыть конфиденциальную информацию. Поскольку для его использования требуется физический доступ к системе (если только вы
не вынесете управление sysrq за её пределы
), большинство пользователей настольных компьютеров, вероятно, сочтут уровень риска приемлемым. Тем не менее, прежде чем включить sysrq, убедитесь, что вы полностью понимаете последствия его использования и динамику контекста, в котором работает ваша система.
Перезагрузка
Общая идиома для запоминания этих сочетаний клавиш - "
R
eboot
E
ven
I
f
S
ystem
U
tterly
B
roken" (сокращенно "REISUB"). Кроме того, подумайте об этом наоборот "BUSIER".
Примечание
Имейте в виду, что "REISUB" — это просто мнемоника, а не какая-то общая рекомендация по нажатию клавиш для возвращения контроля над зависшей системой. Не следует слепо нажимать эти сочетания без понимания, что они делают.
Сочетание клавиш
Описание
Код для включения
Другие включаемые функции
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, хотя это также включает дополнительные функции, перечисленные в последнем столбце таблицы. Дополнительную документацию смотрите в
документации ядра
и в исходном файле ядра
/drivers/tty/sysrq.c
.
Завершение процесса, занимающего много памяти
Можно использовать
Alt+SysRq+f
для вызова
OOM (out-of-memory) killer
, не вызывая паники ядра, если ничего не может быть убито. OOM killer использует набор эвристик, чтобы выбрать не очень важный процесс, использующий больше всего памяти, и убить его. Это очень полезно для завершения процесса, который заблокировал вашу систему, например, запущенный скрипт браузера, и во многих случаях может избавить от необходимости перезагрузки. Обратите внимание, что OOM killer может быть нацелен на широкий спектр процессов, несмотря на его благонамеренную эвристику, и может быть несколько непредсказуемым, поэтому будьте осторожны с его вызовом.
Решение проблем
Если вы используете
экранный менеджер
и после
Alt+SysRq+e
появляется экран входа в систему (или рабочий стол, если включен автовход), скорее всего это вызвано директивой
Restart=always
в соответствующем
файле службы
. Если нужно
отредактируйте юнит
, однако это не должно препятствовать работе последовательности "REISUB".
Если все вышеперечисленные комбинации работают, кроме
Alt+SysRq+b
, попробуйте использовать контралатеральную клавишу
Alt
.
На ноутбуках, использующих клавишу
Fn
для переключения
SysRq
/
PrtScrn
, на самом деле не обязательно использовать
Fn
(например,
Alt+PrtSc+
буква
должно работать).
На ноутбуках Lenovo клавиша
SysRq
часто настроена как
Fn+S
. Чтобы использовать ее нажмите и держите
Alt
, затем нажмите
Fn+s
,
отпустите
Fn
и
s
все еще удерживайте
Alt
, а затем нажмите необходимую клавишу-букву.
Вам может потребоваться нажать
Ctrl
вместе с
Alt
. Так например, полное сочетание клавиш будет таким:
Ctrl+Alt+SysRq+b
.
Консоль Linux
Смотрите
Консоль Linux#Горячие клавиши
.
Xorg и Wayland
Сочетание клавиш
Описание
Примечание
Ctrl+Alt+F1
,
F2
,
F3
, ...
Переключиться на
n
-ную виртуальную консоль
Если это не работает, попробуйте
Ctrl+Fn+Alt+F…
.
Shift+Insert
Mouse Button 2
Вставить текст из
буфера PRIMARY
По умолчанию
Shift+Insert
Qt соответствует CLIPBOARD вместо буфера PRIMARY (посмотрите, например,
[1]
) и
Ctrl+Shift+Insert
- буферу PRIMARY.
Настройка
Readline
Readline
— это широко используемая библиотека для редактирования строк; она используется, например, в
Bash
, FTP и многих других программах (больше примеров можно посмотреть в разделе "Required By" в описании пакета
readline
). Она имеет
Emacs
-подобные и
vi
-подобные режимы редактирования, которые можно настроить с помощью управляющих последовательностей. Стандартные сочетания клавиш описаны в
readline(3)
и
документации Info
.
Zsh
Zsh
использует
ZLE
для виджетов, скриптов и команд.
Xorg
Чтобы узнать некоторые общие сочетания клавиш, которые по умолчанию отключены, смотрите
Конфигурация клавиатуры в Xorg#Часто используемые опции XKB
.
Когда мы находимся в графическом окружение, мы можем захотеть выполнить команду при нажатии определенной комбинации клавиш (то есть привязать команду к
keysym
). Существует несколько способов сделать это:
Самый портативный способ. Использование инструментов низкого уровня, таких как
acpid
. Не все клавиши поддерживаются, но конфигурация в унифицированном виде возможна для клавиш клавиатуры, подключения адаптера питания и даже для подключения/отключения наушников. Также трудно запускать программы внутри X сеанса правильно.
Универсальный способ. Использование утилит
Xorg
(например,
xbindkeys
) и, в конечном итоге, инструментов вашего окружения рабочего стола или оконного менеджера.
Более быстрый способ. Использование сторонних программ, где все можно сделать в GUI, таких как Gnome Control Center.
sxhkd
Простой демон X hotkey с мощным и компактным синтаксисом конфигурации. Для получения дополнительной информации смотрите
sxhkd
.
actkbd
С
домашней страницы actkbd
:
actkbd
AUR
(доступно в
AUR
) - простой демон, который связывает действия с событиями клавиатуры. Он распознаёт сочетания клавиш и может обрабатывать события нажатия, удержания и отпускания. В настоящее время он поддерживает только интерфейс linux-2.6 evdev. Он использует текстовый файл конфигурации, который содержит все привязки.
Образец конфигурации и руководство по настройке можно найти
здесь
.
xbindkeys
xbindkeys
позволяет расширенное сопоставление клавиш с действиями независимо от окружения рабочего стола.
Совет
Если вы находите
xbindkeys
сложным в использование, попробуйте графический менеджер
xbindkeys_config-gtk2
AUR
из
AUR
.
Среды рабочего стола
LXDE (Русский)#Горячие клавиши
Xfce (Русский)#Сочетания клавиш
Оконные менеджеры
Fluxbox#Keyboard shortcuts
Openbox (Русский)#Сочетания клавиш
i3 (Русский)#Назначение клавиш
Сочетание клавиш для X-selection-paste
The factual accuracy of this article or section is disputed.
Reason:
Shift+Insert
вставляет в буфер PRIMARY. (Discuss in
Talk:Keyboard shortcuts (Русский)
)
This article or section needs expansion.
Reason:
Почему задержка 100ms? (Discuss in
Talk:Keyboard shortcuts (Русский)
)
Пользователи, которые предпочитают работать скорее с клавиатурой, чем с мышью, могут извлечь выгоду из сочетаний клавиш к операции вставки средней кнопки мыши. Это особенно полезно в среде, которая управляется клавиатурой. Пример работы:
В Firefox выберите строку, которую вы хотите использовать для Google (с помощью мыши).
Нажмите
Ctrl+k
, чтобы ввести поле "поисковая система".
Нажмите
F9
, чтобы вставить буфер, вместо того, чтобы перемещать указатель мыши в поле и щелкать по колесику для вставки.
Примечание
Shift+Insert
имеет сходную, но другую функциональность, для получения дополнительной информации смотрите
#Xorg
:
Shift+Insert
вставляет буфер clipboard, а не x-selection-paste. В некоторых приложениях эти два буфера зеркалируются.
В предлагаемом здесь способе используются следующие три пакета:
xsel
для предоставления доступа к содержимому буфера the x-selection-buffer.
Xbindkeys
для связывания клавиши к действию.
xvkbd
AUR
для передачи буферной строки в приложение путем эмуляции ввода клавиатуры.
В этом примере операция x-selection-paste связывается с клавишей
F9
:
.xbindkeysrc
"xvkbd -no-jump-pointer -xsendevent -text "\D1`xsel`" 2>/dev/null"
    F9
Префикс кода
"\D1"
устанавливает задержку 100 мс для вставки буфера (для получения дополнительной информации смотрите
домашнюю страницу xvkbd
).
Примечание
В зависимости от ваших настроек X вам может потребоваться убрать аргумент
-xsendevent
для xvkbd.
Коды клавиш отличных от
F9
можно определить с помощью
xbindkeys -k
.
Связанные с этим ссылки:
Вставка содержимого X (не буфера обмена) клавиатурой
домашняя страница xvkbd
Оконный менеджер XMonad
В оконном менеджере
xmonad
есть встроенная функция для вставки содержимого x-selection-buffer. Чтобы связать эту функцию с клавишей (здесь с
Insert
) , можно использовать следующие настройки:
xmonad.hs
import XMonad.Util.Paste
...
  -- X-selection-paste buffer
  , ((0,                     xK_Insert), pasteSelection) ]
Советы и рекомендации
Если вам нравится работать с клавиатурой, вы также можете оценить
фреймовые оконные менеджеры
.
Смотрите также
Руководство администратора для новичков Linux - сочетания клавиш и команды (англ)
Клавиатура и консоль Linux HOWTO (англ)