On Tuesday, July 09, 2013 04:01:47 PM Eric Viseur wrote:
I'm currently working on a virtualization project using F18. One
of the use
cases is booting on the multi-user systemd target, then starting the Spice
client in a very restricted X environment by simply issuing
$ xinit /usr/bin/spicec (some parameters)
Everything works fine, except the sound : as I don't start a complete GDM in
this boot scenario, PulseAudio isn't loaded. I thus tried to start
PulseAudio manually by issuing :
$ start-pulseaudio-x11
before starting xinit with the same user, but it doesn't work either. After
testing a $ pacat /dev/urandom from the host on Fedora Virtualization
team's advice, it turns out PA doesn't work at all.
So, here is my question : how to start PulseAudio correctly in such a setup
(multi-user.target then xinit) ?
Please note that if I connect to the VM from a complete GDM in the graphical
systemd target, everything works fine.
Thank you for your attention !
I'm wondering if you might be able to use systemd user sessions along with the
xorg-launch-helper [1] and user-session-units [2] since you may need some dbus
magic for PulseAudio to work. I am using this along with PulseAudio for my
F19 MythTV frontends with great success (I use it to be able to auto-switch
from speaker output to bluetooth headset output when everyone else is trying
to sleep).
Aside from the xorg-launch-helper package, which I package here [3], I have
manually created some of the files from the user-session-units, which I don't
yet package. Those are below:
#
# dbus.service
[Unit]
Description=D-Bus System Message Bus
Requires=dbus.socket
[Service]
ExecStart=/bin/dbus-daemon --session --address=systemd: --nofork --systemd-
activation
ExecReload=/usr/bin/dbus-send --print-reply --session --type=method_call --
dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig
#
# dbus.socket
[Unit]
Description=D-Bus System Message Bus Socket
[Socket]
ListenStream=%t/dbus/user_bus_socket
#
# example spicec.service
[Unit]
Description=spicec service
After=network.target
[Service]
ExecStart=/usr/bin/spicec (some parameters)
Restart=on-failure
[Install]
WantedBy=mythfrontend.target
#
# example spicec.target
[Unit]
Description=spicec target
Wants=xorg.target
Requires=dbus.socket
#After=network.target
AllowIsolate=true
And I have PulseAudio set to autospawn:
# /etc/pulse/client.conf
...
autospawn = yes
...
There's a little more service/unit file help I can give if you think this
might be a way for you to resolve the issue.
-A
[1]
https://github.com/sofar/xorg-launch-helper
[2]
https://github.com/sofar/user-session-units
[3]
http://messinet.com/rpms
--
Anthony -
http://messinet.com -
http://messinet.com/~amessina/gallery
8F89 5E72 8DF0 BCF0 10BE 9967 92DC 35DC B001 4A4E