Терминал Vs. Shell [дубликат]

14

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

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

Никлас Олсен
источник

Ответы:

15

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

user55325
источник
8

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

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

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

Роланд Иллиг
источник
1

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

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

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

SiegeX
источник
-2

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

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

digitxp
источник
Терминал - это не какая-то оболочка.
Игнасио Васкес-Абрамс
@ Денис Уход, чтобы уточнить?
digitxp
Смотрите комментарий Игнасио. Терминал, будь то системная консоль или gnome-terminal, xtermили шпатлевки больше похоже на физический терминал (и является , таким образом эмулятор ). Оболочка представляет собой часть программного обеспечения , которое, помимо прочего, принимает входные данные , выполняет обработку, и выводит на терминал.
Приостановлено до дальнейшего уведомления.
@Dennis Так что я должен сказать это "Терминал по сути содержит эмулированную оболочку в графическом окне."?
digitxp
Терминал не обязательно является графическим окном, и в нем не обязательно работает оболочка. И оболочка не эмулируется (это может быть какая-то другая программа). То, что вы спрашиваете, по сути совпадает с вашим оригиналом. Смотрите ответ здесь, который очень близок к завершенности и довольно точен.
Приостановлено до дальнейшего уведомления.