1 |
# $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_sessions.sh,v 1.4 2005-04-12 20:54:16 niro Exp $ |
# $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_sessions.sh,v 1.5 2005-04-13 16:09:53 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() |
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 |
|
#"select session from cfg_sessions where serial='${ALX_SERIAL}'") |
15 |
|
|
16 |
#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) |
17 |
declare -i i=0 |
declare -i i=0 |
30 |
export ALX_SESSIONS |
export ALX_SESSIONS |
31 |
} |
} |
32 |
|
|
33 |
|
get_autostart_settings() |
34 |
|
{ |
35 |
|
#get settings from database |
36 |
|
ALX_AUTOSTART=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
37 |
|
"select session from cfg_autostart where serial='${ALX_SERIAL}'") |
38 |
|
|
39 |
|
export ALX_SESSIONS |
40 |
|
} |
41 |
|
|
42 |
|
generate_ica_session_files() |
43 |
|
{ |
44 |
|
local all_ids |
45 |
|
local i |
46 |
|
local x |
47 |
|
local k |
48 |
|
local server |
49 |
|
local ses_session |
50 |
|
local ses_filename |
51 |
|
local ses_username |
52 |
|
local ses_domain |
53 |
|
local ses_password |
54 |
|
local ses_browseradrs |
55 |
|
|
56 |
|
#get settings from database |
57 |
|
all_ids=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
58 |
|
"select id from cfg_sessions where serial='${ALX_SERIAL}'") |
59 |
|
|
60 |
|
declare -i x=0 |
61 |
|
for i in ${all_ids} |
62 |
|
do |
63 |
|
# get settings |
64 |
|
ses_session[${x}]=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
65 |
|
"select session from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'") |
66 |
|
|
67 |
|
ses_filename[${x}]=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
68 |
|
"select filename from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'") |
69 |
|
|
70 |
|
ses_username[${x}]=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
71 |
|
"select username from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'") |
72 |
|
|
73 |
|
ses_domain[${x}]=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
74 |
|
"select domain from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'") |
75 |
|
|
76 |
|
ses_password[${x}]=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
77 |
|
"select password from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'") |
78 |
|
|
79 |
|
ses_browseradrs[${x}]=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
80 |
|
"select browseradrs from cfg_sessions where serial='${ALX_SERIAL}' and id='${i}'") |
81 |
|
|
82 |
|
# write session files |
83 |
|
echo '[WFClient]' > ${ALX_ICA_SESSIONS}/${ses_filename} |
84 |
|
echo 'Version=2' >> ${ALX_ICA_SESSIONS}/${ses_filename} |
85 |
|
OLD_IFS="$IFS" |
86 |
|
IFS=";" |
87 |
|
declare -i k=0 |
88 |
|
for server in ${ses_browseradrs[${x}]} |
89 |
|
do |
90 |
|
(( k++ )) |
91 |
|
echo "TcpBrowserAddress${k}=${server}" >> ${ALX_ICA_SESSIONS}/${ses_filename} |
92 |
|
done |
93 |
|
IFS="${OLD_IFS}" |
94 |
|
unset k |
95 |
|
unset OLD_IFS |
96 |
|
|
97 |
|
echo 'ScreenPercent=0' >> ${ALX_ICA_SESSIONS}/${ses_filename} |
98 |
|
|
99 |
|
echo '[ApplicationServers]' >> ${ALX_ICA_SESSIONS}/${ses_filename} |
100 |
|
echo "${ses_session[${x}]}=" >> ${ALX_ICA_SESSIONS}/${ses_filename} |
101 |
|
|
102 |
|
echo "[${ses_session[${x}]}]" >> ${ALX_ICA_SESSIONS}/${ses_filename} |
103 |
|
echo "Address=${ses_session[${x}]}" >> ${ALX_ICA_SESSIONS}/${ses_filename} |
104 |
|
echo "InitialProgram=#${ses_session[${x}]}" >> ${ALX_ICA_SESSIONS}/${ses_filename} |
105 |
|
echo 'DesiredColor=3' >> ${ALX_ICA_SESSIONS}/${ses_filename} |
106 |
|
echo 'TransportDriver=TCP/IP' >> ${ALX_ICA_SESSIONS}/${ses_filename} |
107 |
|
echo 'WinStationDriver=ICA 3.0' >> ${ALX_ICA_SESSIONS}/${ses_filename} |
108 |
|
echo "ClearPassword=${ses_password[${x}]}" >> ${ALX_ICA_SESSIONS}/${ses_filename} |
109 |
|
echo "Username=${ses_username[${x}]}" >> ${ALX_ICA_SESSIONS}/${ses_filename} |
110 |
|
echo "Domain=${ses_domain[${x}]}" >> ${ALX_ICA_SESSIONS}/${ses_filename} |
111 |
|
echo 'UseFullScreen=Yes' >> ${ALX_ICA_SESSIONS}/${ses_filename} |
112 |
|
echo 'NoWindowManager=True' >> ${ALX_ICA_SESSIONS}/${ses_filename} |
113 |
|
done |
114 |
|
|
115 |
|
(( x++ )) |
116 |
|
} |
117 |
|
|
118 |
config_sessions() |
config_sessions() |
119 |
{ |
{ |
120 |
|
# generate ica session files |
121 |
|
generate_ica_session_files |
122 |
|
|
123 |
#first of all get the vars |
#first of all get the vars |
124 |
get_sessions_settings |
get_sessions_settings |
125 |
|
get_autostart_settings |
126 |
|
|
127 |
local count=${#ALX_SESSIONS[*]} |
local count=${#ALX_SESSIONS[*]} |
128 |
local icon |
local icon |
152 |
cat ${ALX_SKELETONS}/fluxbox/apps \ |
cat ${ALX_SKELETONS}/fluxbox/apps \ |
153 |
> ${ALX_UNPRIV_HOME}/.fluxbox/apps |
> ${ALX_UNPRIV_HOME}/.fluxbox/apps |
154 |
|
|
155 |
|
# add autostart session |
156 |
|
if [[ ${ALX_AUTOSTART} != "" ]] |
157 |
|
then |
158 |
|
echo "[startup] {wfica ${ALX_ICA_SESSIONS}/${ALX_AUTOSTART}}" \ |
159 |
|
>> ${ALX_UNPRIV_HOME}/.fluxbox/apps |
160 |
|
fi |
161 |
|
|
162 |
# fluxbox hotkeys |
# fluxbox hotkeys |
163 |
cat ${ALX_SKELETONS}/fluxbox/apps \ |
cat ${ALX_SKELETONS}/fluxbox/apps \ |
164 |
> ${ALX_UNPRIV_HOME}/.fluxbox/keys |
> ${ALX_UNPRIV_HOME}/.fluxbox/keys |