好的。好吧,已经有一段时间了,但是...
您没有足够的权限来打开底层套接字。
我@dev $ strace -o ./nasd.txt nasd -aa -config ./nasd.conf
Network Audio System Release 1.9.3
Network Audio System Release 1.9.3
Error binding unix socket: /var/run/nasd/audio0
: Address already in use
Fatal server error:
Cannot establish unix listening socket
适当的位来自 strace
ioctl(0, SIOCGIFCONF, {96, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"wlan0", {AF_INET, inet_addr("192.168.1.69")}}, {"usb0", {AF_INET, inet_addr("192.168.15.100")}}}}) = 0
umask(0) = 022
mkdir("/var/run/nasd", 0777) = -1 EEXIST (File exists)
unlink("/var/run/nasd/audio0") = -1 EPERM (Operation not permitted)
socket(PF_FILE, SOCK_STREAM, 0) = 1
bind(1, {sa_family=AF_FILE, path="/var/run/nasd/audio0"}, 22) = -1 EADDRINUSE (Address already in use)
unlink("/var/run/nasd/audio0") = -1 EPERM (Operation not allowed) 是线索。
如果我们在本地复制 nasd.conf 并将调试值调整为 1 并以 root 身份运行它
我@dev $ sudo nasd -aa -config ./nasd.conf
config: Maxfrags set to 3
config: Minfrags set to 2
config: Fragsize set to 256
config: Maxfrags set to 3
config: Minfrags set to 2
config: Fragsize set to 256
Network Audio System Release 1.9.3
Network Audio System Release 1.9.3
AuInitPhysicalDevices();
Init: will close device when finished with stream.
Init: will keep mixer device open.
Init: Leaving the mixer device options alone at startup.
Init: openDevice OUT /dev/snd/pcmC1D0p mode 1
Init: openDevice(1) IN /dev/snd/pcmC1D0c mode 0
setupSoundcard(...);
++ Setting up Output device (/dev/snd/pcmC1D0p)
+++ requesting wordsize of 16, got 8
+++ requesting 2 channel(s), got 1 channel(s)
+++ Requesting minimum sample rate of 5000, got 5000
+++ Requesting maximum sample rate of 44100, got 44100
setupSoundcard(...);
++ Setting up Input device (/dev/snd/pcmC1D0c)
+++ requesting wordsize of 8, got 8
+++ requesting 2 channel(s), got 1 channel(s)
+++ Requesting minimum sample rate of 4000, got 4000
+++ Requesting maximum sample rate of 44100, got 44100
initMixer: could not open output mixer device /dev/mixer: No such file or directory
Init: initMixer failed
createServerComponents(...);
closeDevice: out
closeDevice OUT /dev/snd/pcmC1D0p mode 1
closeDevice: in
closeDevice IN /dev/snd/pcmC1D0c mode 0
closeDevice: mixer
closeDevice: leaving mixer device(s) open
在我的情况下,看起来我需要设置混音器部分,但这应该会削弱你的错误。
编辑:initMixer: could not open output mixer device /dev/mixer: No such file or directory
这可以通过放置mixer =""
在 nasd.conf 中来解决(即使文档声明它不会被尊重,它是)
另外:记得设置您的 AUDIOSERVER 环境变量
export AUDIOSERVER=tcp/localhost:8000
是默认设置,但确定永远不会伤害...
最后的想法:
默认情况下,现在有许多 x 服务器-nolisten tcp
,这可能是实施中需要考虑的问题。
nmap 是你的朋友。
而且,为了记录,我实际上还没有一个端到端的系统工作......希望其他一些善良的灵魂会加入并指出我错过的任何东西。
希望能帮助到你。
我没有 rhel 盒子……但这可能是同一个烫发问题。文档充其量是“瘦”