Вставка копии в терминале гнома

Gilles уже описал общий случай прерывания, следующее применяется конкретно к Linux 2.6 на архитектуре Intel (часть этого также основана на спецификациях Intel).

Прерывание является событием, которое изменяет последовательность инструкций, выполняемых процессором.
Существует два различных видов прерываний:

  • Синхронное прерывание (Исключение), произведенное ЦП при обработке инструкций
  • Асинхронное прерывание (Прерывание), выпущенное другими устройствами

Исключения вызываются программными ошибками (f.e. Разделите ошибку, Отсутствие страницы, Переполнение), который должен быть обработан ядром. Он отправляет сигнал в программу и пытается восстановиться с ошибки.

Следующие два исключения классифицированы:

  • Обнаруженное процессором исключение, сгенерированное ЦП при обнаружении аномального условия; разделенный на три группы: Отказы могут обычно исправляться, Прерывания сообщают о выполнении, Аварийные прекращения работы являются серьезными ошибками.
  • Запрограммированное исключение требует программист, обработанный как прерывание.

Прерывания могут быть выпущены устройствами ввода-вывода (клавиатура, сетевой адаптер..), таймеры интервала и (в многопроцессорных системах) другие центральные процессоры. Когда прерывание происходит, ЦП должен остановить его текущую команду и выполнить недавно прибывшее прерывание. Он должен сохранить старое прерванное состояние процесса, чтобы (вероятно), возобновить его после того, как прерывание будет обработано.

Обработка прерываний является чувствительной задачей:

  • Прерывания могут произойти в любое время, ядро пытается избавиться от него как можно скорее
  • Прерывание может быть прервано другим прерыванием
  • Существуют регионы в ядре, которое не должно быть прервано вообще

Определяются два различных уровня прерывания:

  • Маскируемые прерывания выпущены устройствами ввода-вывода; может быть в двух состояниях, замаскированных или размаскированных. Только размаскированные прерывания становятся обработанными.
  • Немаскируемые прерывания; критическое неправильное функционирование (f.e. отказ оборудования); всегда обрабатываемый ЦП.

Каждое устройство имеет свой собственный Запрос на прерывание (IRQ) строка. IRQs пронумерованы, начав от 0. Все линии IRQ подключены к Программируемому контроллеру прерываний (PIC). PIC слушает на IRQs и присваивает их ЦП. Также возможно отключить определенную линию IRQ.
Современные многопроцессорные системы Linux обычно включают более новую Усовершенствованную PIC (APIC), который распределяет запросы IRQ одинаково между центральными процессорами.

Серединой шага между прерыванием или исключением и обработкой его является Таблица дескрипторов прерываний (IDT). Эта таблица связывает каждое прерывание или вектор исключения (число) с указанным обработчиком (f.e. Разделитесь ошибка обрабатывается функцией divide_error()).

Через IDT ядро знает точно, как обработать произошедшее прерывание или исключение.


Так, что делает ядро когда прерывание occurres?

  • Проверки ЦП после каждой инструкции, если существует IRQ от (A) PIC
  • Если так, консультируется с IDT для отображения полученного вектора на функцию
  • Проверки, если прерывание было выпущено авторизованным источником
  • Сохраняет регистры прерванного процесса
  • Звоните согласно функции для обработки прерывания
  • Загрузите недавно сохраненные регистры прерванного процесса и попытки возобновить его

9
06.04.2011, 11:59
3 ответа

Можно сделать вставку Ctrl+V путем изменения настроек в меню Edit-> Keyboard Shortcuts.

Но Вы не могли бы хотеть делать это, потому что Ctrl+V обычно используется Вашей оболочкой в качестве способа ввести символы буквально. Например, Вкладка обычно заставляет оболочку попробовать к полному вкладкой имя файла. Если необходимо на самом деле ввести вкладку, Вкладка Ctrl+V позволяет Вам сделать это.

Можно сказать удару использовать что-то еще. Посмотрите Команды удара для Изменения текста для некоторых деталей. Ctrl+Q или \мог бы работать также. Или это могло бы просто закрыть Ваш терминал.:-)

Я не думаю, что другие вещи возможны.

Как альтернатива, Вы хотели бы пробовать Ctrl+Ins за копию и Shift+Ins для вставки.

По умолчанию Shift+Ins вставляет то, что Вы выбираете со своей мышью, даже если Вы не копируете его.

Я изменяю его, чтобы сделать нормальную копию буфера обмена через Редактирование-> Горячие клавиши.

Ctrl+Ins и Shift+Ins на самом деле работают в большинстве приложений, но я не думаю, что многие люди знают об этом.

15
27.01.2020, 20:04
  • 1
    я сомневаюсь, что должен буду на самом деле ввести литеральную ВКЛАДКУ, конечно, не в частоте, в которой я должен вставить текст. –  ripper234 06.04.2011, 11:30
  • 2
    Shift+Del сокращается также, но это не относится к Терминалу Gnome. –  Mikel 06.04.2011, 15:46
  • 3
    Эти ярлыки прибывают из стандартов CUA IBM. –  Mikel 06.04.2011, 15:47
  • 4
    , который я не перед компьютером для проверки, но я вполне уверен, что при создании вставки Ctrl+V и копии Ctrl+C можно ввести Ctrl+Shift+V или C, и это интерпретируется как Ctrl+V или Ctrl+C. –  Mikel 06.08.2015, 21:49

Значения по умолчанию в Терминале Gnome являются Ctrl+Shift+c для копии и Ctrl+Shift+v для вставки. Я не думаю, что можно сделать, щелкают правой кнопкой по Copy и Paste, потому что Терминал Gnome использует щелчок правой кнопкой для открытия контекстного меню. И поскольку Mikel сказал, Ctrl+v интерпретируется по-другому оболочкой.

8
27.01.2020, 20:04

mikel's получил лучший совет. Довольно много эмуляторов терминала (*xvt разнообразие, особенно) часто не имеют роскоши контекстного меню для вставки, и некоторые из них читают больше чем из одного конфигурационного файла (.Xdefaults, .xinitrc, и т.д.) для предпочтительных "настроек" пользователя. В результате люди должны использовать клавиатуру намного чаще, чем они были бы в, скажем, Редакторе GNOME или jedit. Таким образом, каждый привыкает к использованию Shift-Insert для вставки, и когда они узнают, что это не работает и портит выполнение сценария в процессе, это может быть печально.

Я рад обнаружить, что Терминал GNOME имеет настраиваемые сочетания клавиш теперь. Я использовал одну разновидность или другую из Ubuntu с 2009, но в прошлый раз я сделал любые заметки о нем, это было чем-то, что только Konsole имел. Вы держите пари, что я сделал "Shift-Insert" моим ярлыком вставки, как только я читал сообщение mikel к этому потоку.

BZT

0
27.01.2020, 20:04

Теги

Похожие вопросы