TTY trên Linux là gì? (và Cách sử dụng lệnh tty)
Cái gì tty
lệnh làm gì? Nó in tên của thiết bị đầu cuối bạn đang sử dụng. TTY là viết tắt của "teletypewriter." Câu chuyện đằng sau tên của lệnh là gì? Điều đó cần giải thích nhiều hơn một chút.
Điện thoại viên từ những năm 1800
Trong những năm 1830 và 1840, những chiếc máy được gọi là máy dịch chuyển xa đã được phát triển. Những máy này có thể gửi các thông điệp đã đánh máy “xuống dây” đến các vị trí xa. Người gửi đã gõ các tin nhắn trên một bàn phím. Chúng được in trên giấy ở đầu nhận. Chúng là một bước tiến hóa trong điện báo, vốn trước đây dựa vào Morse và các mã tương tự.
Thông điệp được mã hóa và truyền đi, sau đó được nhận, giải mã và in. Có một số kỹ thuật được sử dụng để mã hóa và giải mã các thông điệp. Chiếc đồng hồ nổi tiếng nhất, và là một trong những chiếc có nhiều chất lượng nhất, được cấp bằng sáng chế vào năm 1874 bởi Émile Baudot, người được đặt tên là tốc độ baud. Lược đồ mã hóa ký tự của ông có niên đại trước ASCII 89 năm.
Mã hóa của Baudot cuối cùng đã trở thành thứ gần nhất với tiêu chuẩn trong mã hóa máy dịch chuyển xa và nó đã được hầu hết các nhà sản xuất áp dụng. Thiết kế phần cứng ban đầu của Baudot chỉ có năm phím, tương tự như các phím đàn piano. Nhà điều hành được yêu cầu học một tổ hợp phím cụ thể cho mỗi chữ cái. Cuối cùng, hệ thống mã hóa Baudot đã được kết hợp với bố cục bàn phím truyền thống.
Để đánh dấu sự tiến bộ đó, máy móc được đặt tên là máy viết từ xa. Điều này được rút ngắn thành teletypes và cuối cùng là TTY. Vì vậy, đó là nơi chúng ta lấy từ viết tắt TTY, nhưng điện báo có liên quan gì đến máy tính?
ASCII và Telex
Khi ASCII xuất hiện vào năm 1963, nó đã được các nhà sản xuất teletype chấp nhận. Bất chấp sự phát minh và sử dụng rộng rãi của điện thoại, các loại viễn thông vẫn đang phát triển mạnh mẽ.
Telex là một mạng lưới viễn thông toàn cầu cho phép gửi tin nhắn bằng văn bản trên toàn cầu. Chúng là phương tiện chính để truyền các thông điệp bằng văn bản trong giai đoạn sau Thế chiến thứ hai cho đến thời kỳ bùng nổ máy fax của những năm 1980.
Máy tính cũng đang phát triển. Họ đã trở nên có khả năng tương tác với người dùng trong thời gian thực và hỗ trợ nhiều người dùng. Phương pháp làm việc theo lô cũ đã trở nên không đủ. Mọi người không muốn đợi 24 giờ hoặc lâu hơn cho kết quả của họ. Làm chồng thẻ đục lỗ và chờ đợi kết quả qua đêm không còn được chấp nhận.
Mọi người cần một thiết bị cho phép họ nhập hướng dẫn và nhận kết quả gửi lại cho họ. Mọi người muốn hiệu quả.
Teletype được thay thế
Teletype là ứng cử viên hoàn hảo như một thiết bị đầu vào / đầu ra. Rốt cuộc, nó là một thiết bị được thiết kế để cho phép các tin nhắn được đánh máy, mã hóa, gửi, nhận, giải mã và in.
Teletype quan tâm điều gì nếu thiết bị ở đầu kia của kết nối không phải là một teletype khác? Miễn là nó nói cùng một ngôn ngữ mã hóa và có thể nhận tin nhắn và gửi lại tin nhắn, teletype đã rất vui rồi.
Và tất nhiên, nó sử dụng bàn phím tiêu chuẩn ít nhiều.
Loại viễn thông mô phỏng phần cứng
Teletypes đã trở thành phương tiện mặc định để tương tác với các máy tính mini và máy tính lớn lớn của thời đại đó.
Cuối cùng chúng đã được thay thế bằng các thiết bị giả lập những máy cơ điện sử dụng điện tử. Chúng có Ống tia Cathode (CRT) thay vì cuộn giấy. Chúng không rung khi gửi phản hồi từ máy tính. Họ cho phép các chức năng không thể cho đến nay, chẳng hạn như di chuyển con trỏ xung quanh màn hình, xóa màn hình, in đậm văn bản, v.v.
DEC VT05 là một ví dụ ban đầu của loại viễn thông ảo và là tổ tiên của DEC VT100 nổi tiếng. Hàng triệu DEC VT100 đã được bán.
Phần mềm giả lập Teletypes
Trong môi trường máy tính để bàn của Linux và các hệ điều hành giống Unix khác như macOS, cửa sổ đầu cuối và các ứng dụng như x-term và Konsole là những ví dụ về kiểu viễn thông ảo. Nhưng chúng được mô phỏng hoàn toàn trong phần mềm. Chúng được gọi là giả teletypes. Điều này đã được rút ngắn thành PTS.
Và đó là nơi tty
vào đi.
Tty có thể cho chúng tôi biết điều gì?
Trong Linux, có một bộ ghép kênh giả teletype xử lý các kết nối từ tất cả các kiểu giả viễn thông (PTS) của cửa sổ đầu cuối. Bộ ghép kênh là chủ và PTS là nô lệ. Bộ ghép kênh được nhân địa chỉ thông qua tệp thiết bị đặt tại / dev / ptmx.
Các tty
lệnh sẽ in tên của tệp thiết bị mà máy nô lệ giả teletype của bạn đang sử dụng để giao tiếp với tệp chính. Và đó, một cách hiệu quả, là số cửa sổ đầu cuối của bạn.
Hãy xem những gì tty
báo cáo cho cửa sổ đầu cuối của chúng tôi:
tty
Phản hồi cho thấy chúng tôi đã kết nối với tệp thiết bị tại / dev / pts / 0.
Cửa sổ đầu cuối của chúng tôi, là một mô phỏng phần mềm của một loại teletype (TTY), được giao tiếp với bộ ghép kênh giả teletype dưới dạng một kiểu giả teletype (PTS). Và nó tình cờ là số không.
Lựa chọn im lặng
Các -S
nguyên nhân tùy chọn (im lặng) tty
để tạo ra không có đầu ra.
tty -s
Tuy nhiên, nó tạo ra một giá trị thoát:
- 0: nếu đầu vào tiêu chuẩn đến từ thiết bị TTY, giả lập hoặc vật lý.
- 1: nếu đầu vào tiêu chuẩn không đến từ thiết bị TTY.
- 2: Lỗi cú pháp, các tham số dòng lệnh đã được sử dụng không chính xác.
- 3: Đã xảy ra lỗi ghi.
Điều này có thể hữu ích nhất trong kịch bản Bash. Tuy nhiên, ngay cả trên dòng lệnh, chúng tôi có thể trình bày cách thực thi lệnh chỉ khi bạn đang chạy trong cửa sổ đầu cuối (phiên TTY hoặc PTS).
tty -s && echo "Trong thời gian ngắn"
Bởi vì chúng tôi đang chạy trong một phiên TTY, mã thoát của chúng tôi là 0 và lệnh thứ hai được thực thi.
Người chỉ huy
Các lệnh khác có thể tiết lộ số TTY của bạn. Các WHO
lệnh sẽ liệt kê thông tin cho tất cả người dùng đã đăng nhập, bao gồm cả chính bạn.
Alec và Mary được kết nối từ xa với máy tính Linux. Chúng được kết nối với PTS một và hai.
Dave của người dùng được hiển thị là được kết nối với “: 0”.
Điều này thể hiện màn hình và bàn phím được kết nối vật lý với máy tính. Mặc dù màn hình và bàn phím là thiết bị phần cứng, chúng vẫn được kết nối với bộ ghép kênh thông qua một tệp thiết bị. tty
tiết lộ rằng đó là / dev / pts / 2.
WHO
tty
LIÊN QUAN:Cách xác định tài khoản người dùng hiện tại trong Linux
Truy cập một TTY
Bạn có thể truy cập phiên TTY toàn màn hình bằng cách giữ phím Ctrl + Alt và nhấn một trong các phím chức năng.
Ctrl + Alt + F3 sẽ hiển thị lời nhắc đăng nhập của tty3.
Nếu bạn đăng nhập và phát hành tty
lệnh, bạn sẽ thấy bạn đã kết nối với / dev / tty3.
Đây không phải là một kiểu viễn thông giả (giả lập trong phần mềm); nó là một teletype ảo (giả lập trong phần cứng). Nó đang sử dụng màn hình và bàn phím được kết nối với máy tính của bạn, để mô phỏng một loại viễn thông ảo như DEC VT100 đã từng làm.
Bạn có thể sử dụng các phím chức năng Ctrl + Alt với các phím chức năng F3 đến F6 và mở bốn phiên TTY nếu bạn chọn. Ví dụ: bạn có thể đăng nhập vào tty3 và nhấn Ctrl + Alt + F6 để truy cập tty6.
Để quay lại môi trường màn hình đồ họa của bạn, hãy nhấn Ctrl + Alt + F2.
Nhấn Ctrl + Alt + F1 sẽ đưa bạn trở lại lời nhắc đăng nhập của phiên màn hình đồ họa của bạn.
Tại một thời điểm, Ctrl + Alt + F1 đến Ctrl + Alt + F6 sẽ mở bảng điều khiển TTY toàn màn hình và Ctrl + Alt + F7 sẽ đưa bạn trở lại môi trường màn hình đồ họa của bạn. Nếu bạn đang chạy bản phân phối Linux cũ hơn, đây có thể là cách hệ thống của bạn hoạt động.
Điều này đã được thử nghiệm trên hiện hành các bản phát hành của Manjaro, Ubuntu và Fedora và tất cả chúng đều hoạt động như thế này:
- Ctrl + Alt + F1: Đưa bạn trở lại màn hình đăng nhập môi trường máy tính để bàn đồ họa.
- Ctrl + Alt + F2: Đưa bạn trở lại môi trường màn hình đồ họa.
- Ctrl + Alt + F3: Mở TTY 3.
- Ctrl + Alt + F4: Mở TTY 4.
- Ctrl + Alt + F5: Mở TTY 5.
- Ctrl + Alt + F6: Mở TTY 6.
Việc có quyền truy cập vào các bảng điều khiển toàn màn hình này cho phép những người sử dụng cài đặt Linux chỉ bằng dòng lệnh — và nhiều máy chủ Linux được định cấu hình theo cách này — để có nhiều bảng điều khiển khả dụng.
Bạn đã từng làm việc trên máy Linux với môi trường máy tính để bàn đồ họa và có điều gì đó khiến phiên của bạn bị đóng băng? Giờ đây, bạn có thể chuyển sang một trong các phiên bảng điều khiển TTY để có thể cố gắng khắc phục tình hình.
Bạn có thể dùng hàng đầu
và ps
để cố gắng xác định ứng dụng bị lỗi, sau đó sử dụng giết chết
để chấm dứt nó, hoặc chỉ sử dụng tắt
để cố gắng đóng lại một cách duyên dáng khi trạng thái của máy tính sẽ cho phép.
LIÊN QUAN:Làm thế nào để loại bỏ các quy trình từ thiết bị đầu cuối Linux
Ba chữ cái nhỏ với rất nhiều lịch sử
Các tty
Lệnh lấy tên của nó từ một thiết bị từ cuối những năm 1800, xuất hiện trong Unix vào năm 1971, và là một phần của hệ điều hành Linux và Unix cho đến ngày nay.
Chương nhỏ có một câu chuyện khá đằng sau anh ta.