Можно проверить, через какой тайм-аут ядро использует для очищения виртуальной консоли:
$ cat /sys/module/kernel/parameters/consoleblank
600
Этот файл только для чтения, и тайм-аут указан в секундах. Текущее значение по умолчанию, кажется, составляет 10 минут.
Можно изменить то значение с вводом следующей команды на виртуальной консоли (если Вы в xterm, необходимо измениться на виртуальную консоль через удар, например, Ctrl+Alt+F1).
$ setterm -blank VALUE
Где новое ЗНАЧЕНИЕ указано в минутах. Значение 0 отключает очищение:
$ cat /sys/module/kernel/parameters/consoleblank
600
$ setterm -blank 0
$ cat /sys/module/kernel/parameters/consoleblank
0
setterm имеет связанные опции другого powersaving, самая полезная комбинация, кажется:
$ setterm -blank 0 -powersave off
Таким образом, чтобы постоянно/автоматически отключить очищение виртуальной консоли на запуске Вы можете также:
consoleblank=0
к параметрам ядра (редактируют конфигурацию личинки),setterm -blank 0
управляйте к rc-local
или эквивалентный сценарий запускадобавьте setterm
вывод к /etc/issue
с тех пор /etc/issue
производится на каждой виртуальной консоли:
# setterm -blank 0 >> /etc/issue
Выберите одну альтернативу из вышеупомянутого.
Вот выборка из http://www.debian-administration.org/articles/28, который, кажется, отвечает на Ваш вопрос.
Примечание: В сценарии в качестве примера ниже просто добавляют вызов к"start)
"разделите для фактического запуска программы. Можно протестировать функциональность сценария, не перезагружая систему: назовите его с полным путем и предоставлением его параметр"start
"или"stop
"
Здесь идет:
Debian использует Sys-V как init система для выполнения команд когда система runlevel изменения - например, во времени завершения работы и начальной загрузке.
Если Вы хотите добавить новый сервис для запуска, когда начальные загрузки машины необходимо добавить необходимый сценарий к каталогу /etc/init.d/
. Многие сценарии, уже существующие в том каталоге, дадут Вам пример вида вещей, которые можно сделать.
Вот очень простой сценарий, который разделен на две части, код, который всегда работает, и код, который работает при вызове с "запуском" или "остановкой".
#! /bin/sh
# /etc/init.d/blah
#
# Some things that run always
touch /var/lock/blah
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting script blah "
echo "Could do more here"
;;
stop)
echo "Stopping script blah"
echo "Could do more here"
;;
*)
echo "Usage: /etc/init.d/blah {start|stop}"
exit 1
;;
esac
exit 0
После того как Вы сохранили свой файл в корректное местоположение, удостоверяются, что это - исполняемый файл путем выполнения"chmod 755 /etc/init.d/blah
".
Затем необходимо добавить соответствующие символьные ссылки, чтобы заставить сценарий выполняться, когда система понижается или подходит.
Самый простой способ сделать это состоит в том, чтобы использовать Debian-определенную команду update-rc.d
:
root@skx:~# update-rc.d blah defaults
Adding system startup for /etc/init.d/blah ...
/etc/rc0.d/K20blah -> ../init.d/blah
/etc/rc1.d/K20blah -> ../init.d/blah
/etc/rc6.d/K20blah -> ../init.d/blah
/etc/rc2.d/S20blah -> ../init.d/blah
/etc/rc3.d/S20blah -> ../init.d/blah
/etc/rc4.d/S20blah -> ../init.d/blah
/etc/rc5.d/S20blah -> ../init.d/blah
Лучший способ состоит в том, чтобы проверить источник пакета Вашего распределения для регулярной системной службы, например, для OpenSSH - Вы будете видеть, каковы хорошие методы. В конце концов, одна из причин позади открытого исходного кода состоит в том, чтобы смочь извлечь уроки из источников.
Использование crontab
намного проще.
Используйте crontab -e
для редактирования пользовательского crontab.
Добавьте следующую строку в конце:
@reboot <command>
Примеры:
@reboot my_script.sh
@reboot python my_script.py arg1 arg2
Наконец, используйте crontab -l
, чтобы убедиться, что ваш скрипт добавлен в список.
Например, этот лайнер добавит задание, которое запускает script.sh при каждой перезагрузке:
crontab -l > file; echo "@reboot /home/user/script.sh" >> file; crontab file; rm file;
кредит принадлежит :Gumby The Green 16 июль 2019, в 10 :20
Новые версии Linux поддерживают systemd
(, как сказал @AlexanderShcheblikin ). Он имеет больше возможностей и более переносим, чем специальное решение для Debian -.
Пожалуйста, прочтитеэто замечательное руководство .
Вот краткий справочник необходимого минимума :
myscript.sh
)с разрешениями на выполнение. myservice.service
)с расширением «.service» в /etc/systemd/system
с разрешениями 644, который содержит команду для выполнения скрипта. Например, :
[Unit]
Description=Example systemd service.
[Service]
Type=simple
ExecStart=/bin/bash /path/to/myscript.sh
[Install]
WantedBy=multi-user.target
sudo systemctl enable myservice
, чтобы разрешить запуск при загрузке.