Skip to content

Commit 572d0a0

Browse files
committed
fix wayland init and do setcap in docker build step
1 parent 16e5b2d commit 572d0a0

3 files changed

Lines changed: 44 additions & 12 deletions

File tree

Dockerfile

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ LABEL maintainer="thelamer"
88

99
# title
1010
ENV TITLE="Arch KDE" \
11-
NO_GAMEPAD=true
11+
NO_GAMEPAD=true \
12+
SELKIES_WAYLAND_SOCKET_INDEX=1
1213

1314
RUN \
1415
echo "**** add icon ****" && \
@@ -29,6 +30,17 @@ RUN \
2930
sed -i \
3031
's#^Exec=.*#Exec=/usr/local/bin/wrapped-chromium#g' \
3132
/usr/share/applications/chromium.desktop && \
33+
setcap -r \
34+
/usr/sbin/kwin_wayland && \
35+
rm -f \
36+
/usr/bin/wl-paste \
37+
/usr/bin/wl-copy && \
38+
echo "#! /bin/bash" > \
39+
/tmp/wl-paste && \
40+
echo "#! /bin/bash" > \
41+
/tmp/wl-copy && \
42+
chmod +x /tmp/wl-* && \
43+
cp /tmp/wl-* /usr/bin/ && \
3244
echo "**** kde tweaks ****" && \
3345
sed -i \
3446
's/applications:org.kde.discover.desktop,/applications:org.kde.konsole.desktop,/g' \

Dockerfile.aarch64

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ LABEL maintainer="thelamer"
88

99
# title
1010
ENV TITLE="Arch KDE" \
11-
NO_GAMEPAD=true
11+
NO_GAMEPAD=true \
12+
SELKIES_WAYLAND_SOCKET_INDEX=1
1213

1314
RUN \
1415
echo "**** add icon ****" && \
@@ -29,6 +30,17 @@ RUN \
2930
sed -i \
3031
's#^Exec=.*#Exec=/usr/local/bin/wrapped-chromium#g' \
3132
/usr/share/applications/chromium.desktop && \
33+
setcap -r \
34+
/usr/sbin/kwin_wayland && \
35+
rm -f \
36+
/usr/bin/wl-paste \
37+
/usr/bin/wl-copy && \
38+
echo "#! /bin/bash" > \
39+
/tmp/wl-paste && \
40+
echo "#! /bin/bash" > \
41+
/tmp/wl-copy && \
42+
chmod +x /tmp/wl-* && \
43+
cp /tmp/wl-* /usr/bin/ && \
3244
echo "**** kde tweaks ****" && \
3345
sed -i \
3446
's/applications:org.kde.discover.desktop,/applications:org.kde.konsole.desktop,/g' \

root/defaults/startwm_wayland.sh

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,25 @@ sudo mv \
4949
kbuildsycoca6
5050

5151
# Wayland Hacks
52-
unset DISPLAY
53-
sudo setcap -r /usr/sbin/kwin_wayland
54-
sudo rm -f /usr/sbin/wl-paste /usr/sbin/wl-copy
55-
echo "#! /bin/bash" > /tmp/wl-paste && chmod +x /tmp/wl-paste
56-
echo "exit 0" > /tmp/wl-copy && chmod +x /tmp/wl-copy
57-
sudo cp /tmp/wl-* /usr/sbin/
5852
if ! grep -q "ozone-platform" /usr/local/bin/wrapped-chromium > /dev/null 2>&1; then
5953
sudo sed -i 's/--password/--ozone-platform=wayland --password/g' /usr/local/bin/wrapped-chromium
6054
fi
6155

62-
# Start DE
63-
WAYLAND_DISPLAY=wayland-1 dbus-run-session kwin_wayland &
64-
sleep 2
65-
WAYLAND_DISPLAY=wayland-0 exec dbus-run-session /usr/bin/plasmashell > /dev/null 2>&1
56+
# Export variables globally so all children inherit them
57+
export QT_QPA_PLATFORM=wayland
58+
export XDG_CURRENT_DESKTOP=KDE
59+
export XDG_SESSION_TYPE=wayland
60+
export KDE_SESSION_VERSION=6
61+
unset DISPLAY
62+
dbus-run-session bash -c '
63+
WAYLAND_DISPLAY=wayland-1 kwin_wayland --no-lockscreen &
64+
KWIN_PID=$!
65+
sleep 2
66+
if [ -f /usr/lib/libexec/polkit-kde-authentication-agent-1 ]; then
67+
/usr/lib/libexec/polkit-kde-authentication-agent-1 &
68+
elif [ -f /usr/libexec/polkit-kde-authentication-agent-1 ]; then
69+
/usr/libexec/polkit-kde-authentication-agent-1
70+
fi
71+
WAYLAND_DISPLAY=wayland-0 plasmashell
72+
kill $KWIN_PID
73+
' > /dev/null 2>&1

0 commit comments

Comments
 (0)