Terminal vs. Shell [duplikat]

14

Możliwa duplikat:
Jakie są różnice między powłoką, konsolą i terminalem?

To prawdopodobnie brzmi jak głupie pytanie, ale mam wiele problemów z wyraźnym rozróżnieniem powłoki (takiej jak Bourne lub bash) i aplikacji Terminal w GNOME. Zdaję sobie sprawę, że oba są całkowicie różne, ale nie mogę znaleźć jasnej odpowiedzi zapisanej w tekście. Czy ktoś mógłby wyraźnie rozróżnić jedno i drugie?

Nicklas Olsen
źródło

Odpowiedzi:

15

Program terminalowy jest tylko graficznym interfejsem do powłoki. Powłoka jest tym, co faktycznie obsługuje polecenia i tak dalej; program terminalowy pozwala po prostu na interakcję ze środowiskiem graficznym.

użytkownik55325
źródło
8

Powłoka jest typowym programem uniksowym. Odczytuje polecenia ze standardowego wejścia i drukuje coś na standardowym wyjściu. To jest proste i dobre.

Chodzi o to: w środowisku graficznym (takim jak GNOME lub KDE) program nie może po prostu pisać tekstu bezpośrednio na pulpicie. Gdyby programy mogły, szybko stałby się chaosem i chaosem. Dlatego potrzebujesz programu, który zapewnia przestrzeń, w której inne programy mogą pisać swój tekst. Ten program akceptuje także naciśnięcia klawiszy od użytkownika i konwertuje je na sekwencje bajtów, ponieważ tego oczekuje wiele programów (wiersza polecenia, tekstu, a nie GUI). Wszystko to jest zadaniem aplikacji GNOME Terminal.

Masz więc powłokę (prawdopodobnie bash), a owinięty jest terminal GNOME. Aby zobaczyć, czym dokładnie jest terminal GNOME, możesz uruchomić (Alt + F2) gnome-terminal, xterma rxvtpomiędzy nimi i zobaczyć, gdzie się różnią i co mają ze sobą wspólnego.

Roland Illig
źródło
1

Myślę, że tak naprawdę pytasz, jaka jest różnica między konsolą a aplikacją terminalowąxterm ?

Jeśli tak, konsola jest lokalna dla komputera, może być tylko jedna konsola. Wyjście konsoli jest kierowane, /dev/consoleco zwykle oznacza monitor. Z drugiej strony terminal jest tak naprawdę emulatorem terminala, który nawiązuje do czasów, gdy komputery mainframe były tak duże jak całe pokoje, a użytkownicy mieli interakcje z głupimi terminalami odległymi od komputera mainframe. Terminale wysyłałyby polecenia terminala przez linię szeregową do komputera mainframe w celu interakcji z nim. Teraz dni nadal używamy terminali, ale są one emulowane, więc możemy użyć więcej niż jednego (każdy powiązany z pseudo-tty jak /dev/pts#), a nawet możemy używać ich zdalnie i przekazywać ich połączenie za pośrednictwem szyfrowanego kanału SSH przez Internet.

Zarówno konsola, jak i aplikacja terminalowa wywołują twoje powłoki po zalogowaniu.

SiegeX
źródło
-2

Terminal jest zasadniczo emulowaną powłoką w oknie.

Jeśli chcesz zobaczyć prawdziwą powłokę bez terminalu, naciśnij Ctrl+ Alt+ F1i Ctrl+ Alt+, F8aby wrócić do interfejsu graficznego.

digitxp
źródło
Terminal nie jest żadną powłoką.
Ignacio Vazquez-Abrams
@Dennis Chcesz opracować?
digitxp
Zobacz komentarz Ignacio. Terminal, bez względu na to, czy jest to konsola systemowa gnome-terminal, xtermczy PuTTY, bardziej przypomina terminal fizyczny (i dlatego jest emulatorem ). Powłoka jest kawałek oprogramowania, które, między innymi, można wprowadzać, czy przetwarzanie i wyjścia na terminalu.
Wstrzymano do odwołania.
@Dennis Więc powinienem powiedzieć: „Terminal zawiera emulowaną powłokę w oknie graficznym”.
digitxp 10.01.11
Terminal niekoniecznie jest graficznym oknem, a powłoka niekoniecznie jest w nim uruchomiona. Powłoka nie jest emulowana (może to być jakiś inny program). To, o co pytasz, jest zasadniczo takie samo jak oryginał. Zobacz odpowiedź tutaj, która jest bardzo bliska ukończenia i jest dość precyzyjna.
Wstrzymano do odwołania.