The K Desktop Environment

13.4. Network Transparency

13.4.1. What do I need for network transparency?
13.4.2. How do I debug network transparency if it doesn't work?

13.4.1. What do I need for network transparency?

Enable it in the KDE Control Center Sound Server settings (enable X11 server for security information and network transparency). Then copy your .mcoprc to all machines you plan to use network transparency from. Log in again. Make sure that the hosts that interact know each other by name (i.e. they have resolvable names or are in /etc/hosts).

This should be all you need to do. However, if it still doesn't work here are some additional details. The aRts sound server process, artsd, should only run on one host, the one with the sound card where the sound should be played. It can be started automatically on login by KDE (if you configure that in KDE Control Center), or manually using something like:

 % artsd -n -F 5 -S 8192

The -n parameter is for network transparency, while the others configure latency.

Your .mcoprc file should have this entry:

 GlobalComm=Arts::X11GlobalComm

on all machines involved, in order for network transparency to work, This is what is enabled by the X11 server for security information control panel setting.

Finally, in any KDE version in the 2.0.x series, there is a bug which applies if you don't have a domain name set. Clients of artsd try to find where to connect to via the hostname.domainname combination. If your domain name is empty, it will try to connect to hostname. (note the extra dot). Adding an entry like this to /etc/hosts (i.e. orion. if your hostname is orion) works around the problem.

13.4.2. How do I debug network transparency if it doesn't work?

Assuming you have the KDE source code, go to kdelibs/arts/examples, and run make check to compile some programs, including referenceinfo. Then run

 % ./referenceinfo global:Arts_SimpleSoundServer

The output will indicate the host name and port being used by aRts. For example, tcp:orion:1698 would mean that any client trying to use network transparency should know how to reach host orion.