diff --git a/.concession b/.concession
index 20652520..eb590f5f 160000
--- a/.concession
+++ b/.concession
@@ -1 +1 @@
-Subproject commit 20652520191813acdbd6f8afeb190b63bec02eb8
+Subproject commit eb590f5f6a20c5e09f7c97c2dfafbb3a6586c718
diff --git a/.config/concession/tasks/00_dbus-launch.sh b/.config/concession/tasks/00_dbus-launch.sh
deleted file mode 100755
index 836db97e..00000000
--- a/.config/concession/tasks/00_dbus-launch.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#! /bin/sh
-#
-# 00_dbus-launch.sh
-# Copyright (C) 2018 salt <salt@lap-th-e560-0>
-#
-# Distributed under terms of the MIT license.
-#
-
-tsk_log "Launching dbus"
-export $(dbus-launch)
-
diff --git a/.config/concession/tasks/00_ksmserver.sh b/.config/concession/tasks/00_ksmserver.sh
new file mode 100644
index 00000000..a2d89a51
--- /dev/null
+++ b/.config/concession/tasks/00_ksmserver.sh
@@ -0,0 +1,24 @@
+#! /bin/sh
+#
+# 01_ksmserver.sh
+# Copyright (C) 2018 salt <salt@lap-th-e560-0>
+#
+# Distributed under terms of the MIT license.
+#
+
+main() {
+	if ! which ksmserver > /dev/null 2>&1; then
+		tsk_log "Could not find ksmserver" 2
+		return 50
+	fi
+	if pgrep -U "$UID" ksmserver > /dev/null 2>&1; then
+		tsk_log "ksmserver is already running" 2
+		return 51
+	fi
+	ksmserver -w "/bin/true" --no-lockscreen &
+	sleep 1
+	export $(dbus-launch)
+}
+
+main $@
+