Я предполагаю, что это поведение несовместимо с настройками диспетчера питания в ваших системных настройках? Я нашел то же самое, что и вы, что Ubuntu не очень хорошо справляется с управлением питанием ноутбука «из коробки». Мне пришлось установить laptop-mode-tools. До сих пор я видел гораздо более типичное энергопотребление, не настраивая его.
Если вам просто интересно посмотреть, что происходит, установите powertop. Это покажет вам, что потребляет наибольшую мощность и дает предложения о том, какие опции включать и выключать.
Вы не можете сделать это для сценария Upstart. Они не являются интерактивными по своей природе.
Что вы можете сделать, это сделать запись меню Grub, которая указывает на сценарий оболочки aa в качестве init, предложить вам тип загрузки, который вы хотите (или взаимодействовать с вами в в любом случае вам нравится), а затем в конце do exec /sbin/init --startup-event=<type of boot>. Это приводит к тому, что событие запуска Upstart является чем-то другим, чем startup, и вы можете создать свою загрузку по своему усмотрению.
Например, поместите что-то подобное в /sbin/preinit:
#!/bin/sh
EVENT="startup"
while [ /bin/true ]; do
echo "Select boot:"
echo " 1) Normal"
echo " 2) Minimal"
echo " 3) Foobar"
echo ""
read selection
case "$selection" in
2)
EVENT="minimal-startup"
;;
3)
EVENT="foobar-startup"
;;
*)
;;
esac
done
exec /sbin/init --startup-event=$EVENT
Используя это решение, вам не нужно копировать / etc / init, но может иметь хороший статический набор заданий, которые просто выполняются на основе разных сигналов запуска.