zq1997 / deepin-wine

【deepin源移植】Debian/Ubuntu上的QQ/微信快速安装方式
https://deepin-wine.i-m.dev
GNU General Public License v3.0
5.12k stars 385 forks source link

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

Open mathgirl796 opened 3 years ago

mathgirl796 commented 3 years ago

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 commented 3 years ago

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

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

mathgirl796 commented 3 years ago

上网搜了一下,发现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 那就合并一下试试吧! 合并-重启 没有任何变化

zq1997 commented 3 years ago

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

mathgirl796 commented 3 years ago

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

俺没有 qaq image

zq1997 commented 3 years ago

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

zq1997 commented 3 years ago

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

mathgirl796 commented 3 years ago

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

zq1997 commented 3 years ago

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

bash -l

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

mathgirl796 commented 3 years ago

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

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

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

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

zq1997 commented 3 years ago

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

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

hello() {
    echo 可用
}

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

mathgirl796 commented 3 years ago

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

mathgirl796 commented 3 years ago

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

附profile.d中文件权限: image

zq1997 commented 3 years ago

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

mathgirl796 commented 3 years ago

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

zq1997 commented 3 years ago

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

lblbk commented 3 years ago

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

zq1997 commented 3 years ago

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

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

@lblbk

lblbk commented 3 years ago

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

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

@lblbk

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

mayujie commented 3 years ago

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

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

解决问题了

gnasnik commented 3 years ago

同样的问题,我安装好之后使用 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!

function2-llx commented 3 years ago

上面的讨论其实已经有结论了:/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 的用户。

zq1997 commented 2 years ago

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

lifeformg commented 1 year ago

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

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