Клавиша Alt часто используется как модификатор meta. Курсорные и функциональные клавиши называют специальными клавишами, поскольку они могут передавать несколько символов - и символы, которые передаются, могут быть изменены.
Некоторые пользователи, например, для bash
ожидают, что нажатие Alt пошлет клавишу с префиксом символа escape. Документированная функция "meta" (см. terminfo(5)
) имеет дело с восьмым битом:
Если терминал имеет "meta key", которая действует как клавиша shift устанавливая 8-й бит любого передаваемого символа, этот факт может быть указан с помощью
km
. В противном случае программное обеспечение будет считать, что 8-й бит является битом четности, и он обычно будет очищен. Если существуют строки для включения и выключения этого "мета-режима" и выключения, они могут быть заданы какsmm
иrmm
.
bash
тоже знает об этом (см. ncurses FAQ), но мало кто из его пользователей интересуется этой возможностью. Тем не менее, они привыкли называть Alt "meta", даже если режим meta выключен. И rxvt, и xterm имеют эту возможность с (по крайней мере) начала 1990-х годов.
Другие пользователи (с тех пор как xterm
представил эту возможность в патче #94, 1999) могут ожидать, что информация о модификаторе будет закодирована как параметр в последовательности символов, которые посылает специальная клавиша. В документации XTerm эти модифицированные клавиши назывались "PC-style" функциональными клавишами, чтобы отличить их от "VT220-style" (которые не имели модификаторов). Немодифицированная курсорная клавиша может посылать ESC[A, но также законно иметь параметр, например, ESC[5A, что приложение должно понимать как повторение этого пять раз. В первой версии xterm
клавиши в стиле ПК использовали эту "5" для обозначения управления, а более поздняя версия изменила ее, чтобы избежать путаницы с количеством повторений. Итак...
ESC[5A
предлагает приложению переместить курсор на 5 строк вверх, а
ESC[1;5A
предлагает переместить его на одну строку вверх, сообщая приложению, что была нажата клавиша control.
Полезные комбинации находятся в базе данных ncurses terminfo с 2004 года:
# 2004-07-17
# * add xterm-pc-fkeys -TD
База данных terminfo показывает текущую версию xterm+pcfkeys с комментарием, показывающим, как закодированы модификаторы:
# This fragment describes as much of XFree86 xterm's "pc-style" function
# keys as will fit into terminfo's 60 function keys.
# From ctlseqs.ms:
# Code Modifiers
# ---------------------------------
# 2 Shift
# 3 Alt
# 4 Shift + Alt
# 5 Control
# 6 Shift + Control
# 7 Alt + Control
# 8 Shift + Alt + Control
# ---------------------------------
# The meta key may also be used as a modifier in this scheme, adding another
# bit to the parameter.
(Alt и meta не обязательно являются одной и той же клавишей). Это строительный блок (в свою очередь состоящий из других строительных блоков), из которого формируется описание xterm
терминала. Он использует расширение, предоставляемое в ncurses с 1999 года, которое позволяет использовать имена, определяемые пользователем. Поскольку termcap поддерживает только 2-символьные имена и 1023-байтовые описания, не было причин делать эти расширенные имена доступными через интерфейс termcap. Они легко доступны приложениям, использующим интерфейс terminfo.
Теперь возникает трудность: есть несколько способов для приложения определить, что представляет собой такая последовательность клавиш:
Немногие программы будут делать первое; некоторые текстовые редакторы будут делать второе (на самом деле, я делал это для ded
в конце 1980-х). Разработчики таких приложений, как bash
, выбрали третий путь, полагая, что большая часть информации находится в termcap. В качестве альтернативы они могли бы составить таблицу с информацией termcap/terminfo и использовать интерфейс, дающий наилучшую информацию. xterm
делает это для функции tcap-query , предоставляя vim
фактические назначения функциональных клавиш.
Поскольку ни одна из строк, с которыми сравнивает bash
, не совпадает с полученными строками, он может запутаться, выбирая частичные совпадения (например, символ escape сам по себе).
Дальнейшее чтение:
Чтобы показать отдельные жесткие диски SAS, необходимо сделать две вещи:
Контроллер LSI SAS должен быть прошит для поддержки режима IT -вместо режима только RAID. Здесь:ftp://ftp.supermicro.com/driver/SAS/LSI/1064_1068/IT/Firmware/B3/L8i/1.30.00/-прошивка для моего контроллера и прошивка для DOS/Win/Linux в архиве. Лично я успешно загрузил SystemRescueCD x64 с USB и прошил контроллер.
Перемычка материнской платы JPS2 (RAID On/Off )должна быть разблокирована (X8STI -3F m/b ).
После включения жестких дисков SAS утилита настройки LSI показывает CTRL -C для настройки контроллера (вместо CTRL -M в режиме RAID ), BIOS материнской платы видит эти жесткие диски как загрузочные устройства в F11 меню загрузки.
Затем пройдите expert dmraid=true
загрузочный установщик,переключитесь на консоль и обнулите каждый жесткий диск с помощью fdisk /dev/sdX
и запишите изменения. Снова перезагрузитесь в установщик Debian с expert dmraid=true
и, наконец!, я вижу жесткие диски и могу продолжить установку.