13

Возможный дубликат:
Каковы различия между оболочкой, консолью и терминалом?

Возможно, это звучит глупо, но у меня много проблем с четким разграничением между оболочкой (такой как Bourne или bash) и приложением Terminal в GNOME. Я понимаю, что оба совершенно разные, но я не могу найти четкого ответа, написанного в тексте. Может ли кто-нибудь четко различать оба?

4 ответа4

14

Терминальная программа - это просто графический интерфейс к оболочке. Оболочка - это то, что на самом деле обрабатывает команды и так далее; Терминальная программа просто дает ему возможность взаимодействовать с графической средой.

8

Оболочка является типичной Unix-программой. Он читает команды со стандартного ввода и печатает что-то на стандартном выводе. Это просто и хорошо.

Суть в том, что: в графической среде (например, GNOME или KDE) программа не может просто писать текст прямо на рабочем столе. Если бы программы могли, это быстро превратилось бы в беспорядок и хаос. Поэтому вам нужна программа, которая предоставляет пространство, где другие программы могут писать свой текст. Эта программа также принимает нажатия клавиш от пользователя и преобразует их в последовательности байтов, поскольку именно этого ожидают многие программы (командная строка, текстовая, а не GUI). Все это работа приложения терминала GNOME.

Итак, у вас есть оболочка (вероятно, bash), и вокруг нее находится терминал GNOME. Чтобы увидеть, что именно делает терминал GNOME, вы можете запустить (Alt+F2) gnome-terminal , xterm и rxvt между ними и увидеть, чем они отличаются и что у них общего.

1

Я думаю, что вы действительно спрашиваете, в чем разница между консолью и терминальным приложением, таким как xterm?

Если это так, консоль является локальной для машины, может быть только одна консоль. Вывод консоли направляется в /dev/console что обычно означает ваш монитор. С другой стороны, терминал - это действительно эмулятор терминала, который восходит к тем временам, когда мэйнфреймы были такими же большими, как целые комнаты, и пользователи могли взаимодействовать с тупыми терминалами, которые были удалены от мэйнфрейма. Терминалы будут отправлять команды терминала по последовательной линии на мэйнфрейм для взаимодействия с ним. В наши дни мы по-прежнему используем терминалы, но они эмулируются, поэтому мы можем использовать более одного (каждый из которых связан с псевдотетой, как /dev/pts#), и мы можем даже использовать их удаленно и переадресовывать их соединение по зашифрованному каналу SSH. по интернету.

Как консольное, так и терминальное приложение вызывают ваши оболочки при входе в систему.

-2

Терминал по сути является эмулированной оболочкой в окне.

Если вы хотите увидеть настоящую оболочку без терминала, нажмите Ctrl+Alt+F1 и Ctrl+Alt+F8, чтобы вернуться к графическому интерфейсу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .