在启动时设置Ubuntu Sound Volume

时间:2009-01-05 23:24:35

标签: ubuntu audio volume

Ubuntu启动/登录声音可能非常响亮,但我确实喜欢它。我写了一个脚本,使用amixer将音量设置为25%。这是我喜欢的水平,但是当我使用电视或耳机时,我必须调高音量。在登录声音播放之前,我似乎无法让脚本运行。我已经尝试了一个cron @reboot,并在/etc/rc3.d/和我的.bash_profile脚本中为脚本添加了一个符号链接。只有第3种方法才能正确设置音量,但是在播放登录声音之后。

理想情况下,我希望在我退出当晚或在ubuntu登录屏幕显示之前运行脚本。

以下是设置音量的命令:

`/usr/bin/amixer -c 0 sset Master,0 25% > /dev/null`

对其他尝试方法的建议表示赞赏。

7 个答案:

答案 0 :(得分:3)

您可能想尝试将该行添加到您的/etc/rc.local,但这可能不会很快,因为在gdm之后将调用rc.local。

另请注意,Ubuntu上的默认运行级别是 2 ,而不是 3 。您在rc3.d中的链接可能不起作用,因为您没有使用运行级别3.默认运行级别由/etc/event.d/rc-default设置

答案 1 :(得分:1)

啊,是的,但他们在关机时还包含“alsactl商店”吗?

答案 2 :(得分:1)

罗布,

我正在努力解决同样的问题。我在上面给你带了“amixer”行,并且在学习运行级别,/ etc / rc = .dad文件夹和update-rc.d命令方面做了很多。这不完美。它仍然没有按照我希望的方式在重启期间运行,但它是一个开始。

欢迎提出改进建议。

而且,这是我的代码......

sudo echo“#!/ bin / bash”> /etc/init.d/lowvol.sh

sudo echo“/ usr / bin / amixer -c 0 sset Master,0 35%> / dev / null”>> /etc/init.d/lowvol.sh

sudo chmod + x /etc/init.d/lowvol.sh

sudo chown root:root /etc/init.d/lowvol.sh

sudo update-rc.d lowvol.sh stop 20 0 6。

答案 3 :(得分:0)

我之前使用this方法实现了这个目标,但是在Arch Linux上。现在,我对Ubuntu使用的初始化系统不太熟悉,但我想你可以尝试将其改编为Ubuntu。

答案 4 :(得分:0)

我相信Ubuntu的启动脚本已经包含了“alsactl restore”。您应该能够运行“alsactl store”,其音量已设置为25%并影响所有未来的重新启动。

答案 5 :(得分:0)

您可以执行的操作是在关闭计算机时编写一个脚本来降低音量。 像这样:

#!/bin/sh

amixer -- sset Master playback -40dB

exit 1 

然后在关机时运行此脚本。

答案 6 :(得分:0)

创建单位配置并启用它以进行启动。

假设ALSA和systemd(Ubuntu在14之后使用systemd版本)

/etc/systemd/system/alsavolume.service

在此处创建单元文件。您可以调整命令以运行/usr/bin/amixer sset PCM -- 97%。请记住不要使用引号(否则systemd会将整个事物解释为命令)。

[Unit]
Description="Set volume level."
After=sound.target

[Service]
Type=simple
ExecStart=/usr/bin/amixer sset PCM -- 97%

[Install]
WantedBy=multi-user.target

启用它(这意味着创建一个指向/etc/systemd/system/multi-user.target.wants的符号链接以在启动时运行,但以下命令会为您处理它。)

  1. 重新加载守护进程

    systemctl daemon-reload

  2. 启用服务

    systemctl enable alsavolume.service

    您可以添加参数--now以立即运行设备。