summaryrefslogtreecommitdiffstats
path: root/kde/post-install/plasma-workspace.post-install
blob: 437a8975d0758dc8a94987323e1c297a912a9369 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

# Use ck-launch-session in runlevel 3 if that is available,
# to start and attach a ConsoleKit session to the X session:
mkdir -p $PKG/etc/X11/xinit
cat $CWD/post-install/plasma-workspace/xinit/xinitrc.plasma \
  | sed -e "s/@LIBDIRSUFFIX@/$LIBDIRSUFFIX/g" \
  > $PKG/etc/X11/xinit/xinitrc.plasma
chmod 0755 $PKG/etc/X11/xinit/xinitrc.plasma

# Add a script that launches a Plasma Wayland session from the commandline:
mkdir -p $PKG/usr/bin
cat $CWD/post-install/plasma-workspace/scripts/startkwayland \
  | sed -e "s/@LIBDIRSUFFIX@/$LIBDIRSUFFIX/g" \
  > $PKG/usr/bin/startkwayland
chmod 0755 $PKG/usr/bin/startkwayland

# Add a "fail-safe" version of KDE Plasma desktop session.
# Prefix the name with "z_" because SDDM is braindead:
mkdir -p $PKG/usr/share/xsessions
cat $CWD/post-install/plasma-workspace/xsession/plasma-safe.desktop \
  | sed -e "s,@PREFIX@,/usr,g" \
  >  $PKG/usr/share/xsessions/z_plasma-safe.desktop

# What is "plugins/plugins"?
mv $PKG/usr/lib$LIBDIRSUFFIX/qt5/plugins/{plugins,}/phonon_platform
rmdir $PKG/usr/lib$LIBDIRSUFFIX/qt5/plugins/plugins

# Move the polkit dbus configuration files to the proper place:
mkdir -p $PKG/etc
mv $PKG/etc/kde/dbus-1 $PKG/etc/

if [ "$SLACKPAM" == "no" ]; then
  # For shadow, this file needs to be setuid root just like the KDE4 version:
  if [ -f $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass ]; then
    chmod +s $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass
  fi

  # ck-launch-session is needed for a Wayland session, since we do not have PAM:
  sed -e 's/^Exec=dbus-launch/Exec=ck-launch-session dbus-launch --sh-syntax/' \
    -i $PKG/usr/share/wayland-sessions/plasmawayland.desktop
else
  # Install a PAM file for Plasma5 workspace:
  install -Dm644 $CWD/post-install/plasma-workspace/pam.d/kde $PKG/etc/pam.d/kde
fi

if [ "$SLKELOGIND" == "yes" ]; then
  # Since elogind does not set DBUS_SESSION_BUS_ADDRESS we need to start
  # Plasma X11 session through dbus-run-session like Wayland is launched:
  sed -i $PKG/usr/share/xsessions/plasma.desktop \
      -e "s,^Exec=/,Exec=dbus-run-session /,"
fi