本文主要是通过针对ubu系统相关的使用过程中遇到的问题做一个总结,防止以后再遇到类似问题无从下手,故此做个总结。
1.自定义服务安装通过dpkg卸载后桌面图标仍旧显示问题
解决方法:
因图标文件默认在系统/usr/share/applications/目录下,自定义的启动程序桌面图标文件所在地方,通常自定义安装包deb在安装和卸载脚本中如下指令:
if [ -f "/usr/bin/xdg-desktop-menu" ]; then
#/usr/bin/xdg-desktop-menu install gnome-self_ser.desktop # 安装
/usr/bin/xdg-desktop-menu uninstall gnome-self_ser.desktop # 卸载
xdg-desktop-menu forceupdate
else
rm -rf /usr/share/applications/gnome-self_ser.desktop
fi
上述脚本在使用过程中,如果dpkg -r命令已经卸载了程序,图标仍旧在,可通过dpkg卸载程序时通过将/usr/share/applications/gnome.x.desktop下的gnome.x目录下的相关的文件删除掉。之后再通过update-desktop-database来更新界面数据库存。
2.安装注册服务重启系统时发现服务没有被正常拉起来
解决方案:
目前所使用的操作系统中,都支持systemctl指令来进行自定义开机启动的服务设置(具体协议通过可查阅systemctl命令使用方式)。这里简单列举,自定义注册一个服务:
构建一个my_self_ser.service文件,内部编写相关的注册服务的信息。
cp my_self_ser.service /usr/lib/systemd/system/my_self_ser.service
systemctl enable my_self_ser.service
enable的实际操作是向 /etc/systemd/system/multi-user.target.wants/目录下创建一个软连接,在系统启动的时候主动将子自定义服务拉起来。但是在某些ubu操作系统上发现执行无法拉起,当出现该种情况,可以按变相的操作,安装以及卸载脚本中将对应服务文件创建好,如此可将问题解决
安装:
# create link's my_self_ser
if [ ! -L /etc/systemd/system/multi-user.target.wants/my_self_ser.service ] || [ ! -e /etc/systemd/system/multi-user.target.wants/my_self_ser.service ];then
ln -sf /usr/lib/systemd/system/my_self_ser.service /etc/systemd/system/multi-user.target.wants/my_self_ser.service
fi
卸载:
#unlink soft link of my_self_ser
if [ -L /etc/systemd/system/multi-user.target.wants/my_self_ser.service ] && [ -e /etc/systemd/system/multi-user.target.wants/my_self_ser.service ];then
unlink /etc/systemd/system/multi-user.target.wants/my_self_ser.service
fi
上述来那个脚本在ubu某些系统中无法形成开机自启动动可使用该种方法等效代替。