Configure PulseAudio
-------------------------------------------
Second thing to do is get PulseAudio's TCP support turned on. By default it listens to regular Unix Sockets. This is fast, but not something easily networkable. Other solutions I've seen use 'socat' to make the unix socket networkable-ish, but that stuff is irritating.
So on your main system ('spaceshipone') you want to turn on PA's TCP support, but configure it to just use localhost so people not on your computer cannot access your audio streams.
In "/etc/pulse/default.pa" look for the following lines:
Code:
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish
Now change it to:
Code:
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
load-module module-native-protocol-tcp listen=127.0.0.1 auth-ip-acl=127.0.0.1
#load-module module-zeroconf-publish
So what that does is that it causes pulseaudio to listen on localhost and then disables authentication for anybody connecting on localhost. For single user machines this will be fine. Now go ahead and kill pulseaudio so it restarts with the new config:
Code:
$ killall pulseaudio
Go ahead and confirm that it's now listening:
Code:
$ netstat -lpntu|grep pulseaudio
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 127.0.0.1:4713 0.0.0.0:* LISTEN 7928/pulseaudio
On the secondary system (whitenight) go ahead and configure the pulseaudio clients to try to attach to localhost instead of starting a new pulseaudio daemon...
Create a new file "~/.pulse/client.conf"
Code:
$ echo 'default-server = 127.0.0.1 > ~/.pulse/client.conf
Now kill pulseaudio: