2021-10-19 14:09:58 +08:00
|
|
|
|
#!/bin/sh
|
2025-05-30 10:48:13 +08:00
|
|
|
|
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
|
|
|
|
|
|
|
2021-10-20 15:55:15 +08:00
|
|
|
|
# debug标志,可用于试运行的debug
|
2023-10-26 15:47:11 +08:00
|
|
|
|
export QT_DEBUG_PLUGINS=1
|
2021-10-19 14:09:58 +08:00
|
|
|
|
# 获取应用名称(如应用名称为app,那么脚本为app.sh
|
|
|
|
|
|
appname=`basename $0 | sed s,\.sh$,,`
|
|
|
|
|
|
# 获取应用当前目录
|
2025-05-30 10:48:13 +08:00
|
|
|
|
cd /home/GUI
|
2021-10-19 14:09:58 +08:00
|
|
|
|
dirname=`dirname $0`
|
|
|
|
|
|
tmp="${dirname#?}"
|
|
|
|
|
|
# 判断目录是不是根目录
|
|
|
|
|
|
if [ "${dirname%$tmp}" != "/" ];
|
|
|
|
|
|
then
|
|
|
|
|
|
dirname=$PWD/$dirname
|
|
|
|
|
|
fi
|
|
|
|
|
|
# 将当前目录(库所在目录)加入环境变量
|
|
|
|
|
|
LD_LIBRARY_PATH=$dirname
|
|
|
|
|
|
export LD_LIBRARY_PATH
|
2023-10-26 15:47:11 +08:00
|
|
|
|
# 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
|
|
|
|
|
|
# 运
|
2025-05-30 10:48:13 +08:00
|
|
|
|
$dirname/$appname --no-sandbox "$@"
|