Text-Terminal-HOWTO Използване на терминала
Това е раздел за управление на интерфейса компютър-терминал и/или промяна на настройките на терминала при използване на терминал. Той обяснява (или посочва обяснения за това) как потребителят на терминала може да контролира и преглежда интерфейса и как да използва различните команди, предлагани от драйвера на устройството. Не обяснява как да използвате много приложни програми, обвивки или повечето помощни програми на Linux. Две команди, често използвани в терминала:
- ясно (за изчистване на екрана)
- нулиране (за нулиране на терминала)
Включвате захранването на терминала, натискате клавиша „назад“ (или „въвеждане“) и след това получавате подкана за влизане. След това, когато бъдете подканени, въведете вашето потребителско име и парола. Ако нищо не се случи, уверете се, че хостът работи правилно. Ако хостът е изключен, тогава това, което въвеждате на клавиатурата на терминала, може да се появи на екрана, тъй като както щифтовете за предаване, така и за получаване на хоста може да са свързани заедно, причинявайки символи "от" компютъра да се показват на екрана. Ако не можете да влезете, въпреки че хостът работи, вижте ``Отстраняване на проблеми''.
Когато пишете в командния ред, обвивката (като bash) чете това, което въвеждате, и реагира на него. Това, което въвеждате първо, преминава през драйвера на терминала на вашата операционна система. Този драйвер може да превежда някои символи (като например промяна на знака за връщане назад, генериран от клавиша за връщане, на знак за нов ред). Той също така разпознава някои контролни кодове, които можете да въведете на клавиатура като ^C, за да прекъснете изпълнението на програмата. Освен това обикновено показва това, което въвеждате обратно на вашия дисплей.
Можете да използвате ``stty'', за да конфигурирате драйвера.
Когаизображението на дисплея изглежда грешно или това, което въвеждате, не се показва правилно, вероятно имате объркан терминален интерфейс. Може също да е грешка в програмата, която използвате, хардуерен срив или може би неправилна конфигурация. Ако всичко работи добре, но изведнъж възникна повреда, тогава интерфейсът може да се е влошил в резултат на вашите действия. Интерфейсът може да бъде повреден по два начина: чрез изпращане на двоичен файл към терминала и чрез неправилно излизане от приложната програма.
Двоични знаци, изпратени до терминала
Вашият терминал ще промени характеристиките си, ако към него бъдат изпратени някои последователности за изход или контролни знаци. Ако по невнимание се опитате да покажете двоичен файл, той може да съдържа последователности, които могат да поставят терминала ви в някакъв странен режим на работа или дори напълно да го объркат.
Повреда може да възникне и при използване на комуникационна програма, при която отдалечен компютър може да изпрати двоичен файл на вашия екран. Има много други начини, по които това може да се случи. Дори предполагаем ASCII файл може да съдържа нежелани контролни кодове.
За да коригирате този проблем, терминалът се нулира. Може да има ключ, който прави това директно на терминала (може би в режим на настройка), или можете да опитате да напишете или "reset" или "setterm -reset" (въпреки че не можете да видите какво пишете). Това действие ще изпрати низа за нулиране от записа terminfo до терминала.
Грешен изход от програмата
Когато кажете на такова приложение да се прекрати, приложната програма първо възстановява stty настройките до това, което са били преди стартирането на приложната програма. Ако сте излезли неправилнопрограма (може да се случи това, което въвеждате, вече да не се показва на екрана), тогава може да се окажете на командния ред в „прозрачен режим“.
Можете да излезете от прозрачен режим и да възстановите нормалните настройки на stty, като напишете „stty sane“. Въпреки това, трябва да въведете това само след като натиснете "return" и го завършите с "return". Но натискането на клавиша "return" няма ефект, тъй като кодът "return" вече не се превежда в знак за нов ред, което е това, което черупката чака. Така че вместо "return" въведете ^J (знак за нов ред). "разумен" терминален интерфейс може да не е толкова често срещан, но обикновено работи. "stty sane" също може да бъде полезен за излизане от интерфейс, повреден по други причини.
Броят на контролните символи, които можете да въвеждате на клавиатурата, се "улавят" от драйвера на терминала и изпълняват различни задачи. За да видите тези контролни команди, напишете: stty -a и погледнете редове 2-4. Те са обяснени в man stty. Те могат да бъдат променени на различни контролни символи или заключени с помощта на stty. Следователно вашите контролни символи може да са различни от описаните по-долу.
Те се използват за редактиране на командния ред, прекъсване, превъртане и прозрачно предаване на следващия знак.
Редактиране на командния ред
Прекъсване (и изход, спиране, край на файл, промиване)
- ^C прекъсване. Излиза от програмата и ви връща към командния ред.
- ^/ изход. Същото като прекъсване ^C, но по-слабо. Също така изхвърля "главния" файл (който вероятно не ви трябва) във вашата работна директория.
- ^Z спирам. Спира програмата и я поставя на заден план. Въведете fg къмрестартирайте го.
- ^D край на файла. Ако се отпечата в командния ред, излиза от обвивката и се връща в състоянието, в което сте били преди стартирането на обвивката.
- ^O флъш. Не е внедрено в Linux. Изпраща изход към /dev/null.
Ако искате да спрете превъртането от долната част на екрана, можете да изпратите сигнал "стоп" (^S или Xoff) към хоста (ако приемем, че контролът на потока Xon-Xoff е активиран). Изпращането на "сигнал за продължаване" (^Q или Xon) възобновява превъртането. Някои терминали имат клавиш "Без превъртане", който изпраща Xoff и Xon алтернативно. Ако имате хардуерен контрол на потока
- ^S спиране на превъртането (Xoff)
- ^Q продължи извеждането на екрана (Xon)
В компютърната конзола (емулация на терминал) можете да се връщате назад с помощта на Shift-PageUp. Това често е необходимо, тъй като превъртането е твърде бързо, за да се използва ^S. Ако сте превъртали назад, тогава Shift-PageDown ще превърта отново напред.
Прозрачно предаване на следващия знак
^V изпраща следващия символ за печат (обикновено контролен знак) през драйвера на устройството директно, т.е. без никакво действие или интерпретация.
Екранът показва два ASCII знака като ^C.
Настройките на терминала обикновено се задават веднъж, когато терминалът се инсталира, като се използват процедурите за настройка в ръководството на терминала. Някои настройки обаче могат да бъдат променени, докато терминалът се използва. обикновено не давате команди"stty" "setserial", когато се използва терминал, тъй като те вероятно ще разрушат интерфейса на терминала. Има обаче настройки, които можете да направите, за да промените външния вид на екрана на терминала или да промените поведението му, без да нарушавате целостта на интерфейса. Понякога тези промени се правят автоматично от приложни програми, така че може да не е необходимо да се справяте с тях.
Един директен метод за извършване на такива промени е да използвате клавиша set в терминала и след това да използвате менюто или нещо подобно, за да направите промените. За такава операция трябва да знаете терминала.
Другите 3 метода за извършване на промени изпращат последователност за изход от компютъра към терминала. Тези 3 примера демонстрират различни методи за задаване на негативно изображение:
Това е най-лесната команда за използване. Той използва дълги опции (но не ги предхожда с -- ) и се консултира с базата данни terminfo, за да определи кой код да изпрати. можете да промените цвят, яркост, обвиване на редове, повтаряне на клавиатурата, външен вид на курсора и т.н.
Командата "tput" е подобна на "setterm", но вместо да използвате обикновени думи като опции, трябва да използвате съкращенията, използвани от terminfo. Много от съкращенията са много кратки и трудни за запомняне.
В примера "echo ^[[7m", който задава негативно изображение, ^[ е екраниращият знак. За да го въведете, въведете ^V^ [ (или ^V, последвано от клавиша за изход).
За да използвате този метод "ехо", трябва да разберете кой код да използвате от ръководството на вашия терминал или от terminfo или termcap. По-лесно е да използвате setterm или tput, въпреки че ехото ще работи малко по-бързо. Така че можете да използвате ехо. в шел скриптове, които се занимават само сс един тип терминал.
Запазване на промените
Когато изключите терминала, направените от вас промени се губят (освен ако не сте ги запазили в енергонезависимата памет на терминала чрез натискане на някои клавиши на терминала). Ако искате да ги използвате отново, без да се налага да ги въвеждате отново, поставете командите в скрипт или го направете функция на обвивката. След това го изпълнете, когато искате да направите промени. Един от начините да направите промените полупостоянни е да поставите команди във файл, който се изпълнява всеки път, когато влезете или стартирате компютъра.