我刚刚完成升级到 Ubuntu Server 20.04.1 LTS,到目前为止,只出现了一个问题:以用户身份运行时,命令beep返回
蜂鸣声:错误:无法打开任何设备`。
正如预期的那样,跑步sudo beep不起作用。经过一些研究后,我发现beep系统上不存在任何组,正如手册页所预期的那样。我尝试过重新安装和重新配置,但没有成功。
更奇怪的是,beep在启动期间可以通过rc.local; 然而,在某些时候,它会停止工作并返回错误,从而破坏了我的rc.local例程。另外,这个命令工作得很好:
sudo env -u SUDO_GID -u SUDO_COMMAND -u SUDO_USER -u SUDO_UID beep
Run Code Online (Sandbox Code Playgroud)
澄清一下:我正在运行一个未连接到任何扬声器的无头家庭服务器;简单的发声扬声器用于在启动期间以及出现需要干预的错误时提供简单的反馈。我的设置过去在 Ubuntu Server 18.04 LTS 下运行良好。
我遇到了 alsa 设置无法在重新启动后幸存的问题。我有一个运行 15.04 的无头服务器,使用声音进行 shairport-sync。当我重新启动时,我得到了凌乱的 alsa 设置(卷)。尝试恢复以前的配置给了我奇怪的值。恢复为超级用户工作;恢复为普通用户不会,除非我指定一个文件,否则它可以工作。
$ alsactl restore
alsactl: state_lock:125: file /var/lib/alsa/asound.state lock error: File exists
alsactl: load_state:1683: Cannot open /var/lib/alsa/asound.state for reading: File exists
Found hardware: "HDA-Intel" "Realtek ALC892" "HDA:10ec0892,1849d892,00100302" "0x1849" "0xd892"
Hardware is initialized using a generic method
$ sudo alsactl restore
[works]
$ alsactl --file ~/asound.state restore
[works too]
Run Code Online (Sandbox Code Playgroud)
/var/lib/alsa/asound.state 和 ~/asound.state 应该是相同的。
另外,我在重新启动后无法恢复工作;目前用的是rc.local,不好吗?