【问题标题】:Set Ubuntu Sound Volume on boot在启动时设置 Ubuntu 音量
【发布时间】:2017-10-29 23:57:07
【问题描述】:

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

理想情况下,我希望在我晚上注销时运行脚本,或者在 ubuntu 登录屏幕显示之前运行。

这里是设置音量的命令:

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

感谢您提供其他尝试方法的建议。

【问题讨论】:

标签: ubuntu audio volume


【解决方案1】:

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

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

【讨论】:

  • 此方法在 Ubuntu 9.04 和 9.10 中对我不起作用。 10.04 还没试过
  • 将它添加到运行级别 2 对我来说只是部分工作。我可以输入密码时听到的声音现在是 25% 的音量,但是在我登录后它的音量与我关闭计算机时的音量相同。我用sudo ln -s /etc/init.d/sound.sh /etc/rc2.d/S20sound 创建了符号链接,这样正确吗?
【解决方案2】:

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

【讨论】:

  • 这是对我有用的方法,在 Ubuntu 19.04 上。
【解决方案3】:

啊,是的,但它们是否还包含关闭时的“alsactl 商店”?

【讨论】:

    【解决方案4】:

    罗伯,

    我正在尝试解决同样的问题。我把你带到了上面的“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 .

    【讨论】:

    • 不幸的是,在将 Ubuntu 更新到新版本后,我从未解决过这个问题。祝你好运
    【解决方案5】:

    创建一个单元配置并启用它以进行启动。

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

    【讨论】:

      【解决方案6】:

      我以前使用this 方法来实现这一点,但在 Arch Linux 上。现在,我对 Ubuntu 使用的 init 系统不太熟悉,但我想你可以尝试将其适应 Ubuntu。

      【讨论】:

        【解决方案7】:

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

        #!/bin/sh
        
        amixer -- sset Master playback -40dB
        
        exit 1 
        

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-03-16
          • 2015-02-06
          • 2021-12-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多