Автор Тема: Runtu XFCE 16.04.3 x64 При выключении, перезагрузке запускать команду, скрипт  (Прочитано 3479 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн bucil

  • Новичок
  • **
  • Автор темы
  • Сообщений: 32
При выключении, перезагрузке запускать команду, скрипт
sudo -H -u ПОЛЬЗОВАТЕЛЬ /usr/bin/VBoxManage controlvm ГОСТЕВАЯ.VIRTUALBOX savestate
при запуске в ручную в консоли, в графическом режиме работает нормально
при перезагрузке кнопкой, через консоль команда не выполняется
пробовал
создание символических ссылок в
sudo ln -s /etc/rc60.d/S00vboxautostart
запуск через сервис
/etc/systemd/system/vboxautosave.service
результат 0
Нужно сохранять гостевую ОС в VirtualBox, при перезагрузке runtu


Оффлайн bucil

  • Новичок
  • **
  • Автор темы
  • Сообщений: 32
Может есть более детальная инструкция, как сделать этот скрипт?

Оффлайн sfs

  • Местный
  • *****
  • Сообщений: 722
    • PuppyRus-Arch
В /etc/systemd/system создать https://github.com/farseerfc/systemd-shutdown-diagnose/blob/master/shutdown-diagnose.service
Вписать
ExecStop=sudo -H -u ПОЛЬЗОВАТЕЛЬ /usr/bin/VBoxManage controlvm ГОСТЕВАЯ.VIRTUALBOX savestate
sudo enable shutdown-diagnose.serviceСкрипт будет выполняться при выкл. компа
Для сложных скриптов :
bash -c "..."
Пути лучше полные

Оффлайн bucil

  • Новичок
  • **
  • Автор темы
  • Сообщений: 32
НЕ РАБОТАЕТ
В папку /etc/systemd/system/vboxautostart.service создал файл
содержимое файла
[Unit]
Description= vboxautostart.service
[Service]
Type=idle
RemainAfterExit=yes
ExecStart=/usr/bin/true
ExecStop=sudo -H -u ПОЛЬЗОВАТЕЛЬ /usr/bin/VBoxManage controlvm ГОСТЕВАЯ.VIRTUALBOX savestate
[Install]
WantedBy=default.target
сделал его исполнительным sudo chmod +x vboxautostart.service
включил службу sudo enable vboxautostart.service
перезагрузка не сохраняет гостевую VirtualBox

есть подозрение, если сервис работает, что он не успевает сохранить гостевую, так как на это уходит 3-5 сек, если запустить команду с терминала
а если виполнение команды
sudo -H -u ПОЛЬЗОВАТЕЛЬ /usr/bin/VBoxManage controlvm ГОСТЕВАЯ.VIRTUALBOX savestate
потом & sleep 5 & секунд и перезагрузка продолжается
или может есть возможность вставить команду в какий нибудь файл shutdown, как по аналогии делаю автозапуск через rc.local ?

Оффлайн sfs

  • Местный
  • *****
  • Сообщений: 722
    • PuppyRus-Arch
sudo chmod +x vboxautostart.service это не надо
ExecStop=/etc/rc.shutdownПопробуйте Type=oneshot

Оффлайн bucil

  • Новичок
  • **
  • Автор темы
  • Сообщений: 32
Переделал НЕ РАБОТАЕТ
Если
sudo systemctl restart vboxautosave.service
РАБОТАЕТ автосохранение
а при перезагрузке, есть мысль, что сервис не успевает сделать сохранение гостевой 3-5 сек и уходит на перезагрузку. Так как после загрузки статус гостевой виртуалбол "прервана"
Как сделать:
1. сервис 1-м запускается при перезагрузке
2. пауза, для выполнения команды сохранения гостевой виртуалбокс

пробовал
https://toster.ru/q/288027
не работает

Оффлайн sfs

  • Местный
  • *****
  • Сообщений: 722
    • PuppyRus-Arch

Оффлайн bucil

  • Новичок
  • **
  • Автор темы
  • Сообщений: 32
При перезагрузке первым идет VirtualBox controlvm poweroff, это заметно на экране во время перезагрузки
КАК ?
в консоли
shutdown -r now
и 1-ым идёт запуск моего скрипта, потом уже системная перезагрузка? Мой юнит не успевает сработать, так как идёт принудительное остановка-закрытие юнитов (сервиса), программ.
И, ссылки на теорию,примеры, это хорошо - спасибо, но с Ubuntu 14 переход с init.d на systemd, поддержка в нете пока слабая, решений нет.
Если есть решение, пожалуйста, подробнее.

Оффлайн sfs

  • Местный
  • *****
  • Сообщений: 722
    • PuppyRus-Arch
Готового решения нет. Еще теория про встраивание в процессы питания