Re: Arts, network transparency, nas.
Anders Ellenshøj Andersen <firstname.lastname@example.org>
wrote on Mon, 3 May 2004 11:22:11 +0200
>Then I took a look at arts since I saw it claimed to have network
>build in. But several hours of documentation scrounching couldn't explain to
>me how to set this up. I see two options potentially related to network
>transparency in KControl. First one is a simple tick-of setting, and the
>second is the output driver where nas output seems to be available. I can't
>understand how this can work without further setup. How does the nas driver
>know which server to use for output? How does arts for that matter? The
>network sound documentation for KDE sucks.
I know I'm probally a couple of months late, but still I'd like to share my
findings on arts with network transparancy. It took me a while, but I managed
to get it running. Once you know what to do it's a piece of cake.
OK, the basic idea is you have a server with a soundcard, with an arts sound
server running, and you have some clients (perhaps without a soundcard) which
generate sound, which you want to be played on the server's soundcard.
So, the servers (NOT the clients, they dont need to run arts at all!) artsd
needs to accept network connections, so you should use the -n option, or
check the box "enable network sound". OK, that's enough for artsd to be able
to play network sound, only now we get to the next problem, authorization. I
believe artsd uses some kind of X11 or DCOP cookies or something like that.
It should work if you mount the server's /home on the client. You could
probally get it to work by copying some files too.
I never even tried anything like that, I just use the -u option, which doesn't
authenticate at all. You can specify the -u option in the "Use other custom
options" field at the sound system configuration (again, the server's sound
system, NOT the client's).
This means of course that anyone can send sound to your machine. There are
probally other ways to abuse artsd too, so you should think about the proper
solution for yourself. If you're on a trusted network it doesn't matter, and
you could also play around with iptables I guess. You can also try to find out
how the authentication is supposed to work.
Last I also specified the -p 16001 option, which specifies artsd should use
port 16001. I don't know what port arts normally uses, so I had to specify
OK, now the client's configuration:
the sound-producing programs actually connect to artsd all by themselves, you
don't need any intermediate server or anything. All you have to do is to let
the program know where to connect to, by using the ARTS_SERVER environment
variable. It's easiest to just specify it in /etc/profile:
Now ALL KDE-generated sound will be sent to the server, not just juk/kaffeine
and their friends.
So, in short that is:
configure the sound system on the server like this:
check the "enable network sound" box
At "Use other custom options" fill in "-u -p 16001"
on the client make sure the ARTS_SERVER environment variable is set to
"ip_of_soundserver:16001" and launch your favorite program!
Hope this is helpfull to anyone.