Мои коллеги нашли следующее решение:
.dmrc должен быть
[Desktop]
Session=default
.Xclients-значение-по-умолчанию, .xinitrc, и .xsessions должны иметь
application-for-user-to-interact-with &
/usr/local/bin/fvwm2 -f $HOME/system.fvwm2rc
сценарий входа в систему гнома должен быть
pkill -n gnome-session
pkill -n gconfd
kde-сценарий-входа-в-систему должен быть
pkill -n kwrapper
pkill -n gconfd
Измените/etc/X11/gdm/gdm.conf, таким образом, он указывает
ShowLastSession=false
DefaultSession=default.desktop
Добавьте к ~lcsoper/.bash_profile:
if [ "$TERM" != "dumb" -a "$SSH_CLIENT" != "" ]; then
application-for-user-to-interact-with
fi
kill -9 $$
завершать сессию, если что-то другое, чем значение по умолчанию было выбрано. Пока пользователь не может изменить оболочки или изменить .bashrc, затем только менеджер окон "по умолчанию" может работать.
Да, так или иначе сон не работает на меня ни один (я использую Ubuntu 10.04). Я не уверен, что следующим решением является лучшее, но это, кажется, работает.
Создайте дополнительную новомодную задачу, скажем, post-sleep.conf (вход, добавленный для ясности):
description "Sleep when the job finishes" task script echo "Sleeping..." | logger -t "post-sleep-job" /bin/sleep 60s echo "Done sleeping" | logger -t "post-sleep-job" end script
Добавьте следующее к заданию, которое должно спать после завершения работы:
post-stop script start post-sleep end script
Используйте экземпляры в первом сценарии, если несколько заданий должны ожидать перед полным завершением работы. Однако я думаю, еще лучшее и больше надежного решения должны были бы полагаться на события.