Là thiết bị đầu cuối và vỏ giống nhau?


29

Tôi biết điều này nghe có vẻ ngu ngốc nhưng tôi chỉ muốn biết liệu thực sự có sự khác biệt giữa hai từ được sử dụng trong thế giới Linux hay không. Tôi biết rằng Shell là Giao diện dòng lệnh và có nhiều biến thể như Bash, Korn, v.v. Và tôi cũng biết rằng Ctrl + Alt + T khởi chạy một thiết bị đầu cuối trên Ubuntu. Tôi chỉ muốn kết nối hai dấu chấm này.

Có nghĩa là thiết bị đầu cuối là cửa sổ mở ra và shell là chương trình chạy phía sau để diễn giải các lệnh được gõ trong cửa sổ? Hoặc chúng giống nhau trong đó thiết bị đầu cuối là một thuật ngữ chung được sử dụng để trừu tượng hóa các khái niệm của Shell, v.v.?

Cái gì phân biệt chính xác hai từ này?

Câu trả lời:


30

Trình giả lập thiết bị đầu cuối (thường chỉ được gọi là thiết bị đầu cuối) là "chỉ là cửa sổ", vâng. Nó chạy một chương trình dựa trên văn bản, theo mặc định là vỏ đăng nhập của bạn (được bash trong Ubuntu). Khi bạn nhập các ký tự trong cửa sổ, thiết bị đầu cuối sẽ vẽ các ký tự này trong cửa sổ ngoài việc gửi nó tới stdin của shell (hoặc chương trình khác). Các ký tự mà shell xuất ra stdout và stderr được gửi đến terminal, từ đó rút ra các ký tự này trong cửa sổ.

Vì vậy, có, trình bao và trình giả lập thiết bị đầu cuối là các chương trình hoàn toàn riêng biệt và có thể được sử dụng mà không cần chương trình khác.


2
Làm thế nào bạn có thể sử dụng shell mà không cần thiết bị đầu cuối?
Koray Tugay

5
@KorayTugay, khi bạn chạy tập lệnh shell từ cron hoặc thông qua trình khởi chạy trên máy tính để bàn (nơi bạn chưa kiểm tra "chạy trong thiết bị đầu cuối"), bạn đang sử dụng trình bao không có thiết bị đầu cuối.
geirha


6

Có, trình giả lập thiết bị đầu cuối và trình bao là hai chương trình khác nhau. Như bạn đã biết, một ví dụ về sự khác biệt là việc khởi chạy một cửa sổ đầu cuối có thể chạy các shell khác nhau tùy thuộc vào những gì bạn đã cấu hình (bash, tcsh, ksh, ash, thậm chí là python!).

Một điểm khác biệt nữa là có nhiều trình giả lập thiết bị đầu cuối hơn là mặc định: gnome-terminal, một số loại xterm, konsole (cho KDE), v.v. (xem: http://www.howtogeek.com/howto/ub Ubuntu / set- the-default-terminal-giả lập-trên-ubfox-linux / ). Bất kỳ shell nào cũng có thể chạy trong bất kỳ trình giả lập thiết bị đầu cuối nào, mà không gặp nhiều khó khăn.

Một điểm khác biệt thứ ba là, ngoài việc chạy các lệnh shell, bạn cũng có thể khởi động một số ứng dụng tương tác nhất định trong trình giả lập thiết bị đầu cuối của mình và chúng sẽ chạy trong cùng một cửa sổ (và vẫn dựa vào cùng một chương trình giả lập thiết bị đầu cuối để xử lý đồ họa thực tế), chẳng hạn như trình soạn thảo văn bản vim, RPG nethack và những người khác. Nếu bạn muốn, bạn có thể thiết lập một cấu hình trong trình giả lập thiết bị đầu cuối của mình để bắt đầu nethack, giả sử, khi bạn mở một tab mới; không có shell liên quan, nhưng trình giả lập thiết bị đầu cuối vẫn là chương trình tương tự.

Một điểm khác biệt thứ tư là bạn có thể thực hiện đăng nhập từ xa, sử dụng chương trình như ssh, từ bên trong cửa sổ terminal. Trong trường hợp này, trình bao của bạn (hoặc bất kỳ chương trình nào bạn chạy từ xa) đang chạy trên một máy tính khác và chương trình ssh kết nối nó với chương trình giả lập thiết bị đầu cuối cục bộ chạy trên máy xử lý đồ họa của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.