Package Details: wps-office-bwrap 1.0-2

Git Clone URL: https://aur.archlinux.org/wps-office-bwrap.git (read-only, click to copy)
Package Base: wps-office-bwrap
Description: use bubblewrap sandbox to stop wpscloudsvr
Upstream URL: https://blog.ruo-chen.wang/2021/08/bwrap-wps.html
Keywords: wps
Licenses: custom
Submitter: plokid
Maintainer: plokid
Last Packager: plokid
Votes: 2
Popularity: 0.000001
First Submitted: 2023-02-10 01:40 (UTC)
Last Updated: 2023-02-11 03:26 (UTC)

Latest Comments

anlorsp commented on 2025-03-04 07:13 (UTC) (edited on 2025-03-04 07:32 (UTC) by anlorsp)

现在wps需要/run的读权限才能联网。另外需要添加xdg-user-dir依赖。

我自己改进了一下这个脚本,主要改进内容: 1. 尊重XDG_CONFIG_HOME和XDG_DIR_HOME配置 2. 移除部分不必要的读写权限 3. 允许访问目标文件所在目录。wps会在目标文件所在目录下创建一个锁文件,通常是.~目标文件名。这样的话其它类microsoft office软件就能够识别该锁文件。 4. 不再使用unshare-all。模仿com.wps.Office flatpak包的权限列表放开ipc权限。 5. 根据bwrap推荐添加--new-session参数。 6. 不再屏蔽/run 7. 挂载/dev/dri以允许硬件加速 8. 允许只读访问用户字体目录

修改如下:

12a13,15
> XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
> XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
> 
14,16c17,19
< for dir in fontconfig gtk-2.0 gtk-3.0 gtk-4.0 kingsoft Kingsoft; do
<     if [ ! -d ~/.config/"$dir" ]; then mkdir ~/.config/"$dir"; fi
<     binds+=(--bind ~/.config/"$dir" ~/.config/"$dir")
---
> for dir in kingsoft Kingsoft; do
>     if [ ! -d "${XDG_CONFIG_HOME}/$dir" ]; then mkdir "${XDG_CONFIG_HOME}/$dir"; fi
>     binds+=(--bind "${XDG_CONFIG_HOME}/$dir" "${XDG_CONFIG_HOME}/$dir")
18,19c21,22
< binds+=(--bind ~/.config/mimeapps.list ~/.config/mimeapps.list)
< binds+=(--bind ~/.local/share/Kingsoft ~/.local/share/Kingsoft)
---
> binds+=(--bind "${XDG_CONFIG_HOME}/mimeapps.list" "${XDG_CONFIG_HOME}/mimeapps.list")
> binds+=(--bind "${XDG_DATA_HOME}/Kingsoft" "${XDG_DATA_HOME}/Kingsoft")
25,26c28,29
<     path="$(realpath "$file")"
<     binds+=(--bind "$path" "$path")
---
>     file_path="$(realpath "$(dirname "$file")")"
>     binds+=(--bind "$file_path" "$file_path")
29c32
< exec bwrap --unshare-all --share-net --die-with-parent \
---
> exec bwrap --new-session --unshare-user-try --unshare-pid --unshare-cgroup-try --die-with-parent \
31c34,35
<     --tmpfs /sys --tmpfs /home --tmpfs /tmp --tmpfs /run --proc /proc --dev /dev \
---
>     --tmpfs /sys --tmpfs /home --tmpfs /tmp --proc /proc --dev /dev \
>     --dev-bind /dev/dri /dev/dri \
33a38
>     --ro-bind "${XDG_DATA_HOME}/fonts" "${XDG_DATA_HOME}/fonts" \

<deleted-account> commented on 2023-02-11 00:22 (UTC)

~~需要创建.config/gtk-2.0文件夹 才可正常运行~~