aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnna (navi) Figueiredo Gomes <navi@vlhl.dev>2023-06-23 13:54:38 -0300
committerAnna (navi) Figueiredo Gomes <navi@vlhl.dev>2023-10-19 10:56:54 +0200
commite65da5598722160418b6faf772ea82ebd1eab7ed (patch)
treebe64da88531227e61d1fcdbe63ba6f62c014f861
parent9466109aabfcb818a5ca2d8c494acff73f34e7a4 (diff)
support: add xinit script for the dbus user services
when running dbus under a graphical environment, it needs DISPLAY and XAUTHORITY set in order to auto-launch graphical applications. but when started via pam, or any way outside the gui, they won't be set. this installs a script to be auto-ran by xinit, that loads the variables in dbus. Signed-off-by: Anna (navi) Figueiredo Gomes <navi@vlhl.dev>
-rw-r--r--support/meson.build1
-rw-r--r--support/xinit/50-openrc-user.sh18
-rw-r--r--support/xinit/meson.build6
3 files changed, 25 insertions, 0 deletions
diff --git a/support/meson.build b/support/meson.build
index f1b7b7e1..26c273db 100644
--- a/support/meson.build
+++ b/support/meson.build
@@ -5,3 +5,4 @@ subdir('deptree2dot')
subdir('init.d.examples')
subdir('openvpn')
subdir('sysvinit')
+subdir('xinit')
diff --git a/support/xinit/50-openrc-user.sh b/support/xinit/50-openrc-user.sh
new file mode 100644
index 00000000..01efe98e
--- /dev/null
+++ b/support/xinit/50-openrc-user.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+# Copyright (c) 2007-2023 The OpenRC Authors.
+# See the Authors file at the top-level directory of this distribution and
+# https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS
+#
+# This file is part of OpenRC. It is subject to the license terms in
+# the LICENSE file found in the top-level directory of this
+# distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE
+# This file may not be copied, modified, propagated, or distributed
+# except according to the terms contained in the LICENSE file.
+
+# Graphical applications launched by dbus need those variables in an X
+# environment.
+if command -v dbus-update-activation-environment >/dev/null 2>&1 &&
+ rc-service --user dbus status >/dev/null 2>&1
+then
+ dbus-update-activation-environment DISPLAY XAUTHORITY
+fi
diff --git a/support/xinit/meson.build b/support/xinit/meson.build
new file mode 100644
index 00000000..ba2b8cac
--- /dev/null
+++ b/support/xinit/meson.build
@@ -0,0 +1,6 @@
+xinit_bin = ['50-openrc-user.sh']
+xinit_dir = get_option('sysconfdir') / 'X11/xinit/xinitrc.d'
+
+install_data(xinit_bin,
+ install_dir : xinit_dir,
+ install_mode : 'rwxr-xr-x')