Я посмотрел на systemd-inhibit
. Я понял, что когда вы используете его перед командой, он ждет, пока ваша команда / сценарий не закончится до того, как система выключится, есть некоторые опции, чтобы заблокировать выключение но мне это не показалось очевидным. На данный момент ваше первое предложение работает для меня (я не против печатать «shutdown» вместо графического интерфейса). Вот пример сценария:
#!/bin/bash
if [ ! -d /media/myusername/myusbname ]; then
zenity --question --text "Are you sure you want to shutdown without saving? If not choose \"No\" and insert the usb key" 2> /dev/null
answer=$?
else
#save data
answer=0
fi
if [ $answer -eq 0 ]; then
/sbin/shutdownoriginal
else
zenity --info --text="Shutdown canceled" 2> /dev/null
fi
Спасибо
Вы должны установить дополнения для виртуальных боксов.