@leaeasy
我想,可以考虑将 $(xdg-user-dir DOWNLOAD)
目录绑定沙盒中,方便文件另存为和将下载目录下的文件拖拽至窗口。
Git Clone URL: | https://aur.archlinux.org/wechat-universal-bwrap.git (read-only, click to copy) |
---|---|
Package Base: | wechat-universal-bwrap |
Description: | WeChat (Universal) with bwrap sandbox |
Upstream URL: | https://linux.weixin.qq.com/ |
Licenses: | GPLv3, proprietary |
Conflicts: | wechat-universal |
Provides: | wechat-universal |
Replaces: | wechat-beta, wechat-beta-bwrap |
Submitter: | 7Ji |
Maintainer: | 7Ji (leaeasy) |
Last Packager: | 7Ji |
Votes: | 130 |
Popularity: | 3.69 |
First Submitted: | 2024-03-14 03:09 (UTC) |
Last Updated: | 2024-12-24 07:50 (UTC) |
« First ‹ Previous 1 .. 29 30 31 32 33 34 35 36 37 38 39 Next › Last »
@leaeasy
我想,可以考虑将 $(xdg-user-dir DOWNLOAD)
目录绑定沙盒中,方便文件另存为和将下载目录下的文件拖拽至窗口。
gnome下当前版本使用耳机进行微信语音对方会有电流声,这个问题还有其他人出现吗?
arch+kde6+wayland+fcitx5,目前使用该包体验不错,大多数功能都能正常使用。
就是有两个问题,一个是emoji表情没法正确显示,一个是发送文件不方便。我对bwrap的了解不够多,不知道是因为bwrap虚拟机的问题,还是上游软件没实现这个功能。
但是为维护者点赞,有你这样积极的archer是我们用户和社区的荣幸😘
@MoetaYuko
你说的这两个解决方案,我尝试了一遍。
我添加了 flatpak-xdg-utils
依赖,并修改了 wechat.sh
中的 xdg-open
的路径,也软链接了路径,目前打开文件和打开链接完美工作。
虽然你提到了设置软链接方式,但貌似并不满意,对此我也很认同,我有考虑看能不能解决,但找寻 bwrap
类似包的实现,都没有提到这个。
我目前对快捷方式解决方案很满意。
PKGBUILD
...
- depends=('nss' 'xdg-utils' 'libxss' 'libnotify' 'bubblewrap'
+ depends=('flatpak-xdg-utils' 'nss' 'xdg-utils' 'libxss' 'libnotify' 'bubblewrap'
'xdg-user-dirs' 'xdg-desktop-portal' 'openssl-1.1' 'lsb-release')
source=(
wechat.sh
wechat-beta.desktop
wechat-beta.png
license.tar.gz
)
...
wechat.sh
...
+ if [ ! -e "$HOME/xwechat_files" ]; then
+ ln -s $(xdg-user-dir DOCUMENTS)/WeChat_Data/xwechat_files $HOME/xwechat_files
+ fi
exec bwrap \
--dev-bind / / \
--bind "${WECHAT_HOME_DIR}" "${HOME}" \
--ro-bind-try "${HOME}/.fontconfig"{,} \
--ro-bind-try "${HOME}/.fonts"{,} \
--ro-bind-try "${HOME}/.config/fontconfig"{,} \
--ro-bind-try "${HOME}/.local/share/fonts"{,} \
--ro-bind {/usr/share/wechat-uos,}/var/ \
--ro-bind {/usr/share/wechat-uos,}/etc/os-release \
--ro-bind {/usr/share/wechat-uos,}/etc/lsb-release \
- --ro-bind-try /usr/lib/snapd-xdg-open/xdg-open /usr/bin/xdg-open \
+ --ro-bind-try /usr/lib/flatpak-xdg-utils/xdg-open /usr/bin/xdg-open \
${BWRAP_ENV_APPEND} \
/opt/wechat-beta/wechat $@
...
关于双击打开文件和右键在文件夹中打开没反应的问题找到了解决方案:
~/文档/WeChat_Data
作为容器内的 HOME,导致容器内存放文件的路径 ~/xwechat_files/
与容器外 ~/文档/WeChat_Data/xwechat_files/
不一致,flatpak-xdg-open 似乎并不能处理这种映射关系。wechat-linux-bwrap 使用了一个比较 trivial 的 workaround:https://aur.archlinux.org/cgit/aur.git/tree/wechat.sh?h=wechat-linux-bwrap#n75,直接在容器外面创建 ~/xwechat_files -> ~/文档/WeChat_Data/xwechat_files/
的软链接。不过我觉得如果有办法在 bwrap 里面处理会更好一些大家的内置浏览器能打开吗?我装完订阅号、小程序、朋友圈等全是空白
@lihe07 感谢,删除后普通用户确实可以正常运行了。 那用户数据目录会有影响吗?
@qxqzx 修改/usr/bin/wechat-beta,删掉下面内容
KDE)
SCALE_FACTOR=$(kreadconfig6 --group KScreen --key ScaleFactor --default 1.0)
BWRAP_ENV_APPEND="${BWRAP_ENV_APPEND} --setenv QT_SCALE_FACTOR ${SCALE_FACTOR}"
;;
@XDwanj Fcitx5环境变量是配了的,相同配置在3月8日的版本是可以用的,后续新版本就不能用了。
各位大哥请教一下,我在聊天中传输的文件右键打开位置时,dolhpin默认的缩放很大,看起来像是放大了两次,系统是Arch+kde,系统设置的缩放是1.5,环境变量只有这几个
DEEPIN_WINE_SCALE=1.5
GTK_USE_PORTAL=1
QT_QPA_PLATFORM="wayland;xcb"
ELECTRON_OZONE_PLATFORM_HINT=auto
QT_AUTO_SCREEN_SCALE_FACTOR=1
QT_ENABLE_HIGHDPI_SCALING=1
我要怎么解决这个问题?
Pinned Comments
shilka commented on 2025-02-13 11:08 (UTC)
@dazuixia @lyhokia @swimming03 你们是否也使用了非GNOME/KDE的其他wayland WM/DE? 又研究了一下这个问题,如果不使用bwrap沙盒直接执行wechat是可以的,排除了wechat本身的问题。我认为问题出在bwrap、xwayland的配合和调用上面,导致微信无法在xwayland中启动。我使用的WM是Hyprland,推测可能和各个WM/DE有一定的关系。目前我找到一个可行的缓解方式,安装:
xwayland-satellite
,并提前执行这一程序,之后正常启动wechat-universal。@7Ji 如果其他人也可以缓解,烦请置顶一下这个解决方案,或者如果您很熟悉bwrap,是否可以看看通过某些参数解决它和xwayland的交互问题。
7Ji commented on 2024-03-14 06:21 (UTC) (edited on 2024-12-26 09:08 (UTC) by 7Ji)
本软件包在Github上亦有仓库: https://github.com/7Ji-PKGBUILDs/wechat-universal-bwrap/ (仓库未启用issues,有问题请直接在此页面提出)
各位如有改进意见,欢迎在Github仓库页提交PR :)
抓取新版本的脚本和PKGBUILD在同一层。执行
python fetch_uos_wechat_release.py
获取UOS仓库内的重打包版本,执行./fetch_tencent_wechat_release.sh
获取腾讯官方的版本。如果发现软件过期,请善用本界面的标记过期功能。:)默认配置下,只有
~/Documents/WeChat_Data/home
作为容器内的~
,其他宿主文件和文件夹均不暴露在容器内可以编写
~/.config/wechat-universal/binds.list
来设置更多的被暴露到容器内的文件/文件夹,每行一个路径,绝对路径或相对于~
的相对路径要将微信文件的主要路径修改至
~/Documents/WeChat_Data
外的其他路径,请设置环境变量WECHAT_DATA_DIR
,同理为绝对路径或相对于~
的相对路径更多参数与环境变量,请在命令行输入
wechat-universal --help
查看