У чому причина наявності стільки віртуальних консолей?
Я зрозумів би, чи був такий випадок, якщо GUI вийде з ладу, але ще 6, крім замовчування? Для чого вони? Я навіть не бачу використання жодного з них, крім випадків, коли GUI замерзає.
У чому причина наявності стільки віртуальних консолей?
Я зрозумів би, чи був такий випадок, якщо GUI вийде з ладу, але ще 6, крім замовчування? Для чого вони? Я навіть не бачу використання жодного з них, крім випадків, коли GUI замерзає.
Відповіді:
Коротка відповідь : чому ні? (мається на увазі посмішка, будь ласка)
Більш тривалий : я думаю, це здебільшого історія. Було налаштовано 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, дотримуючись інструкції на початку .
Чому б не більше? Запустіть top
або htop
в одній (дає процесор / пам'ять використовує статику), ssh
іншим системам в 2 або 3, виконайте деякі автоматизовані завдання в іншій, збережіть одну безкоштовно на всякий випадок, увійдіть для кількох користувачів ще декілька, запустіть cmatrix
одного, запустіть GUI в іншому з -
startx -- :1
(деякі графіки мають помилки з цим)
http://mostlylinux.wordpress.com/troubleshooting/ttysesions/
Коли ви дійсно почнете користуватися цією функцією, 7 тти (сьомий - за замовчуванням) здаються способом мало - і ви можете додати більше.
Щоб зменшити кількість: Як я можу зменшити кількість TTY?
Усі /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]"
Це файли пристроїв, що використовуються для послідовних консолей, також 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
Згідно з 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'
Однак це дещо безглуздо - файли пристроїв не займають місця і не впливають на продуктивність системи.
Практичність реальна. У справді багатокористувацькій системі Linux одночасно можуть працювати кілька програм, і ви можете зайти, щоб перевірити кожну з них, чи працює кожна у своєму віртуальному терміналі. Коли ви входите в кожен з них, ви можете увійти як різні користувачі, якщо потрібно. Зараз, на жаль, багато людей приїжджають до Linux з перспективою для одного користувача, але оскільки Linux народився багатокористувацьким, ця можливість ніколи не відкидалася.