Files
ktouchV2/DEBIAN/postinst
T
2026-06-12 16:54:32 +08:00

137 lines
3.4 KiB
Bash

#!/bin/sh
BUILDDATE="2025年 09月 25日"
KTVERSION="2.0"
MYDIR=/opt/ktouch
APPDIR=$MYDIR/desktops
# AUTODIR=/etc/xdg/autostart
MENUDIR=/usr/share/applications
BINDIR=/usr/bin
log_path=${MYDIR}
inslog_path=${MYDIR}/install.log
LOGINUSER=$(whoami)
NUSER=${SUDO_USER}
set_autostart()
{
SUSER=$NUSER
if [ "$NUSER" = "" ];then
echo "注意!用户是空,应该使用sudo dpkg 来安装。"
echo "用户名为[$SUSER], 免root操作触摸屏和开机自启动都不能正常工作。" >> $log_path
SUSER="1000"
fi
# 生成服务文件内容
SERVICE_CONTENT="[Unit]
Description=Kushidou Touchscreen Remap Daemon
After=display-manager.service
Requires=display-manager.service
[Service]
Type=simple
User=$SUSER
Group=$SUSER
Environment=DISPLAY=:0
#Environment=XAUTHORITY=/home/$NUSER/.Xauthority
ExecStart=/usr/bin/python3 /opt/ktouch/kscreen-remap-daemon
Restart=always
RestartSec=5
StartLimitInterval=0
[Install]
WantedBy=graphical.target"
# 写入服务文件
SERVICE_FILE="/etc/systemd/system/ktouch_daemon.service"
echo "$SERVICE_CONTENT" > "$SERVICE_FILE" || {
echo "写入服务文件失败: $SERVICE_FILE"
exit 1
}
# 重新加载systemd配置
systemctl daemon-reload || {
echo "重新加载systemd配置失败。"
exit 1
}
# 启用服务自启动
systemctl enable ktouch_daemon.service || {
echo "启用服务自启动失败。"
exit 1
}
# 开启服务
systemctl start ktouch_daemon.service || {
echo "启用服务失败。"
exit 1
}
echo "服务已成功配置并启动。"
}
echo "==========INSTALL===========" >> ${APPDIR}/install.log
echo "=>即将安装触摸屏设置软件ktouch v2">> ${inslog_path}
echo "build date: $BUILDDATE" >> ${inslog_path}
echo "ver: $KTVERSION" >> ${inslog_path}
echo "install: $(date)" >> ${inslog_path}
# start menu
install -p -m 0755 -o root -g root ${APPDIR}/touchscreen-config.desktop ${MENUDIR}
install -p -m 0755 -o root -g root ${APPDIR}/touchscreen-now.desktop ${MENUDIR}
install -p -m 0755 -o root -g root ${APPDIR}/touchscreen-auto.desktop /etc/xdg/autostart
#ICOS
cp ${APPDIR}/*.png /usr/share/pixmaps/
#USR/BIN
if [ -f ${BINDIR}/kscreen-remap ];then
rm -f ${BINDIR}/kscreen-remap
fi
if [ -f ${BINDIR}/kscreen-remap ];then
rm -f ${BINDIR}/kscreen-kscreen-remap-daemon
fi
if [ -f ${BINDIR}/kscreen-remap ];then
rm -f ${BINDIR}/kscreen-setup
fi
if [ -f ${BINDIR}/kscreen-remap ];then
rm -f ${BINDIR}/kscreen-log
fi
ln -s /opt/ktouch/kscreen-remap /usr/bin/kscreen-remap
ln -s /opt/ktouch/kscreen-remap-daemon /usr/bin/kscreen-remap-daemon
ln -s /opt/ktouch/kscreen-setup /usr/bin/kscreen-setup
ln -s /opt/ktouch/kscreen-log /usr/bin/kscreen-log
ln -s /opt/ktouch/kscreen-debug /usr/bin/kscreen-debug
ln -s /opt/ktouch/kdisplay /usr/bin/kdisplay
chmod 0777 /opt/ktouch/* -R
# 将用户加入input组
usermod -a -G input $NUSER
usermod -a -G dialout $NUSER
# 设置自启动
set_autostart
# 禁用UOS自动触摸屏弹窗
if [ -f /usr/lib/deepin-daemon/dde-touchscreen-dialog ];then
mv /usr/lib/deepin-daemon/dde-touchscreen-dialog /usr/lib/deepin-daemon/dde-touchscreen-dialog.disable
fi
# 禁用麒麟V10触摸设置工具
if [ -d /var/screen ];then
mv /var/screen /var/screen.disable
fi
echo "安装已经完成。如果是首次安装,请重启电脑,否则无法打开触摸屏设备"