vufa / deepin-wine-wechat-arch

Tencent WeChat on Deepin Wine(com.qq.weixin.deepin) For Archlinux

Home Page:https://aur.archlinux.org/packages/deepin-wine-wechat/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KDE桌面切换到deepin-wine后无法启动

HE7086 opened this issue · comments

system: Manjaro KDE
kernel: 5.2.11-1
wine --version: wine-4.15
deepin-wine --version: wine-2.18

全新安装后参照readme中的方法切换到deepin-wine后程序无法启动
在terminal下运行sh "/opt/deepinwine/apps/Deepin-WeChat/run.sh" -u %u
env WINEPREFIX="$HOME/.deepinwine/Deepin-WeChat" sh "/opt/deepinwine/apps/Deepin-WeChat/run.sh" -u %u输出为

X Error of failed request:  BadWindow (invalid Window parameter)                    
  Major opcode of failed request:  20 (X_GetProperty)
  Resource id in failed request:  0x0
  Serial number of failed request:  10
  Current serial number in output stream:  10

删除~/.deepinwine后运行env WINEPREFIX="$HOME/.deepinwine/Deepin-WeChat" sh "/opt/deepinwine/apps/Deepin-WeChat/run.sh" -u %u

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (806E9),ASM)

Scanning the drive for archives:
1 file, 3827860 bytes (3739 KiB)             

Extracting archive: /opt/deepinwine/apps/Deepin-WeChat/files.7z
--
Path = /opt/deepinwine/apps/Deepin-WeChat/files.7z
Type = 7z
Physical Size = 3827860
Headers Size = 8640
Method = LZMA2:24 BCJ
Solid = +
Blocks = 2

Everything is Ok                               

Folders: 111
Files: 919
Size:       27643420
Compressed: 3827860
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  20 (X_GetProperty)
  Resource id in failed request:  0x0
  Serial number of failed request:  10
  Current serial number in output stream:  10

运行ps aux | grep -i wechat发现没有任何程序启动

用原本的wine运行是没有问题的,只是边框无法隐藏的问题没法解决

commented

AUR@bsidb 提供了如下的具体步骤:

1. 修改/opt/deepinwine/apps/Deepin-WeChat目录下的run.sh文件,将其中的wine改成deepin-wine(需要先安装)。 
2. 退出已经打开的Wechat。删除~/.deepinwine/Deepin-WeChat/目录。 
3. 重新运行Wechat,会重新走一遍安装流程。重新安装之后就没有透明窗口的问题了。

运行 deepin-wine-wechat 时直接运行 run.sh 或应用菜单中的启动项即可

@countstarlight
直接运行脚本或应用菜单的启动项只会有在任务栏有一个图标一闪而过,检查后发现并没有相关进程启动

我的切换为deepin-wine也不能启动了

解决了
deepin-wine依赖了gnome-settings-daemon 直接从pacman安装即可
安装后需要再在run.sh内添加一行使其在运行微信时后台工作
切换到deepin-wine后不仅解决了边框的残留问题,截图功能也可以正常使用了

具体做法:

  1. 安装依赖sudo pacman -S gnome-settings-daemon
  2. 修改/opt/deepinwine/apps/Deepin-WeChat/run.sh 在开头插入一行/usr/lib/gsd-xsettings & (不确定是否需要nohup)
  3. 删除原先的微信目录rm -rf ~/.deepinwine/Deepin-WeChat
  4. 运行run.sh或直接运行启动项

@HE7086 经测试,的确解决了边框残留问题(同时解决了托盘不能点击的问题),感谢。
#29

@HE7086
前天突然打开不了了,偶尔能打开,找到这个issue,安装了gnome-settings-daemon,但是运行提示错误

$ /usr/lib/gsd-xsettings                   

(gsd-xsettings:4877): xsettings-plugin-WARNING **: 10:13:05.550: You can only run one xsettings manager at a time; exiting
Failed to start: Could not initialize xsettings manager.

系统环境是manjaro+deepin

@feileb
刚刚在虚拟机下试了一下 deepin桌面环境不需要安装gsd就可以正常运行的
不论是原本的wine还是改用deepin-wine都没啥问题
看你的错误提示应该是重复运行了gsd-xsettings,这个依赖是kde,i3wm之类的非gnome系的de才需要的,别的环境装上可能会有问题
要避免其反复运行的话可以把启动的脚本改为

if [[ -z $(ps -e | grep -o gsd-xsettings) ]]
then    
    /usr/lib/gsd-xsettings &
fi

或者直接随系统启动

还不行的话最好还是卸载干净全部重新安装一遍,记得把~/.deepinwine也删掉


更新:如果上面的启动命令不加 & 可能会导致run.sh在后台挂起等待gsd-xsettings进程结束。具体表现则是需要打开两遍才能显示微信窗口。同时这条指令也可能会影响到run.sh的其他功能,建议加到大概在75行位置的RunApp() 的函数内再运行。

@HE7086
之前删除.deepinwine/Deepin-WeChat试了好多次,每次都可以出现安装界面,但是不一定能出登录界面
今天回公司突然又正常了,试了几次都能正常启动,后面如果再出问题看看规律再来更新

commented
  1. 用原本的wine运行是没有问题的,只是边框无法隐藏的问题没法解决。
  2. 修改为deepin-wine(已安装)后,直接运行应用菜单的启动项只会有在任务栏有一个图标一闪而过,检查后发现并没有相关进程启动
  3. 桌面环境:kde
  4. 已安装gnome-settings-daemon,并将/usr/lib/gsd-xsettings设为开机自启;

修改/opt/deepinwine/apps/Deepin-WeChat/run.sh 在开头插入一行/usr/lib/gsd-xsettings &试过了也不行,每次操作前也都rm -rf ~/.deepinwine/Deepin-WeChat了的

(PS:deepinwine.com.qq.im的run.sh里面也是使用的deepin-wine是正常的)

commented

解决了
deepin-wine依赖了gnome-settings-daemon 直接从pacman安装即可
安装后需要再在run.sh内添加一行使其在运行微信时后台工作
切换到deepin-wine后不仅解决了边框的残留问题,截图功能也可以正常使用了

具体做法:

  1. 安装依赖sudo pacman -S gnome-settings-daemon
  2. 修改/opt/deepinwine/apps/Deepin-WeChat/run.sh 在开头插入一行/usr/lib/gsd-xsettings & (不确定是否需要nohup)
  3. 删除原先的微信目录rm -rf ~/.deepinwine/Deepin-WeChat
  4. 运行run.sh或直接运行启动项

@HE7086 可以问下是怎么解决的吗?:)

if [[ -z $(ps -e | grep -o gsd-xsettings) ]]
then    
    /usr/lib/gsd-xsettings &
fi

也试过了还是不行

@Kyle-Ye
直接在终端运行run.sh有什么错误提示嘛
我按照上面的过程操作过之后已经稳定使用到现在了没啥故障

commented

run.sh内容如下

usr/lib/gsd-xsettings &
#!/bin/sh

#   Copyright (C) 2016 Deepin, Inc.
#
#   Author:     Li LongYu <lilongyu@linuxdeepin.com>
#               Peng Hao <penghao@linuxdeepin.com>

WINEPREFIX="$HOME/.deepinwine/Deepin-WeChat"
APPDIR="/opt/deepinwine/apps/Deepin-WeChat"
APPVER="2.6.2.31deepin0"
WECHAT_INSTALLER="WeChatSetup"
APPTAR="files.7z"
PACKAGENAME="com.wechat"
WINE_CMD="wine"

HelpApp()
...

第一次如下,后面两条单独执行usr/lib/gsd-xsettings也会有

➜  ./run.sh         
➜  Deepin-WeChat wine: cannot find 'c:\Program Files\Tencent\WeChat\WeChat.exe'

(gsd-xsettings:20585): xsettings-plugin-WARNING **: 09:51:38.929: Failed to get current display configuration state: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Name "org.gnome.Mutter.DisplayConfig" does not exist

(gsd-xsettings:20585): xsettings-plugin-WARNING **: 09:51:38.934: Unable to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

第二次执行,如下,应该是gsd多开导致的

➜  Deepin-WeChat ./run.sh     
➜  Deepin-WeChat wine: cannot find 'c:\Program Files\Tencent\WeChat\WeChat.exe'

(gsd-xsettings:20647): xsettings-plugin-WARNING **: 09:52:08.048: You can only run one xsettings manager at a time; exiting
Failed to start: Could not initialize xsettings manager.

@HE7086

目前我的配置如下

#!/bin/sh    
    
...

WINE_CMD="deepin-wine"

...

RunApp()
{
    if [[ -z "$(ps -e | grep -o gsd-xsettings)" ]]
    then
        /usr/lib/gsd-xsettings &
    fi
...

按照你的配置一样尝试过后发现也是可以正常运行的
清除安装目录重新运行时会得到与你第一次执行同样的报错,但是可以运行
这应该是正常的,由于只安装了设置而没有DE导致,并不影响使用
同时收到:

wine: cannot find L"C:\\windows\\system32\\winemenubuilder.exe"
wine version: 2.18
Could not load wine-gecko. HTML rendering will be disabled.
wine: configuration in '/home/he/.deepinwine/Deepin-WeChat' has been updated.
Wine cannot find the ncurses library (libncurses.so.5).
wine: cannot find L"C:\\windows\\system32\\winemenubuilder.exe"
wine: cannot find L"C:\\windows\\system32\\winemenubuilder.exe"
wine: cannot find L"C:\\windows\\system32\\winemenubuilder.exe"
wine: cannot find L"C:\\windows\\system32\\winemenubuilder.exe"

感觉可能不是同一个问题 先改下脚本 或许重新安装试试

commented
  • @HE7086 谢谢,今天重装后已成功解决,只修改wine为deepin-wine即可
  • 奇怪昨天也重装了n篇deepin-wine都还是不行
  • 以及应该不是gsd的问题
    ➜ ~ ps -e | grep -o gsd-xsettings
    发现没有gsd也能正常使用

@Kyle-Ye 我跟你遇到的问题一样,上面提到的办法都试过了,还没有解决,请问你说的重新安装是指的什么?是删掉.deepinwine重新走一边微信安装流程还是-Rsn掉,重新安装deep-wine-wechat配置run.sh?谢

commented

@debugbb
我是昨天开始run中wine也打开不了微信,于是操作

  1. 使用yay deepin-wine-weChat重新安装
  2. 然后直接运行发现可以wine进入有bug的微信安装,于是退出安装
  3. 修改run.sh为deepin-wine, 然后删除缓存rm -rf ~/.deepinwine/Deepin-WeChat
  4. 然后运行wechat,安装界面还是有边框,安装成功后运行就一切正常了。

建议使用上述方法时,先确保安装sudo pacman -S gnome-settings-daemon

@Kyle-Ye 我是安装也能用,但是退出后,再启动没反应,我再重新试一下吧,谢谢

解决了,总算搞定了,因为我安装的时候,更换了安装路径
如果更换了安装路径,请复制一下安装界面中识别出来的路径,然后一定记着去run.sh中把以下更换成更换后的路径(大约在32行):
env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "Z:\home\xxx\apps\wechat\WeChat.exe" &

切换到最新版本deepin-wine,无法打开,各位有碰到吗?

commented

是否试过手动 /usr/lib/gsd-xsettings,然后打开
以及你的问题是之前可以,然后某天更新deep-wine后突然不行了吗? @iceqing

sh输出fixme:wlanapi:WlanGetAvailableNetworkList (0x1, {00000000-0000-0000-0000-000000000000}, 0x1, (nil), 0x8ede920) stub
就不动了。有遇到的么?

是否试过手动 /usr/lib/gsd-xsettings,然后打开
以及你的问题是之前可以,然后某天更新deep-wine后突然不行了吗? @iceqing

@Kyle-Ye
不好意思, 我发现是微信版本的原因,切换到2.6.8可以了,仓库中最新版本的 2.7.1.85,最新版本貌似
deepin-wine打开容易报错,容易崩溃
#32

解决了,总算搞定了,因为我安装的时候,更换了安装路径
如果更换了安装路径,请复制一下安装界面中识别出来的路径,然后一定记着去run.sh中把以下更换成更换后的路径(大约在32行):
env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "Z:\home\xxx\apps\wechat\WeChat.exe" &

对的,我也是这样解决的,具体位置对应 /opt/deepinwine/apps/Deepin-WeChat/run.sh 中的 CallApp() 函数内的地方

AUR@bsidb 提供了如下的具体步骤:

1. 修改/opt/deepinwine/apps/Deepin-WeChat目录下的run.sh文件,将其中的wine改成deepin-wine(需要先安装)。 
2. 退出已经打开的Wechat。删除~/.deepinwine/Deepin-WeChat/目录。 
3. 重新运行Wechat,会重新走一遍安装流程。重新安装之后就没有透明窗口的问题了。

运行 deepin-wine-wechat 时直接运行 run.sh 或应用菜单中的启动项即可

没想到最新版本 deepin-wine6 bug真多。。。。。。。。