summaryrefslogtreecommitdiffstats
path: root/move/move.pm
diff options
context:
space:
mode:
Diffstat (limited to 'move/move.pm')
-rw-r--r--move/move.pm7
1 files changed, 6 insertions, 1 deletions
diff --git a/move/move.pm b/move/move.pm
index abdf35575..e2377fd7b 100644
--- a/move/move.pm
+++ b/move/move.pm
@@ -153,6 +153,8 @@ sub init {
install2::handleI18NClp();
}
+ touch '/var/run/rebootctl';
+
drakx_stuff:
$o->{steps}{$_} = { reachable => 1, text => $_ }
foreach qw(initGraphical autoSelectLanguage handleI18NClp verifyKey configMove startMove);
@@ -289,7 +291,7 @@ sub key_installfiles {
}
sub reboot {
- touch '/tmp/reboot'; #- tell X_move to not respawn
+ output('/var/run/rebootctl', "reboot"); #- tell X_move to not respawn
system("killall X"); #- kill it ourselves to be sure that it won't lock console when killed by our init
exit 0;
}
@@ -536,6 +538,8 @@ sub install2::startMove {
output("/var/run/console/$username", 1);
run_program::run('pam_console_apply');
+ run_program::run('chown', "$username.root", '/var/run/rebootctl');
+
touch '/var/run/utmp';
run_program::run('runlevel_set', '5');
member($_, qw(xfs dm devfsd syslog)) or run_program::run($_, 'start') foreach glob('/etc/rc.d/rc5.d/*');
@@ -560,6 +564,7 @@ sub install2::startMove {
$ENV{LOGNAME} = $ENV{USER} = $username;
$ENV{HOME} = $home;
$ENV{SHELL} = $shell;
+ $ENV{XDM_MANAGED} = '/var/run/rebootctl,maysd,mayfn,sched'; #- for reboot/halt availability of "logout" by kde
exec 'startkde_move';
} else {
exec 'xwait' or c::_exit(0);