可能开始的一两次依然需要扫码,我在重启三次后记住了登陆状态。
有没有docker我不知道,但是确实和我安装了一个xDroid有关吧
mark
好奇他们是怎么发现这个原因的
mark
好奇他们是怎么发现这个原因的
好像是 Docker 会在每次启动随机 MAC 地址
老哥老哥,急求。启动qq报错了,说是网络原因,可能前面你那个什么网络配置没搞对?
终端中的内容:
version_config_filename :/home/keqing/.config/QQ/versions/config.json
app_package_filename :/opt/QQ/resources/app/package.json
config_build_id :22961
config_base_version :3.2.7-22961
config_current_version :3.2.7-22961
app_build_version :22961
version_config_filename :/home/keqing/.config/QQ/versions/config.json
version_config_filename :/home/keqing/.config/QQ/versions/config.json
app_package_filename :/opt/QQ/resources/app/package.json
app_package_filename :/opt/QQ/resources/app/package.json
config_build_id :22961
config_build_id :22961
config_base_version :3.2.7-22961
config_base_version :3.2.7-22961
config_current_version :3.2.7-22961
config_current_version :3.2.7-22961
app_build_version :22961
app_build_version :22961
[preload] succeeded. /opt/QQ/resources/app/major.node
[preload] succeeded. /opt/QQ/resources/app/major.node
[32043:0418/204235.119419:ERROR:browser_main_loop.cc(276)] GLib-GObject: g_value_set_boxed: assertion 'G_VALUE_HOLDS_BOXED (value)' failed
[32043:0418/204235.190439:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[32043:0418/204235.190489:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[32043:0418/204235.190508:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[32043:0418/204235.190523:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[32043:0418/204235.277447:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
Error occurred in handler for 'get-remote-win': Error: No handler registered for 'get-remote-win'
at WebContents. (node:electron/js2c/browser_init:2:86829)
at WebContents.emit (node:events:517:28)
[32043:0418/204235.994008:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[32043:0418/204235.994803:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[32043:0418/204235.998563:ERROR:object_*****.cc(577)] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
我就改了一个地方,就是把enp7s0改成了wlo1。
#!/bin/bash
# 创建网络命名空间
ip netns add linuxqq
# 创建 vethqq 对
ip link add vethqq1 type veth peer name vethqq2
# 将 vethqq2 移至新的网络命名空间
ip link set vethqq2 netns linuxqq
# 配置 IP 地址
ip addr add 10.0.0.1/24 dev vethqq1
ip link set vethqq1 up
ip netns exec linuxqq ip addr add 10.0.0.2/24 dev vethqq2
ip netns exec linuxqq ip link set vethqq2 up
ip netns exec linuxqq ip link set lo up
# 添加默认网关
ip netns exec linuxqq ip route add default via 10.0.0.1
# iptables 配置
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F FORWARD
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.255.0 -o wlo1 -j MASQUERADE
iptables -A FORWARD -o wlo1 -i vethqq1 -j ACCEPT
iptables -A FORWARD -i wlo1 -o vethqq1 -j ACCEPT
附上我ifconfig的回显结果:
我就改了一个地方,就是把enp7s0改成了wlo1。
#!/bin/bash
# 创建网络命名空间
ip netns add linuxqq
# 创建 vethqq 对
ip link add vethqq1 type veth peer name vethqq2
# 将 vethqq2 移至新的网络命名空间
ip link set vethqq2 netns linuxqq
# 配置 IP 地址
ip addr add 10.0.0.1/24 dev vethqq1
ip link set vethqq1 up
ip netns exec linuxqq ip addr add 10.0.0.2/24 dev vethqq2
ip netns exec linuxqq ip link set vethqq2 up
ip netns exec linuxqq ip link set lo up
# 添加默认网关
ip netns exec linuxqq ip route add default via 10.0.0.1
# iptables 配置
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F FORWARD
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.255.0 -o wlo1 -j MASQUERADE
iptables -A FORWARD -o wlo1 -i vethqq1 -j ACCEPT
iptables -A FORWARD -i wlo1 -o vethqq1 -j ACCEPT
附上我ifconfig的回显结果:
把
echo 1 > /proc/sys/net/ipv4/ip_forward
换成
sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
试试
把
echo 1 > /proc/sys/net/ipv4/ip_forward
换成
sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
试试
我这边已经大致能够正常启动了。不过因为sudo单独的环境原因,我没法在其上创建的QQ程序中正常切换到中文输入法,而是只能使用英文,这种情况你知道该怎么解决嘛?
把
echo 1 > /proc/sys/net/ipv4/ip_forward
换成
sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
试试
好吧,经过我的测试我已经发现,使用重命名的网络空间对我没有帮助,我的登陆ip固定下来了也提示我是新设备。他宝了个贝的就离谱。而且sudo启动QQ我没办法启用中文输入法,我所有程序都是这样,你没遇到这个情况吗?
至于你说的exec无法输入密码,需要免密有风险的问题,你要不要尝试把Exec改成下面的内容?
deepin-terminal -e 'sudo ip netns exec linuxqq setsid sudo -u keqing "/opt/QQ/qq" %U &'
注意改一下用户名和linuxQQ程序位置,会弹出一个终端窗口,输入密码之后终端进入后台会话启动QQ,而不需要免密,应该可用,我在终端中试过这个命令,但还没在Exec中试过,因为整个方法对我不起作用所以我就没放进desktop中
好吧,经过我的测试我已经发现,使用重命名的网络空间对我没有帮助,我的登陆ip固定下来了也提示我是新设备。他宝了个贝的就离谱。而且sudo启动QQ我没办法启用中文输入法,我所有程序都是这样,你没遇到这个情况吗?
至于你说的exec无法输入密码,需要免密有风险的问题,你要不要尝试把Exec改成下面的内容?
deepin-terminal -e 'sudo ip netns exec linuxqq setsid sudo -u keqing "/opt/QQ/qq" %U &'
注意改一下用户名和linuxQQ程序位置,会弹出一个终端窗口,输入密码之后终端进入后台会话启动QQ,而不需要免密,应该可用,我在终端中试过这个命令,但还没在Exec中试过,因为整个方法对我不起作用所以我就没放进desktop中
我也发现了,输入法不可用,QQ不稳定,不用了。
当时整好光顾着测试能不能保持登陆状态了。
我也发现了,输入法不可用,QQ不稳定,不用了。
当时整好光顾着测试能不能保持登陆状态了。
可是启动程序不需要sudo命令才对,只是进入命名空间需要啊
我的使用网络命名空间后还需要固定一下mac地址,我用保存mac地址的方法解决的,不然依旧没法保存登录状态
免密风险的话也可以把sudo改成pkexec用polkit输密码验证
这里有一个更好的方法:https://alampy.com/2024/05/15/fix-mac-for-linux-qq/ 不需要sudo和pkexec
方案中涉及配置 sudo 命令无密码执行,可能存在安全风险,没有想到好办法绕过去,各位如有好的建议欢迎提出!
序
QQ一直无法记住登陆状态,以为是 BUG,结果大家大部分人是能够记住登陆状态的,看AUR评论得知与Docker有关,且可通过指定软件命名空间的方式解决,遂着手尝试。目前重启两次,QQ均能记住登陆状态,分享一下过程:
配置网络命名空间
保存以下脚本,以当前用户目录为例(
/home/luijp/netns_linuxqq.sh
)请根据实际情况更改。注意修改
enp7s0
为自己的网卡,可通过ip addr
获取网卡信息配置开机运行脚本
由于网络命名空间重启失效,这里需要配置开机启动,根据实际情况修改脚本地址:
/etc/systemd/system/linuxqq.service
开机启用脚本
sudo systemctl enable linuxqq.service
配置sudo无密码执行(谨慎)
由于桌面图标
.desktop
无法输入密码,这里需要配置无密码。修改为自己的用户名:
配置图标
修改
~/Desktop/qq.desktop
和/usr/share/applications/qq.desktop
文件中的exec
部分,注意用户名修改为自己的: