Отличие терминала от консоли линукс

В чем разница между терминалом, эмулятором терминала и консолью?

Началось утро с обсуждения, чем же отличается в Linux консоль от терминала?
Я предположил, что терминал это устройство, которое умеет выводить и считывать символьные значения. Консоль, это уже обёртка над терминалом. Она умеет пользоваться всякими буферами, подсвечивать файлики итп.

Какие у вас есть мнения на этот счет?

Консоль — это совокупность устройств, которые позволяет вам взаимодействовать с устройством.
Раньше консолью мог быть обычный принтер (в принципе и сейчас может), тогда это будет текстовая консоль/терминал. Не надо путать с текстовым интерфейсом.

Терминал — По сути это так же устройство для ввода и вывода информации но
>Консоль, это уже обёртка над терминалом.
В корне не верно.

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

В итоге — консоль, это работа непосредственно с самим устройство,терминал -некая удаленная работа.
В графической среде мы запускаем эмулятор терминала, который дает нам доступ к «консоле» текущий или удаленной машины.

Olej

Если не вдаваться в историю (телетайп как терминал и т.д.) и премудрости терминологии (удалённый RS-232 дисплей как терминал) . что обстоятельно описал Vladimir Zhurkin, то:
— чтобы не путаться, в Linux сложилось так, что текстовой консолью (просто консолью) называют вот те 6 (обычно, но может быть до 63-х) текстовые сессии (экраны), которые вы можете переключать Ctrl+Alt+F2, Ctrl+Alt+F3 и т.д.
— в одной (но может быть и несколько) из таких консолей (обычно Ctrl+Alt+F1 или Ctrl+Alt+F7) запущена сессия графического сервера X Window . то что вы видите как GUI.
— а в этой графической сессии, среди других GUI программ может быть запущены разные программы эмулятров терминала (gnome-terminal и мн. др.)
— вот эти окна или вкладки эмулятров терминала можете называть терминал . если не блюсти в тщательности терминологическую девственность 😉 . потому что нет других терминалов в современном Linux
— наконец, в серверном Linux может вообще не быть графики (X Window), а значит и терминалов, но там всегда и обязательно может быть до 63 текстовых консолей.

Читайте также:  Утилиты резервное копирование linux

Можно было бы вообще консоль (текстовую) и терминал (графический) употреблять как синонимы, в пользовательском смысле (какая вам разница? 😉 ) . если бы не некоторые тонкие различия:
— многие (но не все) сообщения ядра и модулей ядра Linux отображаются в текстовой консоли, но не отображаются в эмуляторе терминала;
— текстовая консоль и эмулятор терминала совершенно по-разному руссифицируются: что во 2-м выглядит как текст, в 1-м может быть как . кракозябры;
— если из модулей ядра Linux выбросить русскоязычное сообщение даже на корректно руссифицированную консоль . то опять же — кракозябры;

P.S. Хотя, вот исторический парадокс! — все текстовые программы, кторые в 99.9. % случаев запускаются в графическом терминале, называются консольные приложения. И даже в системах Windows, где вообще «на дух» нет текстовой консоли — всё-равно консольные приложения.

>наконец, в серверном Linux может вообще не быть графики (X Window), а значит и терминалов, но там всегда и обязательно может быть до 63 текстовых консолей.

Тут вы не правы. Консоль, может выступать как терминал 🙂
Для этого надо использовать rlogin, telnet, ssh .
Консоль может использовать framebuffer и она уже не будет текстовая.
(на мой взгляд, очень зря забросили идею фреймбуфера)
Консоль может быть через COM(Serial) порт и это будет именно консоль.
И да,та консоль о который мы говорим — /dev/tty1 по /dev/tty63 — это виртуальная консоль 😀
Это дает нам иллюзию нескольких консолей. Да и именно они управляются с клавиатуры.
У нас там еще есть /dev/vcs (Virtual Console Screen) , /dev/vcsa1 (Virtual Console Screen with Attributes ), /dev/ttyS0 (Serial)

Ну а все ноги и стандарты растут с VT100 , который стал стандартом по эмуляции терминалов.
https://en.wikipedia.org/wiki/VT100

>Можно было бы вообще консоль (текстовую) и терминал (графический) употреблять как синонимы, в пользовательском смысле (какая вам разница? 😉

Разница в том, что это в корне не верно.
Еще раз — консоль — это то, куда мы имеем доступ напрямую к машине. Например вы подошли физически к серверу и получили к нему прямой доступ, через виртуальную консоль или serial.

Терминал — это удаленный доступ. Не важно какой, графический или текстовый.

>- многие (но не все) сообщения ядра и модулей ядра Linux отображаются в текстовой консоли, но не отображаются в эмуляторе терминала;
Не совсем верно, хотя почти правда.
1) это актуально больше для логов, когда делают перенаправление для ошибок в первую или шестую консоль. Мир с тех пор изменился и от такой практике отказались, так как все выполняется удаленно.
2) через терминал, можно получить доступ к консоли. SSH позволяет это организовать.
Первое, что приходит людям в голову это screen и tmux, но у ssh есть опция -t которая ТАДА !
ssh -t (open a pseudo tty) run commands on a remote server
Example ssh -t [user]@[remote-server] vim [file]

Читайте также:  Astra linux установка windows второй системой

>- текстовая консоль и эмулятор терминала совершенно по-разному руссифицируются: что во 2-м выглядит как текст, в 1-м может быть как . кракозябры;
Не верно. Это всего лишь означает, что у вас неправильно сконфигурирован терминал или он по каким-то причинам неправильно понимает настройки или передает не те настройки.
Это хорошо будит видно, если вы захотите использовать в консоли 256 цветов и правильное отображение в терминале.

> если из модулей ядра Linux выбросить русскоязычное сообщение даже на корректно руссифицированную консоль . то опять же — кракозябры;

Это все определяется стандартом VT100, понятное дело,что в те далекие времена не кто не думал о UTF8 и вообще о РФ. Поэтому ANSI цветет и пахнет.

Для большой наглядности, так как писать немного лень,да и время нет. Тут на один выпуск передачи хватит рассказывать.

Источник

Чем отличаются друг от друга консоль и терминал?

60075e9fd5a3d449911373.png

Тут как бы все понятно, консолью может быть и микрофон, и клавиатура, и мышь, и. командная строка.
То есть по своей сути командная строка является консолью. НО почему тогда в Линуксе командные строки принято называть терминалами? Вот фото как пример.

Да и сам терминал вроде как предназначен для удаленной работы с компьютером (судя по информации в интернете). Как командная строка может быть одновременно и консолью и терминалом?

Хотелось бы как-то определиться уже с терминологией)))

DevMan

если не пускаться в историю, отвечать в контексте вопроса и упрощённо:
консоль — командная строка.
терминал — программа, предоставляющая доступ к командной строке.

CityCat4

Артефакт, доставшийся в наследство от «больших» ЭВМ, где консоль — операторское устройство, с которой машина загружалась (это мог быть терминал общего вида, специализированный терминал или даже печатная машинка). В процессе загрузки работала только консоль, все остальные устройства (а у «большой» ЭВМ едрить сколько периферии!) — не работали.
А терминал — это общее название устройства, состоявшего из клавы и монитора (а специализированный — это некий гибрид клавы, монитора и магнитофона для загрузки микропрограмм).
Сейчас, как правило, консолью называют либо клаву и монитор компа, подключенные к системнику, либо виртуальную консоль ВМ, на которой отображается процесс загрузки, а терминалом — любую консольную программу, подключенную удаленно к данному компу. Разница все так же — с консоли ты можешь управлять загрузкой машины, а с терминала нет (ты можешь ее перегрузить, но процесс загрузки виден только на консоли)

Читайте также:  Linux задать ip address

Источник

What is the difference between shell, console, and terminal?

iTerm2, terminal, Hyper are terminals. Zsh (z-shell), bash (Bourne again shell) are shells. It all makes sense now, its in their names! Personally Im not going to bother with console.

6 Answers 6

In the linux world they can all look the same from the point of view of the user at the keyboard. The differences are in how they interact with each other.

The shell is the program which actually processes commands and returns output. Most shells also manage foreground and background processes, command history and command line editing. These features (and many more) are standard in bash , the most common shell in modern linux systems.

A terminal refers to a wrapper program which runs a shell. Decades ago, this was a physical device consisting of little more than a monitor and keyboard. As unix/linux systems added better multiprocessing and windowing systems, this terminal concept was abstracted into software. Now you have programs such as Gnome Terminal which launches a window in a Gnome windowing environment which will run a shell into which you can enter commands.

The console is a special sort of terminal. Historically, the console was a single keyboard and monitor plugged into a dedicated serial console port on a computer used for direct communication at a low level with the operating system. Modern linux systems provide virtual consoles. These are accessed through key combinations (e.g. Alt + F1 or Ctrl + Alt + F1 ; the function key numbers different consoles) which are handled at low levels of the linux operating system — this means that there is no special service which needs to be installed and configured to run. Interacting with the console is also done using a shell program.

Источник

Оцените статью
Adblock
detector