[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Arts, network transparency, nas.

Anders Ellenshøj Andersen <andersa@fys.ku.dk>
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:
export ARTS_SERVER=""

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.

Joost Baas

Reply to: