Добавлен скрипт вывода всех активных пользователей из сеанса

master3.3
parent 813a1a6e72
commit a5b94533bc

@ -0,0 +1,50 @@
# Calculate chmod=0755
#!/bin/bash
source /lib/rc/sh/functions.sh
variable_value()
{
local varname=$1
/usr/sbin/cl-core-variables-show --only-value $varname
}
ONLINE_USERS="`variable_value desktop.cl_desktop_online_user`"
# если есть пользователи в сеансе или выполняется выход
if [[ -n $ONLINE_USERS ]] || pgrep -f 'xdm/xdm --logout' &>/dev/null
then
# есть пользователи в сеансе
if [[ -n $ONLINE_USERS ]]
then
ebegin "Logout users"
# переменная online_data возвращает строки пользователь,дисплей
for user_disp in $(variable_value desktop.cl_desktop_online_data | sed -r "s/;/ /g")
do
user=$(echo $user_disp | cut -d, -f1)
disp=$(echo $user_disp | cut -d, -f2)
# завершаем сессию пользователя
/usr/sbin/cl-core --method desktop_logout $user &>/dev/null
# удаляем запить о пользователе
/usr/bin/sessreg -d -l :$disp $user &>/dev/null
# выполняем принудительный выход из сеанса
USER="$user" /usr/share/calculate/xdm/xdm --logout &>/dev/null &
done
eend 0
fi
# ожидаение завершения процесса выхода пользователя из сеанса
if pgrep -f 'xdm/xdm --logout' &>/dev/null
then
ebegin "Please wait for complete logout"
for i in {1..500}
do
if pgrep -f 'xdm/xdm --logout' &>/dev/null
then
sleep 1
else
break
fi
done
eend 0
fi
fi

@ -18,7 +18,7 @@
# limitations under the License.
__app__ = "calculate-client"
__version__ = "3.1.4"
__version__ = "3.1.5"
import os
import stat
@ -33,6 +33,7 @@ import sys
data_files = []
data_files += [('/etc/init.d', ['data/client'])]
data_files += [('/usr/sbin', ['data/logout'])]
data_files += [('/usr/share/calculate/xdm/login.d',
['data/login.d/10client'])] +\
[('/usr/share/calculate/xdm/logout.d',
@ -74,6 +75,7 @@ class cl_install_data(install_data):
def run (self):
install_data.run(self)
data_file = [("/etc/init.d/client",0755),
("/usr/sbin/logout",0755),
("/usr/share/calculate/xdm/wait_domain",0755)]
fileNames = map(lambda x: os.path.split(x[0])[1], data_file)
listNames = map(lambda x: filter(lambda y: y, x[0].split("/")),

Loading…
Cancel
Save