7.1. 使用独立的声卡

Note注意
 

如果您不使用 devfs,您可能需要创建额外的设备文件。请查看 Linux Sound HOWTO,了解如何设置额外的声卡。

7.1.1. 使用 aRts 守护进程

我们必须为不同的 X 会话/显示器指定不同的声音设备。这可以通过使用 aRts 守护进程的以下选项来完成 (http://www.arts-project.org/)

将以下行添加到您的窗口管理器启动脚本中(当然,要使用适合您设置的参数)

real_display=`echo $DISPLAY | sed "s/://" | sed "s/\..*//"`
case "$real_display" in
        0)
        artsd -F 10 -S 4096 -D /dev/dsp -s 5 -m artsmessage -l 3 -f &
        ;;
        1)
        artsd -F 10 -S 4096 -D /dev/dsp1 -s 5 -m artsmessage -l 3 -f &
        ;;
        2)
        artsd -F 10 -S 4096 -a alsa -D hw:4,0 -s 5 -m artsmessage -l 3 -f &
        ;;
esac
        

并在文件的末尾

artsshell -q terminate

这是一个例子,用于/usr/X11R6/bin/startenlightenment:

#!/bin/sh
#   License: GPL

real_display=`echo $DISPLAY | sed "s/://" | sed "s/\..*//"`
case "$real_display" in
        0)
        artsd -F 10 -S 4096 -D /dev/dsp -s 5 -m artsmessage -l 3 -f &
        ;;
        1)
        artsd -F 10 -S 4096 -D /dev/dsp1 -s 5 -m artsmessage -l 3 -f &
        ;;
        2)
        artsd -F 10 -S 4096 -a alsa -D hw:2,0 -s 5 -m artsmessage -l 3 -f &
        ;;
esac

/usr/X11R6/bin/enlightenment
artsshell -q terminate
        

这将为 3 个 X 服务器启动 3 个 aRts 守护进程。

  1. 守护进程将为第一个 X 服务器使用第一个 OSS 声音设备。

  2. 守护进程将为第二个 X 服务器使用第二个 OSS 声音设备。

  3. 守护进程将为第三个 X 服务器使用 Alsa 声音设备(需要反馈)。