deepin-wine icon indicating copy to clipboard operation
deepin-wine copied to clipboard

ubuntu 21.04 qq、微信 安装后重启有应用图标,再次重启图标消失

Open mathgirl796 opened this issue 3 years ago • 23 comments

ubuntu 21.04 qq、微信,根据教程安装源,解决lib依赖问题后安装成功。意料之中的没有qq、微信的图表。重启应用图标出现,而且可以正常使用,再次重启图标消失。 而且之后无论是多次重启或是注销登陆,图标都没有再次出现。 在重启之间穿插sudo apt install com.qq.weixin.deepin,都表示已安装。 之后尝试sudo apt remove com.qq.weixin.deepin && sudo apt install com.qq.weixin.deepin,然后重启,仍然没有图标 如果安装的qq和微信有除了菜单图表以外的入口,也请分享一下🙏

mathgirl796 avatar Jun 05 '21 04:06 mathgirl796

通过搜索发现了以下文件: image 内容如下: image 执行其中的Exec(不带-u参数,只用那个字符串) image 运行成功 image 如果程序卡住不动了,只需要在终端ctrl c终止进程,再重新执行命令即可。

我只是找到了没有图标运行程序的方法,希望有高手能把图标这个问题完全修复好

mathgirl796 avatar Jun 05 '21 05:06 mathgirl796

上网搜了一下,发现ubuntu“显示应用程序”里面的图标对应/usr/share/applications里面的.desktop文件。 而我们刚刚从/opt/apps/com.qq.im.deepin/entries/applications里面发现了一个.desktop文件,而且里面的内容还指向执行qq的脚本。 于是我首先尝试把/opt/apps/com.qq.im.deepin/entries/applications/com.qq.im.deepin.desktop复制到/usr/share/applications/com.qq.im.deepin.desktop,结果如下: image 有图标,能打开,但是图标图片不对。 我们查看/usr/share/applications/com.qq.im.deepin.desktop里面的Icon条目,是com.qq.im.deepin 然后我发现/usr/share/icons和/opt/apps/com.qq.im.deepin/entries/icons好像可以合并 image image image 那就合并一下试试吧! 合并-重启 没有任何变化

mathgirl796 avatar Jun 05 '21 05:06 mathgirl796

按理,echo $XDG_DATA_DIRS会显示/opt/apps/com.qq.im.deepin/entries/包含其中,不需要上述手动操作,不过并不清楚为什么无法在你的设备上正常工作。

zq1997 avatar Jun 05 '21 05:06 zq1997

按理,echo $XDG_DATA_DIRS会显示/opt/apps/com.qq.im.deepin/entries/包含其中,不需要上述手动操作,不过并不清楚为什么无法在你的设备上正常工作。

俺没有 qaq image

mathgirl796 avatar Jun 05 '21 05:06 mathgirl796

它由/etc/profile.d/目录下的deepin-wine.i-m.dev.sh脚本执行设置,可能是被其他脚本覆盖了,可自行调试。 (有进不了桌面环境的风险,提前备份好这个目录,进不去桌面就在tty下恢复,问题不大) 欢迎报告提交解决方案pull request,这个问题之前被PR修正了一次现在又有了

zq1997 avatar Jun 05 '21 05:06 zq1997

看截图这个终端似乎和大多数人的不同, 默认是user@host ~$这样,截图里是个箭头。 可能是这个自定义软件它修改了某个profile,修改了profile的配置

zq1997 avatar Jun 05 '21 05:06 zq1997

我的终端默认使用zsh,我进行了以下实验: image image 我是ubuntu新手,希望您再多引导一下

mathgirl796 avatar Jun 05 '21 05:06 mathgirl796

很奇怪,整个profile是正常的,但是它没有被加载,按理不会的。

bash -l

这种方式进入bash,不要source。 然后echo $XDG_DATA_DIRS检查一下。 可能原因是你的profile没有在登录时被加载。

zq1997 avatar Jun 05 '21 06:06 zq1997

新建一个终端,并执行以下实验: image

致可能查看这条issue的朋友们: bash -l :Make bash act as if it had been invoked as a login shell

然后重启电脑,打开新终端执行以下实验: image

保持电脑开机,打开新终端执行以下实验: image

mathgirl796 avatar Jun 05 '21 06:06 mathgirl796

看来之前猜测是对的,profile没有问题,但是它没有被执行。 本来它应该在桌面环境登录时自动执行(所谓bash -l

你可以试试在/etc/profile里面定义一个自定义函数么,看看重启后该函数能否使用? 如

hello() {
    echo 可用
}

如果重启后,直接在zsh(不用bash -l)不能hello命令,说明你的profile没有被加载

zq1997 avatar Jun 05 '21 06:06 zq1997

修改/etc/profile如下: image 重启电脑中,请等待评论更新

mathgirl796 avatar Jun 05 '21 06:06 mathgirl796

重启电脑完成,打开新终端,执行如下实验: image

附profile.d中文件权限: image

mathgirl796 avatar Jun 05 '21 06:06 mathgirl796

说明不是这个项目的问题,/etc/profile中自定义的加载应该是必须进行的,但是不知道为何不能在你的机器上工作。可以自行搜索相关问题“why /etc/profile not work”之类 (和profile.d下面的文件也无关,主profile都没加载起来)

zq1997 avatar Jun 05 '21 06:06 zq1997

记录: 我使用zsh,查询得知,zsh也有一个profile,是/etc/zsh/zprofile 修改其内容如下: image 修改/etc/profile中声明的函数如下: hello() { echo /etc/profile可用 } 重启并进行如下实验: image

mathgirl796 avatar Jun 05 '21 06:06 mathgirl796

请问该设备的DE(桌面环境)和DM(桌面管理器)是什么,默认的Ubuntu应该是gnome和gdm

zq1997 avatar Jun 06 '21 03:06 zq1997

我也遇到这个问题 我的图标一直就没显示过 我是ubuntu21

lblbk avatar Jun 06 '21 08:06 lblbk

https://ubuntuqa.com/zh-tw/article/1813.html

當您以圖形方式登錄時,您運行的是完全不同的東西,詳細信息將取決於您的係統和圖形環境,但通常它是處理您的登錄的圖形 shell 。雖然許多圖形shell(包括Ubuntu默認)將讀取/etc/profile,但並非所有圖形shell都可以。

@lblbk

zq1997 avatar Jun 06 '21 11:06 zq1997

https://ubuntuqa.com/zh-tw/article/1813.html

當您以圖形方式登錄時,您運行的是完全不同的東西,詳細信息將取決於您的係統和圖形環境,但通常它是處理您的登錄的圖形 shell 。雖然許多圖形shell(包括Ubuntu默認)將讀取/etc/profile,但並非所有圖形shell都可以。

@lblbk

好的 谢谢啦 我晚上回去试一下 我按照上面copy图标的方法QQ是可以工作的 微信不行...

lblbk avatar Jun 07 '21 05:06 lblbk

通过搜索发现了以下文件: image 内容如下: image 执行其中的Exec(不带-u参数,只用那个字符串) image 运行成功 image 如果程序卡住不动了,只需要在终端ctrl c终止进程,再重新执行命令即可。

我只是找到了没有图标运行程序的方法,希望有高手能把图标这个问题完全修复好

解决问题了

mayujie avatar Jul 11 '21 17:07 mayujie

同样的问题,我安装好之后使用 zsh 为默认的 shell, 重启电脑之后微信消失了,跟楼上的情况一样,就是 /etc/profile.d/deepin-wine.i-m.dev.sh 这个文件没执行,只能手动把 /opt/apps/com.qq.weixin.deepin/entries/applications/com.qq.weixin.deepin.desktop 拷贝到 /usr/share/applications 目录下,再把 /opt/apps/com.qq.weixin.deepin/entries/icons/hicolor/ 拷贝到 /usr/share/icons/hicolor/ 目录下,然后就正常了,希望有大牛解决一下更改默认 shell 这个问题, Respect!

gnasnik avatar Aug 25 '21 07:08 gnasnik

上面的讨论其实已经有结论了:/etc/profile 是 bash 使用的,而 zsh 读取的是 /etc/zsh/zprofile,是所以对于 zsh 的用户,只需要在这个文件中恰当的位置 source 它就行,比如说:

echo "source /etc/profile" | sudo tee -a /etc/zsh/zprofile

image

这个问题以前在使用 zsh 的时候一直没有遇到,可能是 zprofile 的默认内容发生了变化(以前也许会默认 source /etc/profile?),待查。

总之应该不是本仓库的问题,可以考虑加到常见问题中,提醒使用 zsh 的用户。

function2-llx avatar Sep 06 '21 05:09 function2-llx

echo 'source /etc/profile.d/deepin-wine.i-m.dev.sh' | sudo tee -a /etc/zsh/zprofile 更安全点,最小化变更,最小化副作用

zq1997 avatar Oct 14 '21 04:10 zq1997

echo 'source /etc/profile.d/deepin-wine.i-m.dev.sh' | sudo tee -a /etc/zsh/zprofile 更安全点,最小化变更,最小化副作用

我也是个新手,请问为什么不考虑直接在/usr/share/applications/目录下创建一个启动项呢?

lifeformg avatar Feb 09 '23 03:02 lifeformg