Як я назавжди відключити заставку екрану консолі Linux у всій системі?


42

У мене є сервер Ubuntu, який завантажується в текстовому режимі. Рідко до нього додається екран або клавіатура, але коли я приєдную екран, зазвичай мені також доводиться приєднувати клавіатуру, тому що заставка в режимі темної консолі буде включена, і мені потрібно натиснути клавішу, щоб побачити, що продовжувати.

Я знаю, що команда setterm може відключити це, але це річ за сеанс. Як я можу зробити так, щоб машина ніколи не запускала екран у текстовому режимі, навіть коли він вперше завантажився та сидить за запитом для входу?


Здається, добре відповіли на askubuntu: askubuntu.com/questions/138918/…
Рой

Я писав про два різних підходи, які мені потрібні для різних розподілів RHEL. Один з них може допомогти вам з Ubuntu: superuser.com/a/1004931/197972
David C.

Відповіді:


23

В Ubuntu 12.10 і новіших версіях консольно-інструментальний пакет дозволяє контролювати параметри консолі.

Щоб відключити гасіння екрану і PowerDown, набір BLANK_TIMEі POWERDOWN_TIMEдо 0в /etc/console-tools/config. Якщо ви хочете не змінювати конфігураційний файл, такого ж ефекту можна досягти, створивши новий файл, /etc/console-tools/config.dщо містить наступне:

BLANK_TIME=0
POWERDOWN_TIME=0

Ім'я файлу config.d має повністю складатися з великих і малих літер, цифр, підкреслень та дефісів.


Як ти це знаєш? Я цілий ранок шукав Інтернет, шукаючи документацію для / etc / console-tools, і не зміг їх знайти.
raldi

10
Слово попередження з цього приводу: я встановив консолі-інструменти на сервер ubuntu 12.04, зробив вищевказаний конфігурацію і це повністю заповнило його ... Не впевнений, що я зробив не так, але якщо це трапиться з ким-небудь ще (а ти трапишся на сервери як я!), завантажтеся на відновлення -> root-запит -> mount -o remount, rw / -> apt-get remove console-tools -> перезавантаження
BaronVonKaneHoffen

Цього не існує на ubuntu 18.04 :( - альтернативи?
Роман Гауфман

17

Або ви використовуєте / etc / kbd / config для налаштування (залежить від вашої системи, що встановлено)

BLANK_TIME=0
BLANK_DPMS=off

Що я перезавантажую, коли зміна конфігурації KBD?
Фродік

1
Здається, /etc/init.d/kbd reload
Вінсент

2
Я спробував це в новому встановленні Ubuntu Server 10.04.4 і 12.04.1, і він не працював ні в одному.
Професор Моріарті

До яких розподілів це стосується?
Майкл Хемптон

Це працює в Debian 6 і 7. Цей конфігураційний файл встановлюється BLANK_TIME=30за замовчуванням.
basic6

15

Параметр управляється за допомогою командного рядка ядра, використовуючи setterm, просто змінює параметри виконання. Щоб вимкнути його в системному режимі, ви можете змінити командний рядок завантаження ядра, додавши його до консолі завантаження "consoleblank = 0" (grub / lilo).

Якщо щось під час встановлення boot setm, то це перевизначить значення.



Використовуючи grub2, його можна додати в / etc / default / grub, GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"а потім оновити конфігурацію grub grub[2]-mkconfig -o /boot/grub/grub.cfg. Або він може бути вбудований у вбудований командний рядок ядра під час налаштування та компіляції ядра вручну.
користувач3132194

7

Якщо ви додаєте settermкоманду /etc/rc.local, вона повинна набути чинності для всіх віртуальних консолей, незалежно від того, чи користувач увійшов до них. Наприклад:

setterm -blank 0

Це, здається, насправді не працює в rc.local.
raldi

Раніше це працювало для мене на системах RedHat. Можливо, Debian / Ubuntu завантажується rc.localв дещо інший час, ніж RH. Вибач за те.
Джеймс Снерінгер

Не працює на CentOS 6.3. Екран продовжує вимикатись через 10 хвилин.
Майкл Хемптон

1
Я виявив, що це працювало для RHEL 5 та 6 ( /bin/setterm -blank 0 -powerdown 0 -powersave off), але не для 7. Успіх чи провал, ймовірно, залежить від вашого розповсюдження та консольного середовища в момент виконання rc.local.
Девід К.

Я отримую це <~ $ sudo setterm -blank 0 setterm: термінал xterm-256color не підтримує --blank
Roman Gaufman

4

Якщо ви використовуєте новіший Ubuntu, який використовує новітню версію, ви можете використовувати:

for file in /etc/init/tty*.conf; do tty="/dev/`basename $file .conf`"; echo "post-start exec setterm -blank 0 -powersave off >$tty <$tty" | sudo tee -a "$file"; done

Невелике пояснення того, що тут відбувається:

Новіші версії Ubuntu використовують запуску для запуску системи. Після запуску консолі Linux налаштовуються з конфігураційними файлами, що зберігаються в / etc / init. Команда вище починається з ітерації над кожним із цих конфігураційних файлів:

for file in /etc/init/tty*.conf;

Ім'я файлу на початку конфігурації tty у $ file використовується для створення імені пристрою tty:

tty="/dev/`basename $file .conf`";

Побудована команда "після запуску", яка запускає "setterm" для відключення затухання екрану та енергозбереження після запуску програми tty:

echo "post-start exec setterm -blank 0 -powersave off >$tty <$tty"

І нарешті, ця команда додається до файлу конфігурації upstart:

| sudo tee -a "$file";

Ваша відповідь була б набагато кращою, якби ви насправді описали, що тут відбувається. Просто надання такої величезної команди без пояснень не дуже корисно.
Зоредаче

@Zoredache ви праві, я додав пояснення. Дякуємо за відгук.
Кріс Пік

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