Tại sao chúng ta cần rất nhiều gói giả lập thiết bị đầu cuối và công dụng của chúng là gì?


8

Đây là một cái gì đó đã rất khó hiểu với tôi trong một thời gian dài.
Tôi đang sử dụng Linux nhưng tôi có những lỗ hổng trong sự hiểu biết về các khía cạnh nhất định và một là về thiết bị đầu cuối.
Như tôi đã hiểu, ý nghĩa của chúng tôi với giao diện điều khiển là trình giả lập các thiết bị đầu cuối cũ.
Nhưng tôi không thể hiểu thỏa thuận này là gì.
Khi tôi đọc các thiết bị đầu cuối cũ tốt nhất là loạt VT và loại đồ họa vector (Tektronix).
Vì vậy, tôi giả định rằng các trình giả lập hiện tại mô phỏng những điều này.
Bây giờ nhu cầu của tôi về Linux liên quan đến việc trình bày hiển thị đã đạt đến mức sử dụng màu sắc cho vim và đánh giá cao màu sắc khi thực hiện tìm khác biệt trong các tệp.
Nhưng khi tôi gặp vấn đề, tôi thường tìm lời khuyên để đặt xterm-256hoặc screen-256vv
Ngoài ra khi tôi làm:ls /lib/terminfo/ Tôi thấy khoảng một tá các thư mục có cấu hình cho (tôi giả sử) các loại trình giả lập khác nhau.

Vì vậy, câu hỏi của tôi là, làm thế nào những điều này xterm-256hoặc screen-256phần còn lại phù hợp với ý tưởng mô phỏng chỉ các thiết bị đầu cuối hàng đầu trong những thập kỷ qua?
Sự cần thiết phải có nhiều loại thiết bị đầu cuối là gì? Nó có phải là một cái gì đó tôi nên xem xét thêm?
Và tại sao ngày nay với công nghệ hiện đại cần phải mô phỏng các thiết bị đầu cuối cũ như VT và không có cái gì mới?

Có lẽ nhu cầu của tôi quá đơn giản quá đánh giá cao sự tinh tế của điều này nhưng nó đã là một cái gì đó làm tôi bối rối rất nhiều. Ví dụ, nếu tôi gặp vấn đề với colorcheme, tôi chỉ sao chép dán những gì tôi tìm thấy trong google về TERM vv mà không thực sự hiểu tôi đang làm gì hoặc vấn đề là gì.

Nếu ai đó giúp tôi đảm nhận điều này, nó sẽ thực sự được đánh giá cao


2
Nhận xét tiếp theo: thiết lập $ screentmux
TATE

@jasonwryan: Trong bất kỳ vấn đề hiển thị nào, tất cả các bài đăng đều đề cập đến việc chuyển sang HẠN điều này hoặc điều này và điều này làm cho sự nhầm lẫn của tôi trở nên tồi tệ hơn
Jim

Hãy để terminfo db thực hiện công việc của nó; cách giải quyết như đặt giá trị hạn .bashrclà tốt nhất che giấu một vấn đề tiềm ẩn và chỉ có khả năng gây ra thêm vấn đề.
jasonwryan

Ý tưởng không chỉ là hỗ trợ các thiết bị đầu cuối hàng đầu từ nhiều thập kỷ trước mà còn hỗ trợ khá nhiều thiết bị đầu cuối có thể có. Terminfos không được tạo ra một cách toàn diện để được sử dụng trên các hệ thống Linux nhưng có lịch sử lâu hơn.
Sami Laine

@SamiLaine: to support pretty much any terminal there might be..Nhưng tại sao? Tại sao chúng ta muốn mô phỏng một thiết bị đầu cuối từ những năm 70 hoặc 80 mà không có đồ họa hoặc màn hình màu xanh lá cây?
Jim

Câu trả lời:


9

Các khía cạnh kỳ lạ của Unix thường tồn tại vì lý do chính đáng, vì vậy bạn có quyền tìm kiếm một. Tuy nhiên, trong trường hợp này, lý do chính đáng từ lâu đã trở nên lỗi thời và bạn đang nhìn vào một cổ vật của thời đại đã qua.

Chỉ có "thiết bị đầu cuối" duy nhất tồn tại ngày nay xterm & các biến thể. Khả năng của họ thay đổi rất ít, theo những cách chỉ quan trọng đối với một vài chương trình. Nếu bạn chỉ sử dụng xterm và không bao giờ chạm vào biến TERM hoặc xem lén cơ sở dữ liệu terminfo, cuộc sống của bạn nhìn chung sẽ tốt hơn.

Biến TERM truyền thông tin về thiết bị đầu cuối đến ứng dụng thông qua môi trường, xem người đàn ông xterm . Thay đổi nó không thay đổi thiết bị đầu cuối ; nó chỉ đại diện cho chức năng thiết bị đầu cuối khác nhau cho ứng dụng.

Trong thời của các thiết bị đầu cuối cứng, cần phải đặt TERM để đại diện cho thiết bị đầu cuối đính kèm. Trong trường hợp của xterm, phần mềm có thể tự đặt biến. Một chuyến tham quan nhanh các tài liệu vim cho thấy (như bạn đề cập trong bình luận của bạn) rằng bạn phải thay đổi nó để hỗ trợ màu sắc. Đó là sự tiến bộ cho bạn.

Tại sao ngày nay ... mô phỏng các thiết bị đầu cuối cũ như VT và không có cái gì mới?

Câu trả lời là nhân học nhiều như kỹ thuật.

Trước GUI, quyền truy cập vào các máy Unix thông qua các thiết bị đầu cuối câm, ví dụ VT-100. Vỏ và tiện ích như hàng đầu đã tồn tại. Khi GUI trở nên thiết thực về mặt công nghệ (trong đó X đóng vai trò) vào những năm 1980, người dùng Unix vẫn cần sử dụng các chương trình đó, vì vậy xterm đã được phát minh để mô phỏng VT-100 của bạn.

Nó có nghĩa là một điểm dừng chân. "Mọi người đều biết" rằng các thiết bị đầu cuối là quá khứ và GUI là tương lai và mọi người đều mong đợi "mọi thứ" sẽ được truy cập thông qua GUI. Macintosh ban đầu, chẳng hạn, không có phím mũi tên vì tại sao bạn lại cần chúng ? Chắc chắn là dòng lệnh Unix khó hiểu, với các nguyên âm bị thiếu và trợ giúp bất lực

$ help
help: not found

sẽ sớm đi theo con đường của bộ nhớ trống và thẻ đục lỗ. Và điều đó đã đi qua, theo một cách nào đó: 9 người dùng trong 10 người chạy Windows hoặc OS X không bao giờ thấy dòng lệnh ngoại trừ khi hỗ trợ kỹ thuật giảm xuống để khắc phục điều gì đó.

Sau đó, hai điều đã xảy ra với GUI Unix, như vậy. Windows đặc biệt rút tiền ra khỏi thị trường. Có một động thái lớn để chuẩn hóa nó (xem Sun News và OSF Motif), và sau đó nó dừng lại vào khoảng năm 1990. Ngay lúc đó Internet đã tắt, và những thứ đồ họa trong Unix đã chuyển sang trình duyệt web. Động lực và tiền bạc (khá giống nhau) để thiết kế một GUI hoàn chỉnh cho Unix và khiến mọi thứ trong phần 8 của bản hướng dẫn lỗi thời biến mất.

Cũng có một lý do khác, đó là rất ít thấy trước: dòng lệnh có những lợi thế nhất định so với GUI. Đường ống và các biểu thức thông thường có sức mạnh đáng kể, chưa kể có thể lặp lại với lịch sử vỏ và tập lệnh. Ngay cả trong bối cảnh của GUI, dòng lệnh vẫn hữu ích . Nhiều đến mức nó tiếp tục được tăng cường ngay cả ngày hôm nay.

Như câu hỏi của bạn cho thấy, điều cần thiết là kiểm tra lại giả định rằng GUI sẽ chiến thắng và tái phát minh thiết bị đầu cuối như một phần không thể thiếu của nó. Chúng ta cần một thiết bị đầu cuối mới, với phông chữ tỷ lệ và đồ họa địa chỉ bit trong thiết bị đầu cuối .

Thật không may, dường như không ai sẵn sàng để làm điều đó. Không có thực thể công ty sẽ thực hiện nó; thị trường là rất lớn, nhưng vẫn chỉ là một tỷ lệ nhỏ người dùng máy tính. Nhà tài trợ logic sẽ là một cơ quan chính phủ như DARPA, nhưng nghiên cứu giao diện người được coi là "hoàn thành" những ngày này (chúng ta đã không phát minh ra GUI chưa?). Cho đến khi có nhiều người hơn - nhiều người hơn - nhận ra nhu cầu, xterm là bạn của bạn và cũng có khả năng là bạn của cháu trai bạn.


"" Mọi người đều biết "rằng các thiết bị đầu cuối là quá khứ và GUI là tương lai và mọi người đều mong đợi" mọi thứ "sẽ được truy cập thông qua GUI." Cần dẫn nguồn.
Faheem Mitha

+ 1.Nice answer. Bạn lưu ý: 1) If you just use xterm, and never touch the TERM...Làm thế nào điều này có thể xảy ra? Bất kỳ màu sắc nào cho vim đều yêu cầu cấu hình như vậy. Đã thêm khi sử dụng nó trong bộ ghép kênh. Vì vậy, tôi không chắc làm thế nào tôi có thể được giáo dục đủ để tôi hiểu những thay đổi cấu hình cần thiết cho từng vấn đề? 2) ... today is xterm & variantsThế còn screen-*? Nó là một phần của các biến thể? Bộ chính xác mà người dùng cần biết là gì? 3) Nếu tôi hiểu chính xác, họ thấy đơn giản hơn là hỗ trợ thông qua trình giả lập tất cả các thiết bị đầu cuối tồn tại hơn là xây dựng một cái gì đó từ đầu? ->
Jim

Đó là (không tạo ra một cái gì đó mới và hỗ trợ tất cả các thiết bị đầu cuối hiện tại) rất kỳ lạ đối với tôi
Jim

Cảm ơn các cập nhật. Một câu hỏi cuối cùng: Bạn đề cập: The TERM variable communicates information about the terminal...Changing it doesn't change the terminal;Tôi không thực sự hiểu điểm này. Ý tôi là nếu TERMkhông thay đổi thiết bị đầu cuối, thì cái gì tạo thành thiết bị đầu cuối và làm thế nào để linux biết db sử dụng thuật ngữ nào?
Jim

Nội dung của TERMbiến, thực sự, được sử dụng như một chỉ mục vào cơ sở dữ liệu terminfo. Khi bạn thay đổi nó, bạn đang thay đổi giá trị của biến môi trường trong quy trình shell mà xterm đang lưu trữ . Vỏ đó có thể nằm trên một máy khác : xterm -e 'ssh _machine_name_'. Đó không phải là giá trị xterm nhìn thấy và do đó không ảnh hưởng đến hành vi của xterm theo bất kỳ cách nào. Thật khó hiểu vì xterm đặt biến TERM (có lợi cho bạn) phản ánh cấu hình của nó (thử xterm -t), đồng thời vim yêu cầu bạn phải tự đặt nó.
James K. Lowden
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.