Martin Vogt
2016-01-26 13:31:11 UTC
Hello list,
in a desktop session it is common behaviour to have a pop up dialog
if the user presses CTRL+ALT+DEL.
If the user press cancel, the original desktop is resumed.
I like to have the same functionality on a virtual console.
If the user hits CTRL+ALT+DEL on /dev/tty2 I can display a dialog:
[ ] reboot
[ ] halt
[ok] [cancel]
and if the user hits cancel the focus should switch back to the virtual
console, where
CTRL+ALT+DEL was pressed.
I need the console in a shutdownselect.service file (and in the script)
where the user pressed CTRL+ALT+DEL.
I cannot figure out how to do it.
The script started from systemd gets for the tty command "not a tty"
best regards,
Martin
PS: The implemenation goes like this "shutdownselect.sh":
#!/bin/bash
CURR_TTY=`/usr/bin/tty`
case "$CURR_TTY" in
/dev/tty*)
;;
*)
echo "err: $CURR_TTY" >>/tmp/debug.txt
exit 0
esac
CURR_TTY_N=${CURR_TTY#/dev/tty}
** switch to tty 63**
** display dialog **
chvt $CURR_TTY_N
shutdownselect.service (which is required in ctrl-alt-del.target)
[Unit]
Description=Reboot GUI
DefaultDependencies=no
AllowIsolate=yes
JobTimeoutSec=30min
JobTimeoutAction=reboot-force
[Service]
ExecStart=/tmp/shutdownselect
in a desktop session it is common behaviour to have a pop up dialog
if the user presses CTRL+ALT+DEL.
If the user press cancel, the original desktop is resumed.
I like to have the same functionality on a virtual console.
If the user hits CTRL+ALT+DEL on /dev/tty2 I can display a dialog:
[ ] reboot
[ ] halt
[ok] [cancel]
and if the user hits cancel the focus should switch back to the virtual
console, where
CTRL+ALT+DEL was pressed.
I need the console in a shutdownselect.service file (and in the script)
where the user pressed CTRL+ALT+DEL.
I cannot figure out how to do it.
The script started from systemd gets for the tty command "not a tty"
best regards,
Martin
PS: The implemenation goes like this "shutdownselect.sh":
#!/bin/bash
CURR_TTY=`/usr/bin/tty`
case "$CURR_TTY" in
/dev/tty*)
;;
*)
echo "err: $CURR_TTY" >>/tmp/debug.txt
exit 0
esac
CURR_TTY_N=${CURR_TTY#/dev/tty}
** switch to tty 63**
** display dialog **
chvt $CURR_TTY_N
shutdownselect.service (which is required in ctrl-alt-del.target)
[Unit]
Description=Reboot GUI
DefaultDependencies=no
AllowIsolate=yes
JobTimeoutSec=30min
JobTimeoutAction=reboot-force
[Service]
ExecStart=/tmp/shutdownselect