--- alx-src/trunk/alxconfig-ng/functions/config_sessions.sh 2005/09/06 08:43:16 327 +++ alx-src/trunk/alxconfig-ng/functions/config_sessions.sh 2005/09/27 22:50:36 338 @@ -1,4 +1,4 @@ -# $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_sessions.sh,v 1.15 2005-09-06 08:43:16 niro Exp $ +# $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_sessions.sh,v 1.16 2005-09-27 22:50:36 niro Exp $ # configures ica-sessions on the host via mysql db settings get_sessions_settings() @@ -38,11 +38,25 @@ { # get settings from database ALX_AUTOSTART=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ - "select session from cfg_autostart where serial='${ALX_SERIAL}'") + "select session from cfg_autostart where serial='${ALX_SERIAL}'") export ALX_AUTOSTART } +get_screensaver_settings() +{ + ALX_SCRN_SAVER=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ + "select screensaver from cfg_screensaver where serial='${ALX_SERIAL}'") + ALX_SCRN_TIMEOUT=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ + "select timeout from cfg_screensaver where serial='${ALX_SERIAL}'") + ALX_SCRN_PASSWD=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ + "select password from cfg_screensaver where serial='${ALX_SERIAL}'") + + export ALX_SCRN_SAVER + export ALX_SCRN_TIMEOUT + export ALX_SCRN_PASSWD +} + generate_ica_session_files() { local all_ids @@ -437,6 +451,7 @@ # first of all get the vars get_sessions_settings get_autostart_settings + get_screensaver_settings local count=${#ALX_SESSIONS[*]} local icon @@ -467,6 +482,22 @@ cat ${ALX_SKELETONS}/fluxbox/apps \ > ${ALX_UNPRIV_HOME}/.fluxbox/apps + # add screensaver + if [[ -n ${ALX_SCRN_SAVER} ]] && [[ -n ${ALX_SCRN_TIMEOUT} ]] + then + local ALX_PASSWD_CMD + + if [[ -z ${ALX_SCRN_PASSWD} ]] || [[ ${ALX_SCRN_PASSWD} = NULL ]] + then + ALX_PASSWD_CMD="-nolock" + else + ALX_PASSWD_CMD="-cpasswd $(openssl passwd ${ALX_SCRN_PASSWD})" + fi + + echo "[startup] {nohup xautolock -time ${ALX_SCRN_TIMEOUT} -locker 'xlock -mode ${ALX_SCRN_SAVER} ${ALX_PASSWD_CMD}' > /dev/null &}" \ + >> ${ALX_UNPRIV_HOME}/.fluxbox/apps + fi + # add autostart session if [[ ${ALX_AUTOSTART} != "" ]] then @@ -475,7 +506,7 @@ fi # fluxbox hotkeys - cat ${ALX_SKELETONS}/fluxbox/apps \ + cat ${ALX_SKELETONS}/fluxbox/keys \ > ${ALX_UNPRIV_HOME}/.fluxbox/keys # fluxbox menu header @@ -515,10 +546,14 @@ chown ${ALX_UNPRIV_USER}:${ALX_UNPRIV_GROUP} ${ALX_UNPRIV_HOME} chown ${ALX_UNPRIV_USER}:${ALX_UNPRIV_GROUP} ${ALX_UNPRIV_HOME}/.fluxbox chmod 0755 ${ALX_UNPRIV_HOME}/.fluxbox - chmod 0755 ${ALX_UNPRIV_HOME}/.xtdesktop - chmod 0644 ${ALX_UNPRIV_HOME}/.xtdeskrc + chmod 0755 ${ALX_UNPRIV_HOME}/.xtdesktop + chmod 0644 ${ALX_UNPRIV_HOME}/.xtdeskrc # unset vars unset ALX_SESSIONS unset ALX_PROGRAMS + unset ALX_SCRN_SAVER + unset ALX_SCRN_TIMEOUT + unset ALX_SCRN_PASSWD } +