Чому так багато віртуальних консолей?


26

У чому причина наявності стільки віртуальних консолей?

Я зрозумів би, чи був такий випадок, якщо GUI вийде з ладу, але ще 6, крім замовчування? Для чого вони? Я навіть не бачу використання жодного з них, крім випадків, коли GUI замерзає.


Я згоден з відповіддю Матео нижче. Чому б НЕ БІЛЬШЕ? Я вважаю, що у мене є всі 6 відкритих і хочу отримати більше (а графічний інтерфейс часто залишається "вимкненим" на екрані входу).
haziz

Відповіді:


16

Коротка відповідь : чому ні? (мається на увазі посмішка, будь ласка)

Більш тривалий : я думаю, це здебільшого історія. Було налаштовано 6 віртуальних консолей gettyу першому Linux, який я завантажив із підтримкою VC, я дуже забув, коли (це було близько 1990 року, я думаю). Потім, коли ви запустили графічне середовище (від руки, зstartx ), він відкрився на першому безкоштовному VC, який стався №7. І я все ще робив більшу частину своєї роботи над VC на той час: редактори були набагато швидшими, і колись я використовував більше VC, ніж стандартні шість, а мій ноутбук не був точно графічним монстром ...

Наприклад, я запускав три редактори (програма, її вхідні дані, файл TeX, який описує це), один VC для компіляції, інший для читання посібника та інший, підключений через telnet до мого поштового сервера.

Я підозрюю, що обґрунтуванням використання шести віртуальних консолей є надання графічного VC №7 для всіх, тому ви можете писати на посібниках " Ctrl-Alt-F7", а не " Ctrl-Alt-Fxде xперший безкоштовний ПК".

Як зауваження, ви можете (я думаю, --- ніколи не пробував) обрізати ВК. Просто робіть

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

щоб зупинити VC №6, дотримуючись інструкції на початку .


Можна зменшити кількість активних tty, але не самі файли пристрою (якщо люди не хочуть перекомпілювати ядра). Дивіться мою відповідь нижче
Сергій Колодяжний,

9

Чому б не більше? Запустіть topабо htopв одній (дає процесор / пам'ять використовує статику), sshіншим системам в 2 або 3, виконайте деякі автоматизовані завдання в іншій, збережіть одну безкоштовно на всякий випадок, увійдіть для кількох користувачів ще декілька, запустіть cmatrixодного, запустіть GUI в іншому з -

startx -- :1

(деякі графіки мають помилки з цим)

http://mostlylinux.wordpress.com/troubleshooting/ttysesions/

Коли ви дійсно почнете користуватися цією функцією, 7 тти (сьомий - за замовчуванням) здаються способом мало - і ви можете додати більше.

Щоб зменшити кількість: Як я можу зменшити кількість TTY?


8

Усі /dev/tty*записи - це щось відоме як device fileзгідно філософії Unix. Вони служать ланкою між користувачем і фактичним пристроєм, але їх призначення може незначно відрізнятися.

Віртуальні консолі

Такі файли пристроїв /dev/tty123можуть використовуватися для взаємодії з системою через звичайну оболонку. Це віртуальні термінали. Система Ubuntu налаштована на відкриття за замовчуванням TTY 1 - 6, але можна відкрити ще й інші, наприклад:

sudo openvt -c 9 -s "bash"

Це відкриється bashяк root на / dev / tty9 і негайно переключить вас на цей TTY (якщо це зроблено на локальному терміналі, але якщо ви це зробите через віддалений sshсеанс; в такому випадку вам може знадобитися використання chvt 9, де 9 /dev/tty9у цьому прикладі). Щоб зробити те ж саме без sudoне-root, вам доведеться змінити право власності на tty, яку ви хочете відкрити. Наприклад,

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

Це дозволить мені увійти в систему за допомогою моєї оболонки за замовчуванням на tty8. Однак у моїх тестах здається, що це працює лише через TTY, тому якщо ви робите це через термінальний емулятор, це може не працювати (я отримував Couldn't get a file descriptor referring to the console помилку і sudo openvt -c 8 -lпрацював для мене лише з емулятора)

З історичної точки зору, перш ніж були створені всі фантазійні термінальні мультиплексори, це була корисна функція - ви могли створити на цих консолях до 62 команд (можливо, серверів) і пустити їх до роботи, працюючи в 63-му. У наш час це може бути не так необхідно.

Існує кілька файлів пристроїв, створених за замовчуванням. Активних - від 1 до 6, але можна змінити їх кількість , редагуючи /etc/default/console-setup, зокрема цю частину:

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

ttyS * пристрої

Це файли пристроїв, що використовуються для послідовних консолей, також UART (також відомий як RS-232). У минулому багато комп'ютерні системи постачалися з послідовним портом. В даний час це в основному можна знайти на комп'ютерах типу сервера. Кілька пристроїв ttyS можуть бути корисними з концентраторами RS-232, що дозволяють керувати підключенням декількох пристроїв через USB або Ethernet.

Для інженерів-електриків (що саме я займаюсь коледжем), ми використовуємо послідовний порт для взаємодії з мікроконтролерами та платами розробки (наприклад, Arduino). Однопортові комп'ютери, такі як Raspberry Pi, також використовують його. В даний час послідовне з'єднання встановлюється за допомогою кабелю USB до UART та відкриття консолі в терміналі screenтак:

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

Зауважте, що Arduino та Raspberry створять власний файл пристрою для послідовного з'єднання, /dev/ttyUSB0або/dev/ttyACM0

vcs * пристрої

Згідно з man vcsцим є консольні пристрої пам'яті. Простими словами, якщо ви це зробите, sudo cat /dev/vcs1ви побачите, що на екрані /dev/tty1, принаймні до максимальної кількості рядків у цьому терміналі.

Зменшення кількості консолей

Зменшення кількості фактичних файлів пристрою неможливо без зміни tty.hбібліотеки та перекомпіляції ядра ( довідкового та іншого ). Однак видалення цих пристроїв можна зробити вручну за допомогою цієї команди:

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

Однак це дещо безглуздо - файли пристроїв не займають місця і не впливають на продуктивність системи.


Коментарі не для розширеного обговорення; ця розмова переміщена до чату .
тердон

6

Практичність реальна. У справді багатокористувацькій системі Linux одночасно можуть працювати кілька програм, і ви можете зайти, щоб перевірити кожну з них, чи працює кожна у своєму віртуальному терміналі. Коли ви входите в кожен з них, ви можете увійти як різні користувачі, якщо потрібно. Зараз, на жаль, багато людей приїжджають до Linux з перспективою для одного користувача, але оскільки Linux народився багатокористувацьким, ця можливість ніколи не відкидалася.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.