Magellan Linux

Diff of /alx-src/branches/alxconf-060/functions/config_sessions.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 239 by niro, Tue Apr 12 20:46:52 2005 UTC revision 272 by niro, Thu Apr 28 22:45:05 2005 UTC
# Line 1  Line 1 
1  # $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_sessions.sh,v 1.3 2005-04-12 20:45:55 niro Exp $  # $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_sessions.sh,v 1.7 2005-04-28 22:45:05 niro Exp $
2  # configures ica-sessions on the host via mysql db settings  # configures ica-sessions on the host via mysql db settings
3    
4  get_sessions_settings()  get_sessions_settings()
# Line 10  get_sessions_settings() Line 10  get_sessions_settings()
10    
11   #get settings from database   #get settings from database
12   all=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \   all=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
13   "select session from cfg_sessions where serial='${ALX_SERIAL}'")   "select filename from cfg_sessions where serial='${ALX_SERIAL}'")
14    
15   #split'em up and put in an array (only if $all not zero)   #split'em up and put in an array (only if $all not zero)
16   declare -i i=0   declare -i i=0
# Line 29  get_sessions_settings() Line 29  get_sessions_settings()
29   export ALX_SESSIONS   export ALX_SESSIONS
30  }  }
31    
32    get_autostart_settings()
33    {
34     #get settings from database
35     ALX_AUTOSTART=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
36     "select session from cfg_autostart where serial='${ALX_SERIAL}'")
37    
38     export ALX_AUTOSTART
39    }
40    
41    generate_ica_session_files()
42    {
43     local all_ids
44     local i
45     local x
46     local server
47     local ses_session
48     local ses_filename
49     local ses_username
50     local ses_domain
51     local ses_password
52     local ses_browseradrs
53     local ses_colors
54    
55     #get settings from database
56     all_ids=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
57     "select id from cfg_sessions where serial='${ALX_SERIAL}'")
58    
59     for i in ${all_ids}
60     do
61     # get settings
62     ses_session=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
63     "select session from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'")
64    
65     ses_filename=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
66     "select filename from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'")
67    
68     ses_username=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
69     "select username from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'")
70    
71     ses_domain=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
72     "select domain from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'")
73    
74     ses_password=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
75     "select password from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'")
76    
77     ses_browseradrs=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
78     "select browseradrs from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'")
79    
80     # get the right colors
81     ses_colors=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
82     "select depth from cfg_graphic where serial='${ALX_SERIAL}'")
83     case ${ses_colors} in
84     24) ses_colors="8";;
85     16) ses_colors="4";;
86     8) ses_colors="2";;
87     *) ses_colors="2";;
88     esac
89    
90     # write session files
91     echo '[WFClient]' > ${ALX_ICA_SESSIONS}/${ses_filename}
92     echo 'Version=2' >> ${ALX_ICA_SESSIONS}/${ses_filename}
93     OLD_IFS="$IFS"
94     IFS=";"
95     declare -i x=0
96     for server in ${ses_browseradrs}
97     do
98     (( x++ ))
99     echo "TcpBrowserAddress${x}=${server}" >> ${ALX_ICA_SESSIONS}/${ses_filename}
100     done
101     IFS="${OLD_IFS}"
102     unset x
103     unset OLD_IFS
104    
105     echo 'ScreenPercent=0' >> ${ALX_ICA_SESSIONS}/${ses_filename}
106    
107     echo '[ApplicationServers]' >> ${ALX_ICA_SESSIONS}/${ses_filename}
108     echo "${ses_session}=" >> ${ALX_ICA_SESSIONS}/${ses_filename}
109    
110     echo "[${ses_session}]" >> ${ALX_ICA_SESSIONS}/${ses_filename}
111     echo "Address=${ses_session}" >> ${ALX_ICA_SESSIONS}/${ses_filename}
112     echo "InitialProgram=#${ses_session}" >> ${ALX_ICA_SESSIONS}/${ses_filename}
113     echo 'DesiredColor=${ses_colors}' >> ${ALX_ICA_SESSIONS}/${ses_filename}
114     echo 'TransportDriver=TCP/IP' >> ${ALX_ICA_SESSIONS}/${ses_filename}
115     echo 'WinStationDriver=ICA 3.0' >> ${ALX_ICA_SESSIONS}/${ses_filename}
116     echo "ClearPassword=${ses_password}" >> ${ALX_ICA_SESSIONS}/${ses_filename}
117     echo "Username=${ses_username}" >> ${ALX_ICA_SESSIONS}/${ses_filename}
118     echo "Domain=${ses_domain}" >> ${ALX_ICA_SESSIONS}/${ses_filename}
119     echo 'UseFullScreen=Yes' >> ${ALX_ICA_SESSIONS}/${ses_filename}
120     echo 'NoWindowManager=True' >> ${ALX_ICA_SESSIONS}/${ses_filename}
121     done
122    }
123    
124  config_sessions()  config_sessions()
125  {  {
126     # generate ica session files
127     generate_ica_session_files
128    
129   #first of all get the vars   #first of all get the vars
130   get_sessions_settings   get_sessions_settings
131     get_autostart_settings
132    
133   local count=${#ALX_SESSIONS[*]}   local count=${#ALX_SESSIONS[*]}
134   local icon   local icon
135     local i
136    
137   # DEBUG   # DEBUG
138   declare -i i=0  # declare -i i=0
139   echo count=${count}  # echo count=${count}
140   echo "Number of new sessions: ${count}"  # echo "Number of new sessions: ${count}"
141   for ((i=0; i < count; i++))  # for ((i=0; i < count; i++))
142   do  # do
143   echo "${i} - ${ALX_SESSIONS[${i}]}"  # echo "${i} - ${ALX_SESSIONS[${i}]}"
144   done  # done
145    
146   # now setup fluxbox for user station   # now setup fluxbox for user station
147    
# Line 62  config_sessions() Line 159  config_sessions()
159   cat ${ALX_SKELETONS}/fluxbox/apps \   cat ${ALX_SKELETONS}/fluxbox/apps \
160   > ${ALX_UNPRIV_HOME}/.fluxbox/apps   > ${ALX_UNPRIV_HOME}/.fluxbox/apps
161    
162     # add autostart session
163     if [[ ${ALX_AUTOSTART} != "" ]]
164     then
165     echo "[startup] {wfica ${ALX_ICA_SESSIONS}/${ALX_AUTOSTART}}" \
166     >> ${ALX_UNPRIV_HOME}/.fluxbox/apps
167     fi
168    
169   # fluxbox hotkeys   # fluxbox hotkeys
170   cat ${ALX_SKELETONS}/fluxbox/apps \   cat ${ALX_SKELETONS}/fluxbox/apps \
171   > ${ALX_UNPRIV_HOME}/.fluxbox/keys   > ${ALX_UNPRIV_HOME}/.fluxbox/keys

Legend:
Removed from v.239  
changed lines
  Added in v.272