mirror of
https://github.com/valoq/bwscripts.git
synced 2023-12-13 21:30:26 +01:00
42 lines
1.5 KiB
Bash
42 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
DBPROXYID=$(echo $RANDOM | base64)
|
|
DBPROXYPATH="/run/user/$UID/.dbus-proxy"
|
|
|
|
if [[ ! -d "$DBPROXYPATH" ]]
|
|
then
|
|
mkdir "$DBPROXYPATH"
|
|
fi
|
|
|
|
## zypak expects a dbus socket, so we use a proxy to isolate the real one
|
|
xdg-dbus-proxy unix:path=/run/user/"$UID"/bus /run/user/"$UID"/.dbus-proxy/session-bus-proxy-"$DBPROXYID" &
|
|
|
|
(
|
|
exec bwrap \
|
|
--ro-bind /usr/bin /usr/bin \
|
|
--ro-bind /usr/share/ /usr/share/ \
|
|
--ro-bind /usr/lib /usr/lib \
|
|
--ro-bind /lib /lib \
|
|
--ro-bind /lib64 /lib64 \
|
|
--proc /proc \
|
|
--dev /dev \
|
|
--ro-bind /etc /etc \
|
|
--ro-bind /run/user/"$(id -u)"/"$WAYLAND_DISPLAY" /run/user/"$(id -u)"/"$WAYLAND_DISPLAY" \
|
|
--ro-bind /run/user/"$(id -u)"/pipewire-0 /run/user/"$(id -u)"/pipewire-0 \
|
|
--ro-bind /run/user/"$(id -u)"/pulse /run/user/"$(id -u)"/pulse \
|
|
--bind /run/user/"$(id -u)"/.dbus-proxy/session-bus-proxy-"$DBPROXYID" /run/user/"$(id -u)"/bus \
|
|
--bind ~/.config/Signal ~/.config/Signal \
|
|
--unshare-pid \
|
|
--unshare-ipc \
|
|
--unshare-uts \
|
|
--unshare-cgroup \
|
|
--new-session \
|
|
--seccomp 10 \
|
|
10< /usr/local/bin/seccomp_default_filter.bpf \
|
|
/usr/bin/zypak-wrapper signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland
|
|
)
|
|
|
|
## other electron apps may require a different startup for zypak, like:
|
|
# /usr/bin/zypak-wrapper electron19 /usr/lib/MYELECTRONAPP --enable-features=UseOzonePlatform -ozone-platform=wayland
|
|
|