我想使用 beep 的控制台 API 来产生音调,因为它的延迟比 evdev API 低,但在图形 shell 中不允许这样做。
Ctrl++打开tty6,登录后我可以Alt运行F6
beep -e /dev/tty6
在图形外壳 tty7 中,您不能写入 /dev/tty7 或任何其他 tty 文件,并且禁止以 root 身份运行 beep。
https://github.com/spkr-beep/beep/issues/6#issuecomment-1264648890
维护人员在这里说,出于安全原因,这不是一个好主意,但我不打算长期使用这种方式。
在我的 Debian 10
beep
1.4.3中,可以以 root 身份运行。我的测试表明当环境中有 ,或时
beep
拒绝工作。为其执行的命令设置这些变量。SUDO_UID
SUDO_GID
SUDO_USER
SUDO_COMMAND
sudo
琐事:变量是
sudo -u "$USER" beep
不起作用的原因。有趣的是它不起作用,因为beep
这里作为调用用户执行,就像beep
没有sudo
.我可以
env -u …
用来取消设置变量,或者简单env -i
地清除环境:(我注意到我可以选择任何现有的
tty
;不需要事先登录到 tty)。我不确定这是否会帮助您获得低延迟。sudo
并且env
是会增加延迟的附加程序。或者,我可以调用
sudo -i
和unset
变量 - 然后我可以调用beep -e …
哪个将作为 root 工作。