网站设计师绩效,深圳最近消息,电子书推送网站怎么做,广州seo全网营销文章目录 一、麒麟V10#xff08;kylin#xff09;操作系统中#xff0c;sudo执行程序后#xff0c;其环境变量依然为用户家目录。#xff08;1#xff09;背景#xff08;2#xff09;原因#xff08;3#xff09;解决办法 二、统信#xff08;UOS#xff09;操作… 文章目录 一、麒麟V10kylin操作系统中sudo执行程序后其环境变量依然为用户家目录。1背景2原因3解决办法 二、统信UOS操作系统中QWidget中插入图片边框显示黑色1原因2解决办法 一、麒麟V10kylin操作系统中sudo执行程序后其环境变量依然为用户家目录。
1背景 我的程序在通过sudo去安装程序安装包时总会在用户目录下新建一个root所属组的文件导致程序后续都无法使用该配置文件。而在除了麒麟v10的系统上没有该问题。 // 1安装deb包
sudo dpkg -i qq_1520.deb// (2deb解压后包含postinst安装脚本里面执行了升级程序
#!/bin/bash
/opt/QQ/qqupdate /dev/null 21 // (3该升级程序使用QT生成会有文件写入操作
QSettings s(QSettings::NativeFormat, QSettings::UserScope, my_exe, qq);
s.setValue(key, value);// 4kylin会在家目录下生成并且该文件所属组是root当家目录用户使用该文件时则没有权限
/home/guofucheng/.config/my_exe/qq.conf// 5展示文件信息
-rw-r--r-- 1 root root 22 2月 20 16:00 qq.conf2原因 写一个最直接的demo可以说明根本的原因当前在家目录下麒麟v10操作系统的$home环境变量为用户目录而其他操作系统的该变量为/root是正确的因为sudo安装安装包时运行就应该是以根用户运行而新建的文件也应该生成到根目录下。 // 麒麟v10
sudo bash -c echo $HOME
/home/guofucheng// 其他操作系统
sudo bash -c echo $HOME
/root如何知道是该环境变量导致的该问题呢 因为在QSettings中如果不指定确切的路径它默认创建的目录会使用QDir::homePath()所获取的路径该函数在linux下是通过$HOME环境变量来获取的。 3解决办法 就是在麒麟v10下让文件生成到根目录不影响到家目录用户。手动添加环境变量到根目录影响面最小。 HOME/root /opt/QQ/qqupdate /dev/null 21 二、统信UOS操作系统中QWidget中插入图片边框显示黑色
1原因
如果未开启窗口特效功能那么程序中如果插入包含透明背景的图片会显示黑色
2解决办法
图片本身去掉圆角去掉透明。或者在系统设置中开启窗口特效功能。