Чи однакові термінал і оболонка?


29

Я знаю, що це може здатися нерозумним, але я просто хотів дізнатися, чи дійсно є різниця між двома словами, які використовуються в світі Linux. Я знаю, що оболонка є інтерфейсом командного рядка і має багато варіантів, таких як Bash, Korn тощо. І я також знаю, що Ctrl + Alt + T запускає термінал на Ubuntu. Я просто хочу з'єднати ці дві крапки.

Чи означає це, що термінал - це вікно, яке відкривається, а оболонка - це програма, яка працює за інтерпретацією команд, введених у вікні? Або вони такі самі, де термінал є загальним терміном, який використовується для абстрагування понять Shell тощо?

Що саме відрізняє два слова?

Відповіді:


30

Емулятор терміналу (його часто називають терміналом) - це "просто вікно", так. Він запускає текстову програму, яка за замовчуванням є вашою вхідною оболонкою (яка є bash в Ubuntu). Коли ви вводите символи у вікні, термінал малює ці символи у вікні, а також надсилає їх до stdin оболонки (або іншої програми). Символи, які оболонка виводить у stdout та stderr, надсилаються до терміналу, який у свою чергу малює ці символи у вікні.

Так, так, оболонка та емулятор терміналу - це повністю окремі програми, і їх можна використовувати без іншої.


2
Як можна використовувати оболонку без терміналу?
Корай Тугай

5
@KorayTugay, коли ви запускаєте скрипт оболонки з cron або через запуск робочого столу (де ви не встановили прапорець "run in terminal"), ви використовуєте оболонку без терміналу.
geirha


6

Так, емулятор терміналу і оболонка - це дві різні програми. Як вам відомо, один приклад різниці полягає в тому, що запуск вікна терміналу може запускати різні оболонки залежно від того, що ви налаштували (bash, tcsh, ksh, ash, навіть python!).

Ще одна відмінність полягає в тому, що є більше термінальних емуляторів, ніж просто типові: gnome-terminal, кілька різновидів xterm, konsole (для KDE) тощо (див. Http://www.howtogeek.com/howto/ubuntu/set- типовий термінал-емулятор-на-ubuntu-linux / ). Будь-яка оболонка може без особливих труднощів працювати в будь-якому з цих термінальних емуляторів.

Третя відмінність полягає в тому, що, крім запуску команд оболонки, ви також можете запускати певні інтерактивні програми у своєму емуляторі терміналу, і вони працюватимуть у тому самому вікні (і досі покладаються на ту саму програму термінального емулятора для обробки фактичної графіки), наприклад редактор тексту vim, nethack RPG та інші. Якщо ви хочете, ви можете налаштувати профіль у своєму емуляторі терміналу, щоб запустити nethack, скажімо, автоматично, коли ви відкрили нову вкладку; жодна оболонка не задіяна, але термінальний емулятор - це все та сама програма.

Четверта відмінність полягає в тому, що ви можете виконувати віддалені входи в систему, наприклад, ssh, зсередини вікна терміналу. У цьому випадку ваша оболонка (або будь-яка програма, яку ви запускаєте віддалено) працює на іншому комп’ютері, і програма ssh підключає її до локальної програми емулятора терміналів, що працює на вашій машині, яка обробляє графіку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.