Tại sao nhiều bàn giao tiếp ảo?


26

Lý do cho việc có rất nhiều bảng điều khiển ảo là gì?

Tôi sẽ hiểu nếu có một trong trường hợp GUI gặp sự cố nhưng còn 6 cái nữa ngoài mặc định? Họ để làm gì? Tôi thậm chí không thấy sử dụng cho bất kỳ trong số họ ngoại trừ khi GUI đóng băng.


Tôi đồng ý với câu trả lời của Mateo bên dưới. Tại sao không THÊM? Tôi thấy mình có tất cả 6 mở và mong muốn nhiều hơn nữa (và GUI thường vẫn "tắt" ở màn hình đăng nhập).
haziz

Câu trả lời:


16

Câu trả lời ngắn gọn : tại sao không? (ngụ ý nụ cười)

Dài hơn một : nó chủ yếu là một điều lịch sử, tôi cho rằng. Có 6 máy chơi game ảo được cấu hình gettytrong linux đầu tiên tôi khởi động với sự hỗ trợ của VC, tôi thực sự đã quên khi đó (khoảng năm 1990, tôi nghĩ vậy). Sau đó, khi bạn bắt đầu môi trường đồ họa (bằng tay, vớistartx ), nó sẽ tự mở trên VC miễn phí đầu tiên, tình cờ là # 7. Và tôi vẫn làm hầu hết các công việc của mình trên các VC vào thời điểm đó: các biên tập viên nhanh hơn rất nhiều và đôi khi tôi sử dụng nhiều VC hơn so với sáu tiêu chuẩn và máy tính xách tay của tôi không hẳn là một con quái vật đồ họa ...

Ví dụ, tôi đã từng chạy ba trình soạn thảo (một chương trình, dữ liệu đầu vào, tệp TeX mô tả nó), một VC để biên dịch, một trình soạn thảo khác để đọc hướng dẫn và một trình soạn thảo khác được kết nối qua telnet đến máy chủ thư của tôi.

Tôi nghi ngờ rằng lý do căn bản của việc vẫn sử dụng sáu bảng điều khiển ảo là để cho VC đồ họa trên số 7 cho mọi người, vì vậy bạn có thể viết vào hướng dẫn sử dụng " Ctrl-Alt-F7" chứ không phải " VC miễn phí đầu tiên Ctrl-Alt-Fxở đâu x".

Như một lưu ý phụ, bạn có thể (tôi cho rằng --- chưa bao giờ thử) cắt giảm các VC. Đơn giản chỉ cần làm

sudo bash -c "echo 'manual' >> /etc/init/tty6.override"

để dừng VC # 6, làm theo hướng dẫn mới bắt đầu .


Có thể cắt giảm số lượng tty hoạt động , nhưng không phải chính các tệp thiết bị (trừ khi mọi người muốn biên dịch lại hạt nhân). Xem câu trả lời của tôi dưới đây
Sergiy Kolodyazhnyy

9

Tại sao không hơn? Chạy tophoặc htoptrong một (cung cấp sshsố liệu thống kê sử dụng cpu / bộ nhớ), cho các hệ thống khác trong 2 hoặc 3, chạy một số tác vụ tự động trong một cái khác, giữ một cái miễn phí chỉ trong trường hợp, đăng nhập cho nhiều người dùng trong một vài lần nữa, chạy cmatrixtrên một, bắt đầu GUI trong khác với -

startx -- :1

(một số đồ họa có lỗi với điều này)

http: // mostlylinux.wordpress.com/troubledhoot/ttysimes/

Khi bạn thực sự bắt đầu sử dụng tính năng này, 7 tty's (thứ bảy là mặc định) dường như rất ít - và bạn có thể thêm nhiều hơn nữa.

Để giảm số lượng: Làm cách nào tôi có thể giảm số lượng TTY?


8

Tất cả các /dev/tty*mục là một cái gì đó được gọi là device file, theo triết lý Unix. Chúng phục vụ như một liên kết giữa người dùng và thiết bị thực tế, nhưng mục đích của chúng có thể hơi khác nhau.

Bảng điều khiển ảo

Các tập tin thiết bị như /dev/tty123có thể được sử dụng để tương tác với hệ thống thông qua shell thông thường. Đây là các thiết bị đầu cuối ảo. Hệ thống Ubuntu được cấu hình để mở theo mặc định TTY 1 đến 6, nhưng người ta có thể mở thêm thủ công, ví dụ:

sudo openvt -c 9 -s "bash"

Điều đó sẽ mở bashdưới dạng root trên / dev / tty9 và ngay lập tức chuyển bạn sang TTY đó (nếu được thực hiện trên thiết bị đầu cuối cục bộ, nhưng nếu bạn làm như vậy thông qua sshphiên từ xa , trong trường hợp này bạn có thể cần sử dụng chvt 9, trong đó 9 là /dev/tty9trong ví dụ này). Để làm tương tự mà không cần sudoroot, bạn sẽ phải thay đổi quyền sở hữu của tty bạn muốn mở. Ví dụ,

$ sudo chown xieerqi:tty /dev/tty8 
$ openvt -c 8 -l 

Điều đó sẽ đăng nhập tôi với shell mặc định của tôi trên tty8. Tuy nhiên, trong các thử nghiệm của tôi, có vẻ như điều này chỉ hoạt động thông qua TTY, vì vậy nếu bạn thực hiện điều đó thông qua trình giả lập thiết bị đầu cuối, điều đó có thể không hoạt động (tôi đã gặp Couldn't get a file descriptor referring to the console lỗi và chỉ sudo openvt -c 8 -lhoạt động với tôi từ trình giả lập)

Từ quan điểm lịch sử, trước khi tất cả các bộ ghép kênh đầu cuối ưa thích được tạo ra, đây là một tính năng hữu ích - bạn có thể sinh ra tới 62 lệnh (có thể là máy chủ) trên các bảng điều khiển đó và cho phép chúng chạy, trong khi hoạt động ở 63. Ngày nay, nó có thể không cần thiết.

Có nhiều tập tin thiết bị được tạo theo mặc định. Những người hoạt động là 1 đến 6, nhưng người ta có thể thay đổi số lượng của họ bằng cách chỉnh sửa /etc/default/console-setup, cụ thể là phần này:

# Setup these consoles.  Most people do not need to change this.
ACTIVE_CONSOLES="/dev/tty[1-6]"

thiết bị ttyS *

Đây là các tệp thiết bị được sử dụng cho bảng điều khiển nối tiếp, còn gọi là UART (còn được gọi là RS-232). Trong quá khứ, nhiều hệ thống máy tính sẽ đi kèm với cổng nối tiếp. Ngày nay, điều này chủ yếu có thể được tìm thấy trên loại máy chủ. Nhiều thiết bị ttyS có thể hữu ích với các trung tâm RS-232, cho phép kết nối nhiều thiết bị được quản lý qua USB hoặc Ethernet.

Đối với các kỹ sư điện (đó là những gì tôi học chuyên ngành ở trường đại học), chúng tôi sử dụng cổng nối tiếp để tương tác với các bộ vi điều khiển và bảng phát triển (ví dụ Arduino). Các máy tính cổng đơn, chẳng hạn như Raspberry Pi, cũng sử dụng nó. Ngày nay, kết nối nối tiếp được thiết lập bằng cáp USB đến UART và mở bàn điều khiển trong thiết bị đầu cuối thông qua screennhư vậy:

screen /dev/ttyUSB0 115200 # the number is baud rate or speed

Lưu ý rằng Arduino và Raspberry sẽ tạo tệp thiết bị của riêng họ để kết nối nối tiếp /dev/ttyUSB0hoặc/dev/ttyACM0

thiết bị vcs *

Theo man vcsđó là những thiết bị bộ nhớ console. Nói một cách đơn giản, nếu bạn làm sudo cat /dev/vcs1bạn sẽ thấy những gì trên màn hình /dev/tty1, ít nhất là tối đa số lượng dòng trong thiết bị đầu cuối đó.

Giảm số lượng bàn giao tiếp

Không thể giảm số lượng tệp thiết bị thực tế nếu không thay đổi tty.hthư viện và biên dịch lại kernel ( Tham khảomột tệp khác ). Tuy nhiên, việc xóa các thiết bị đó có thể được thực hiện thủ công thông qua lệnh này:

sudo bash -c 'for num in $(seq 10 63 ) ; do MAKEDEV -v -d "tty$num" ; done'

Tuy nhiên, điều này hơi vô nghĩa - các tệp thiết bị không chiếm bất kỳ dung lượng nào và không ảnh hưởng đến hiệu suất hệ thống.


Bình luận không dành cho thảo luận mở rộng; cuộc trò chuyện này đã được chuyển sang trò chuyện .
terdon

6

Thực tế là có thật. Có thể có nhiều chương trình chạy đồng thời trong hệ thống Linux thực sự nhiều người dùng và bạn có thể đăng nhập để kiểm tra từng chương trình nếu mỗi chương trình chạy trong thiết bị đầu cuối ảo của riêng mình. Khi bạn đăng nhập vào từng người, bạn có thể đăng nhập với tư cách người dùng khác nhau, nếu cần. Bây giờ, được cho phép, nhiều người đến Linux với quan điểm một người dùng, nhưng vì Linux được sinh ra nhiều người dùng, nên khả năng đó không bao giờ bị loại bỏ.

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.