Tại sao có nhiều thiết bị đầu cuối ảo?


11

Tôi đã đọc cuốn sách Lập trình Linux nâng cao và nó đề cập đến các thiết bị đầu cuối ảo, nếu tôi hiểu chính xác, đó là một tính năng dành riêng cho Linux (không phải trong Unix) để cho phép nhiều bảng điều khiển đăng nhập trong hệ thống không phải X11. Bạn tạo các thiết bị đầu cuối ảo bằng cách nhấn ALT-F2. Tôi đang chạy Linux Mint và trong thư mục / dev của tôi mặc dù tôi thấy nhiều thiết bị tty và tôi không biết chúng dùng để làm gì. Đây là đầu ra grepping:

crw-rw-rw-  1 root tty       5,   0 Jan  2 19:45 tty
crw--w----  1 root tty       4,   0 Jan  2 19:10 tty0
crw-rw----  1 root tty       4,   1 Jan  2 19:10 tty1
crw--w----  1 root tty       4,  10 Jan  2 19:10 tty10
crw--w----  1 root tty       4,  11 Jan  2 19:10 tty11
crw--w----  1 root tty       4,  12 Jan  2 19:10 tty12
crw--w----  1 root tty       4,  13 Jan  2 19:10 tty13
crw--w----  1 root tty       4,  14 Jan  2 19:10 tty14
crw--w----  1 root tty       4,  15 Jan  2 19:10 tty15
crw--w----  1 root tty       4,  16 Jan  2 19:10 tty16
crw--w----  1 root tty       4,  17 Jan  2 19:10 tty17
crw--w----  1 root tty       4,  18 Jan  2 19:10 tty18
crw--w----  1 root tty       4,  19 Jan  2 19:10 tty19
crw-rw----  1 root tty       4,   2 Jan  2 19:10 tty2
crw--w----  1 root tty       4,  20 Jan  2 19:10 tty20
crw--w----  1 root tty       4,  21 Jan  2 19:10 tty21
crw--w----  1 root tty       4,  22 Jan  2 19:10 tty22
crw--w----  1 root tty       4,  23 Jan  2 19:10 tty23
crw--w----  1 root tty       4,  24 Jan  2 19:10 tty24
crw--w----  1 root tty       4,  25 Jan  2 19:10 tty25
crw--w----  1 root tty       4,  26 Jan  2 19:10 tty26
crw--w----  1 root tty       4,  27 Jan  2 19:10 tty27
crw--w----  1 root tty       4,  28 Jan  2 19:10 tty28
crw--w----  1 root tty       4,  29 Jan  2 19:10 tty29
crw-rw----  1 root tty       4,   3 Jan  2 19:10 tty3
crw--w----  1 root tty       4,  30 Jan  2 19:10 tty30
crw--w----  1 root tty       4,  31 Jan  2 19:10 tty31
crw--w----  1 root tty       4,  32 Jan  2 19:10 tty32
crw--w----  1 root tty       4,  33 Jan  2 19:10 tty33
crw--w----  1 root tty       4,  34 Jan  2 19:10 tty34
crw--w----  1 root tty       4,  35 Jan  2 19:10 tty35
crw--w----  1 root tty       4,  36 Jan  2 19:10 tty36
crw--w----  1 root tty       4,  37 Jan  2 19:10 tty37
crw--w----  1 root tty       4,  38 Jan  2 19:10 tty38
crw--w----  1 root tty       4,  39 Jan  2 19:10 tty39
crw-rw----  1 root tty       4,   4 Jan  2 19:10 tty4
crw--w----  1 root tty       4,  40 Jan  2 19:10 tty40
crw--w----  1 root tty       4,  41 Jan  2 19:10 tty41
crw--w----  1 root tty       4,  42 Jan  2 19:10 tty42
crw--w----  1 root tty       4,  43 Jan  2 19:10 tty43
crw--w----  1 root tty       4,  44 Jan  2 19:10 tty44
crw--w----  1 root tty       4,  45 Jan  2 19:10 tty45
crw--w----  1 root tty       4,  46 Jan  2 19:10 tty46
crw--w----  1 root tty       4,  47 Jan  2 19:10 tty47
crw--w----  1 root tty       4,  48 Jan  2 19:10 tty48
crw--w----  1 root tty       4,  49 Jan  2 19:10 tty49
crw-rw----  1 root tty       4,   5 Jan  2 19:10 tty5
crw--w----  1 root tty       4,  50 Jan  2 19:10 tty50
crw--w----  1 root tty       4,  51 Jan  2 19:10 tty51
crw--w----  1 root tty       4,  52 Jan  2 19:10 tty52
crw--w----  1 root tty       4,  53 Jan  2 19:10 tty53
crw--w----  1 root tty       4,  54 Jan  2 19:10 tty54
crw--w----  1 root tty       4,  55 Jan  2 19:10 tty55
crw--w----  1 root tty       4,  56 Jan  2 19:10 tty56
crw--w----  1 root tty       4,  57 Jan  2 19:10 tty57
crw--w----  1 root tty       4,  58 Jan  2 19:10 tty58
crw--w----  1 root tty       4,  59 Jan  2 19:10 tty59
crw-rw----  1 root tty       4,   6 Jan  2 19:10 tty6
crw--w----  1 root tty       4,  60 Jan  2 19:10 tty60
crw--w----  1 root tty       4,  61 Jan  2 19:10 tty61
crw--w----  1 root tty       4,  62 Jan  2 19:10 tty62
crw--w----  1 root tty       4,  63 Jan  2 19:10 tty63
crw--w----  1 root tty       4,   7 Jan  2 19:10 tty7
crw--w----  1 root tty       4,   8 Jan  2 19:10 tty8
crw--w----  1 root tty       4,   9 Jan  2 19:10 tty9

4
Thực tế bạn không tạo Linux VT bằng cách nhấn CTRL-ALT-F1 (v.v.), chúng đã ở đó, bạn không thấy chúng là trình quản lý hiển thị của bạn được gọi tự động khi khởi động và sau đó bạn kết thúc bằng X (đó là, khó hiểu, chạy trên tty 7). Kiểm tra /etc/inittabvà bạn sẽ thấy làm thế nào điều này hoạt động.
Emanuel Berg

Câu trả lời:


10

Đây là những thiết bị bảng điều khiển ảo cụ thể , trong thuật ngữ Linux. Việc hỗ trợ các bảng điều khiển ảo trên cùng một thiết bị vật lý không phải là duy nhất đối với Linux (ví dụ: BSD gọi chúng là các cổng thiết bị đầu cuối phần cứng cứng).

Linux không có cơ chế tạo các thiết bị console theo yêu cầu. 63 bảng điều khiển không phải lúc nào cũng hoạt động (bạn cần kích hoạt ttyNđể chuyển sang sử dụng ( Ctrl+) Alt+ FN), nhưng để kích hoạt một yêu cầu phải mở thiết bị điều khiển ( openvtlệnh thực hiện điều đó, cũng như gettymáy chủ X). Vì vậy, mục nhập thiết bị phải tồn tại mọi lúc, nếu không nó phải được tạo thủ công trước khi có thể sử dụng.

Các hệ thống Linux hiện đại (với udev hoặc devtmpfs) tạo các mục thiết bị cho mọi thiết bị có mặt trên hệ thống. Tất cả các bảng điều khiển ảo luôn có mặt (dù chúng có hoạt động hay không), vì vậy tất cả các mục được tạo. Hầu hết người dùng không cần nhiều như vậy - thực tế hầu hết người dùng không bao giờ thấy gì ngoài bảng điều khiển ảo mà X đang chạy. Nhưng có một vài người làm và cần phải vá kernel của họ để cho phép hơn 63 bảng điều khiển, bởi vì họ chạy các máy lớn với nhiều bảng điều khiển phần cứng).


-2

Đây không phải là một thứ cụ thể của linux và ttys không chỉ được sử dụng cho các thiết bị đầu cuối ảo. Chúng cũng được sử dụng, ví dụ như khi bạn khởi động xterm khi bạn đang ở trong giao diện đồ họa. Nếu có ít thiết bị tty hơn, bạn sẽ không thể có nhiều thông tin đăng nhập xterms hoặc ssh.


Hừm, quan tâm giải thích điều này hơn một chút? Khi bạn chạy xterm dưới X, bạn không nhận được pts chứ không phải tty?
Emanuel Berg


OK, tôi đã đọc nó, nhưng nó vẫn chưa rõ ràng. Bạn có nói rằng, khi tôi khởi động xterm, quá trình đó bằng cách nào đó được liên kết với một tệp thiết bị tty trong /dev, vì vậy, nếu có ít hơn trong số chúng, bạn thực sự có thể "hết" ttys?
Emanuel Berg

4
Trên thực tế, giao diện thiết bị cho trình giả lập X không phải là một tty - đó là "thiết bị đầu cuối giả" (pt). Những cái này được quản lý linh hoạt bởi kernel, nhưng những cái hiện có được liệt kê trong /dev/pts/. Các ttylệnh sẽ cung cấp cho bạn các thiết bị hiện tại của bạn - hãy thử trong X sau đó thử nó trong một VT.
goldilocks

2
Bạn đang nhầm lẫn /dev/ttyN(bảng điều khiển ảo, đôi khi được gọi là thiết bị đầu cuối ảo) với thiết bị cũ /dev/ptyN(thiết bị đầu cuối giả, đôi khi còn được gọi là thiết bị đầu cuối ảo). Linux bây giờ sử dụng phân bổ động /dev/pts/Nthay vì phân bổ tĩnh cũ /dev/ptyN.
Gilles 'SO- ngừng trở nên xấu xa'
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.