52 lines
1.3 KiB
Bash
52 lines
1.3 KiB
Bash
#!/bin/sh
|
||
USCT_USER="usct"
|
||
USCT_HOME="/home/$USCT_USER"
|
||
XAUTH_FILE="$USCT_HOME/.Xauthority"
|
||
|
||
MAX_WAIT_SECONDS=30
|
||
WAIT_INTERVAL=1
|
||
ELAPSED_TIME=0
|
||
|
||
while [ $ELAPSED_TIME -lt $MAX_WAIT_SECONDS ]; do
|
||
if [ -f "$XAUTH_FILE" ] && pgrep -u "$USCT_USER" kwin_x11 > /dev/null; then
|
||
echo "User $USCT_USER's X session and .Xauthority found."
|
||
break
|
||
fi
|
||
sleep $WAIT_INTERVAL
|
||
ELAPSED_TIME=$((ELAPSED_TIME + WAIT_INTERVAL))
|
||
echo "Waiting for $USCT_USER's X session... ($ELAPSED_TIME/$MAX_WAIT_SECONDS seconds)"
|
||
done
|
||
|
||
if [ $ELAPSED_TIME -ge $MAX_WAIT_SECONDS ]; then
|
||
echo "Timeout waiting for $USCT_USER's X session. Exiting."
|
||
exit 1
|
||
fi
|
||
|
||
# debug标志,可用于试运行的debug
|
||
export QT_DEBUG_PLUGINS=1
|
||
# 获取应用名称(如应用名称为app,那么脚本为app.sh
|
||
appname=`basename $0 | sed s,\.sh$,,`
|
||
# 获取应用当前目录
|
||
cd /home/GUI
|
||
dirname=`dirname $0`
|
||
tmp="${dirname#?}"
|
||
# 判断目录是不是根目录
|
||
if [ "${dirname%$tmp}" != "/" ];
|
||
then
|
||
dirname=$PWD/$dirname
|
||
fi
|
||
# 将当前目录(库所在目录)加入环境变量
|
||
LD_LIBRARY_PATH=$dirname
|
||
export LD_LIBRARY_PATH
|
||
# unset XDG_SESSION_DESKTOP
|
||
unset XDG_CURRENT_DESKTOP
|
||
unset KDE_FULL_SESSION
|
||
unset DESKTOP_SESSION
|
||
# unset KDE_SESSION_UID
|
||
# :wqunset KDE_SESSION_VERSION
|
||
# unset XDG_SEAT
|
||
# unset XDG_SEAT_PATH
|
||
# set XDG_SESSION_TYPE=tty
|
||
# 运
|
||
$dirname/$appname --no-sandbox "$@"
|