Как навсегда отключить экранную заставку Linux для всей системы?


42

У меня есть сервер Ubuntu, который загружается в текстовом режиме. К нему редко прикрепляют экран или клавиатуру, но когда я прикрепляю экран, мне, как правило, тоже приходится подключать клавиатуру, потому что экранная заставка в режиме проклятой консоли будет включена, и мне нужно будет нажать клавишу, чтобы посмотреть, что продолжается.

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


Похоже, что в Аскубунту есть хороший
Рой

Я написал о двух разных подходах, которые мне нужны для различных дистрибутивов RHEL. Один из них может помочь вам с Ubuntu: superuser.com/a/1004931/197972
Дэвид С.

Ответы:


23

В Ubuntu 12.10 и более ранних версиях пакет console-tools позволяет управлять параметрами консоли.

Чтобы отключить гашение экрана и 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 и не смог ее найти.
ралди

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

Этого не существует в Ubuntu 18.04 :( - есть ли альтернативы?
Роман Гауфман

17

Или вы используете / etc / kbd / config для настройки (зависит от вашей системы, что установлено)

BLANK_TIME=0
BLANK_DPMS=off

Что я перезагружаю при изменении конфигурации KBD?
Фродик

1
Похоже, /etc/init.d/kbd перезагрузить
Винсент

2
Я попробовал это в новой установке Ubuntu Server 10.04.4 и 12.04.1, и ни в одном из них это не сработало.
Профессор Мориарти

К каким дистрибутивам это относится?
Майкл Хэмптон

Это работает в Debian 6 и 7. Этот конфигурационный файл устанавливается BLANK_TIME=30по умолчанию.
basic6

15

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

Если что-то во время загрузки установлено, это переопределит значение.


3
Как видно на superuser.com/questions/152347/… !
codehead

Используя grub2, его можно добавить в / etc / default / grub, GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"а затем обновить конфигурацию grub с помощью grub[2]-mkconfig -o /boot/grub/grub.cfg. Или это может быть встроено во встроенную командную строку ядра при настройке и компиляции ядра вручную.
user3132194

7

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

setterm -blank 0

Это не похоже на работу в rc.local.
ралди

В прошлом это работало для меня на системах типа 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
Роман Гауфман

4

Если вы используете более новую версию Ubuntu, которая использует upstart, вы можете использовать:

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 используют upstart для запуска системы. С помощью upstart консоли Linux настраиваются с файлами конфигурации, которые хранятся в / etc / init. Команда выше начинается с перебора каждого из этих файлов конфигурации:

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

Имя конфигурационного файла tty в $ file используется для создания имени устройства tty:

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

Создается команда upstart «post-start», которая запускает «setterm», чтобы отключить блокировку экрана и энергосбережение после запуска tty:

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

И, наконец, эта команда добавляется в файл конфигурации upstart:

| sudo tee -a "$file";

Ваш ответ был бы намного лучше, если бы вы на самом деле описали, что здесь происходит. Просто давать огромные команды без объяснения причин не очень полезно.
Zoredache

@Zoredache Вы правы, я добавил объяснение. Спасибо за ответ.
Крис Пик

2
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.