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

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

以下是设置音量的命令:

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

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

有帮助吗?

解决方案

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

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

其他提示

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

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

罗布,

我正在努力解决同样的问题。我带你“amixer”在上面排了很多,并且在学习有关运行级别,/ etc / rc #.d文件夹和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。

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

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

#!/bin/sh

amixer -- sset Master playback -40dB

exit 1 

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

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

假设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 以立即运行该单元。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top