Невозможно запустить скрипт python при загрузке

Проблема в том, что у меня включен powertop.service. Включение этой функции означает, что powertop --autotune запускается при запуске и включает большинство дополнительных функций энергосбережения. Это очень полезно для улучшения времени работы от батареи.

К сожалению, это включает автоприостановку всех (?) usb-устройств, которые подключены в это время. Linux намеренно по умолчанию не включает автоотключение на устройствах ввода, из-за сообщений, подобных этому, включая мое сообщение в то время на том, что, скорее всего, было той же самой клавиатурой. (Logitech Internet 350).

Обходной путь

Если вы загрузились с подключенной USB-клавиатурой, просто отключите ее, а затем снова подключите. Это очистит конфигурацию, установленную командой powertop --autotune.

Более "правильным" решением было бы пройтись по каждой команде, рекомендованной powertop, и создать загрузочный скрипт, который выполняет их все, кроме команды автоотключения USB.

2
12.11.2016, 01:14
1 ответ

Это не указано в вашем описании, но я заметил здесь ярлык Fedora. Fedora некоторое время использовала systemd , поэтому, если вы его используете, вам необходимо включить службу rc.local.

Проверьте службу systemd в /usr/lib/systemd/system/rc-local.service для получения дополнительной информации.

Ваш сценарий должен находиться в /etc/rc.d/rc.local (строка ExecStart ; вместо /etc/rc.local ). Файл должен быть предоставлен пакетом initscripts , но я не нашел его в своей системе. Не бойтесь и создавайте это. Но не забудьте установить правильные разрешения и shebang (например, #! / Bin / bash ). Затем вам нужно запустить и включить rc-local.service .

Это должно сработать для вас:

# as root
mv /etc/rc.local /etc/rc.d/rc.local
sed -i '1i #!/bin/bash' /etc/rc.d/rc.local
chmod 0755 /etc/rc.d/rc.local
# this run the script immediately (!)
systemctl start rc-local.service
# this enables service to run it within boot
systemctl enable rc-local.service

systemd запускает сценарий с параметром start . Он ничего не сломал, но вы можете использовать это в своем скрипте.

Это неплохо для вашего вопроса о rc.local . В любом случае лучшим решением должно быть добавление новой службы systemd. Мне лень писать туда, потому что в интернете есть несколько мануалов :) Например: http://www.linuxveda.com/2014/04/28/autostart-process-gnu-screen- systemd /

4
27.01.2020, 21:59

Теги

Похожие вопросы