Я бы использовал для этого переменную PROMPT_COMMAND
:
PROMPT_COMMAND='lstatus=$?'
PS1='$(false)$(exit 3)<$lstatus> '
<0> sh -c 'exit 17'
<17> echo $?
17
<0>
Из справочной страницы bash(1)
:
PROMPT_COMMAND If set, the value is executed as a command prior to issuing each primary prompt.
Я не совсем понимаю ваш вопрос. Я также использую dwm
, чтобы иметь возможность использовать программы polkit, такие как pkexec
, насколько я знаю, dbus-daemon
должен запускаться первым. Согласно документации, polkitd
не нужно запускать вручную. Так что нет необходимости беспокоиться об этом.
polkitd provides the org.freedesktop.PolicyKit1 D-Bus service on the system message bus. Users or administrators should never need to start this daemon as it will be automatically started by dbus-daemon(1) or systemd(1) whenever an application calls into the service.
Источник:https://www.freedesktop.org/software/polkit/docs/latest/polkitd.8.html