Deepin QQ、TIM等软件无法加载图片及头像的解决方案
本文首发于博客园( https://www.cnblogs.com/ArrowKeys/p/12639235.html ),禁止转载。
参考: https://github.com/wszqkzqk/deepin-wine-ubuntu/issues/222
问题的大致原因是QQ在Linux上总想走ipv6,但鉴于现在ipv6的情况,肯定是用不了的。不完美的解决方案是直接禁用本机的ipv6协议,但问题有二:一是毕竟还是有一些用户有使用ipv6的需要,二是一些用户反映禁用ipv6以后问题依然没有解决。那么完美的解决方案就是在本机架一个代理,让QQ走代理,这样可以强制其使用ipv4,同时不对其它应用造成影响。
笔者使用的系统是Ubuntu 18.04。原issue中有人提到了v 2ray和squid,这里推荐squid这个方案,因为它在Ubuntu软件源中,可以直接使用apt安装,而且配置起来很简单。
首先通过sudo apt install squid
安装squid,然后打开/etc/squid/squid.conf
修改它的配置。这里我们需要修改2个位置。
- 找到不以“#”号开头的
http_port
选项。该选项控制代理服务器在本机监听的端口。将其修改为http_port 1099
。1099是参考issue中最后一个回帖者“wtdcode”给出的端口号,也可以自行选择其它端口号。 - 找到不以“#”号开头的
http_access deny all
选项。该选项控制可通过代理服务器的客户端,默认的deny all
表示禁用所有。将其修改为http_access allow all
,即允许所有。
经过前述修改后保存文件,之后重启squid服务,即sudo systemctl restart squid
,这一步可能需要一点时间。
最后在QQ登录界面点右上角的设置图标,将第一行的代理类型修改为“HTTP代理”,地址写上本机地址127.0.0.1
,端口设为刚才设置的端口,确定即可。确定前也可点击“测试”按钮测试能否成功连接代理服务器。
后记
经笔者测试发现deepin QQ无法保存代理服务器设置。解决方案为找一个Windows环境,在其中设置QQ代理并保存。之后将我的文档\Tencent Files\All Users\QQ
中全部文件复制出来,覆盖到Linux下“文档”文件夹中的对应位置(即文档/Tencent Files/All Users/QQ
)。该方案的副作用是已记住的密码将被清除,重新输入一次并选择记住密码即可。
初步判断是deepin QQ因为未知原因无法正常将配置写入该文件夹下的配置文件中,但读取配置是正常的。也因此,如果想要将代理设置改回来,需要再次在Windows环境下设置,然后将配置拷贝到Linux下。