#!/bin/sh LANG=ru_RU.UTF-8 DCOP=/usr/kde/3.5/bin/dcop kex() { echo $0 echo Скрипт вызван недопустимым образом exit 1 } test -z "$1" && kex if [ ! -z "$2" ] then case $2 in *1*|*2*|*3*|*4*|*5*|*6*|*7*|*8*|*9*) SECONDS=$2 ;; *) kex ;; esac else SECONDS=5 fi case $1 in logout) KSHUTDOWN="$DCOP --all-users --all-sessions ksmserver default logout 0 0 1" ;; reboot) KSHUTDOWN="$DCOP --all-users --all-sessions ksmserver default logout 0 1 1" OPERATION=" и перезагружаю машину" ;; halt) KSHUTDOWN="$DCOP --all-users --all-sessions ksmserver default logout 0 2 1" OPERATION=" и останавливаю машину" ;; *) kex ;; esac if [ ! -z "`pidof dcopserver`" ] then wall Закрываю все пользовательские сессии KDE через $SECONDS секунд $OPERATION logger Закрываю все пользовательские сессии KDE через $SECONDS секунд $OPERATION sleep $SECONDS $KSHUTDOWN else case $1 in logout) echo Нет активных сессий KDE ;; reboot) wall Перезагружаю машину через $SECONDS секунд test -z "`grep init=/sbin/initng /proc/cmdline`" && reboot || system_off reboot ;; halt) wall Перезагружаю машину через $SECONDS секунд test -z "`grep init=/sbin/initng /proc/cmdline`" && halt || system_off halt ;; esac fi #EOF установен на Three Finger Salute в inittab, acpid и прочее, чтобы корректно завершать сессию KDE