You are not logged in.
I just have a question regarding the release notes and starting pipewire and $XDG_RUNTIME_DIR within $HOME/.profile as i cant get it to work, nothing happens.
EDIT: I dont use elogind or polkit, only seatd.
https://files.devuan.org/devuan_excalib … _notes.txt
This is how i currently start pipewire and wireplumber, please read on for the questions.
$HOME/.profile
if [ -f ~/.bashrc ];
then . ~/.bashrc;
fi
export PATH="$HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
if [ -z "$XDG_RUNTIME_DIR" ]; then
XDG_RUNTIME_DIR="/tmp/$(id -u)-runtime-dir"
mkdir -pm 0700 "$XDG_RUNTIME_DIR"
export XDG_RUNTIME_DIR
fi$HOME/.xinitrc
. ~/.profile
xrandr --output HDMI-2 --mode 1920x1080 --rate 144.00 &
xset s off -dpms &
slstatus &
sxhkd &
dbus-launch &
pipewire &
pipewire-pulse &
sleep 3s && wireplumber &
sleep 2s && exec startdwm________________________________________________________
As per the release notes, below code snippets is how i have modified $HOME/.profile and now sourcing it via .xsessionrc instead of .xinitrc, is this correct or am i missing something?
Also dbus-launch is needed via either xinitrc or .profile i think?
$HOME/.profile
if [ -f ~/.bashrc ];
then . ~/.bashrc;
fi
export PATH="$HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
if [ "$XDG_RUNTIME_DIR" = "/run/user/$(id -u)" ] ; then
psess_pids=
for p in pipewire wireplumber pipewire-pulse ; do
command -v $p >/dev/null || continue
pgrep --exact --uid $USER $p >/dev/null && continue
$p &
psess_pids="$! ${psess_pids}"
done
[ "$psess_pids" ] && trap "kill $psess_pids" EXIT
fi$HOME/.xinitrc
xrandr --output HDMI-2 --mode 1920x1080 --rate 144.00 &
xset s off -dpms &
slstatus &
sxhkd &
dbus-launch &
sleep 2s && exec startdwm$HOME/.xsessionrc
if [ -f ~/.profile ]; then
. ~/.profile
fiLast edited by HardSun (Today 06:26:04)
Offline
Well check what is actually being sourced.
/bin/bash -lixc exit 2>&1 | sed -n 's/^+* \(source\|\.\) //p'That showed me for my machine.
zeus@9600k:~$ /bin/bash -lixc exit 2>&1 | sed -n 's/^+* \(source\|\.\) //p'
/etc/bash.bashrc
/etc/profile.d/bash_completion.sh
/usr/share/bash-completion/bash_completion
/etc/bash_completion.d/000_bash_completion_compat.bash
/etc/bash_completion.d/git-prompt
/usr/lib/git-core/git-sh-prompt
/etc/profile.d/vte-2.91.sh
/home/zeus/.bashrc
/home/zeus/.bash_aliases
/usr/share/bash-completion/bash_completion
/etc/bash_completion.d/000_bash_completion_compat.bash
/etc/bash_completion.d/git-prompt
/usr/lib/git-core/git-sh-prompt
/home/zeus/.bash_functionsAnd I have a a .profile that is never used.
zeus@9600k:~$ ls -l .profile
-rw-r--r-- 1 zeus zeus 641 Aug 31 2022 .profileWhen I use the autostart option of KDE to launch it I use this script.
zeus@9600k:~$ cat bin/pipewire_start.sh
#!/bin/bash
# Added to start pipewire on login to desktop
# https://dev1galaxy.org/viewtopic.php?id=5867
# was the ~/.xsessionrc -rw-rw-r-- permissions
# now ~/bin/pipewire_start.sh executable permissions
# as bash script loaded from KDE autostart in System Settings
# kill any existing pipewire instance to restore sound
pkill -u "$USER" -fx /usr/bin/pipewire-pulse 1>/dev/null 2>&1
pkill -u "$USER" -fx /usr/bin/wireplumber 1>/dev/null 2>&1
pkill -u "$USER" -fx /usr/bin/pipewire 1>/dev/null 2>&1
# start pipewire
exec /usr/bin/pipewire &
# wait for pipewire to start before attempting to start related daemons
while [ "$(pgrep -f /usr/bin/pipewire)" = "" ] ; do
sleep 1
done
# start wireplumber
exec /usr/bin/wireplumber &
# start pipewire-pulse
exec /usr/bin/pipewire-pulse &As you can see from my comment in that file I used to actually start processes in the ~/.xsessionrc. Save yourself the time and trouble and do the same, it just works without fail. I only changed it as I wanted to test that steaming pile of dung they call Wayland and it would not start using the X11 config file method obviously.
Offline
Nevermind, im getting it now.
Must be for users who are using elogind only.
I need to just keep doing what im doing to run pipewire and using below statement in $HOME/.profile
if [ -z "$XDG_RUNTIME_DIR" ]; then
XDG_RUNTIME_DIR="/tmp/$(id -u)-runtime-dir"
mkdir -pm 0700 "$XDG_RUNTIME_DIR"
export XDG_RUNTIME_DIR
fiJust the wording from the release notes made me think i could use that code in $HOME/.profile using startx without elogind.
https://files.devuan.org/devuan_excalib … _notes.txt
> `apt-get install pipewire pipewire-pulse wireplumber`
There are many different ways of achieving this depending on whether you require
sound in the console, a GUI desktop or both.
A basic solution that can accommodate both is to add the following shell
snippets:-
* ~/.profile
if [ "$XDG_RUNTIME_DIR" = "/run/user/$(id -u)" ] ; then
psess_pids=
for p in pipewire wireplumber pipewire-pulse ; do
command -v $p >/dev/null || continue
pgrep --exact --uid $USER $p >/dev/null && continue
$p &
psess_pids="$! ${psess_pids}"
done
[ "$psess_pids" ] && trap "kill $psess_pids" EXIT
fi
* ~/.xsessionrc
if [ -f ~/.profile ]; then
. ~/.profile
fiLast edited by HardSun (Today 08:48:26)
Offline