Установить громкость звука Ubuntu при загрузке - PullRequest
7 голосов
/ 06 января 2009

Звук запуска / входа в Ubuntu может быть очень громким, но мне нравится его иметь. Я написал скрипт, который использует amixer для установки громкости на 25%. Это тот уровень, который мне нравится, но когда я использую ТВ-выход или наушники, мне нужно увеличить громкость. Я не могу запустить скрипт до того, как прозвучит звук входа в систему. Я попробовал cron @reboot и поместил символическую ссылку на скрипт в /etc/rc3.d/ и в мой скрипт .bash_profile. Только 3-й метод на самом деле правильно устанавливает громкость, но после воспроизведения звука входа в систему.

В идеале я хочу, чтобы скрипт выполнялся, когда я выхожу из системы на ночь или непосредственно перед отображением экрана входа в Ubuntu.

Вот команда для установки громкости:

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

Предложения для других методов приветствуются.

Ответы [ 7 ]

3 голосов
/ 06 января 2009

Возможно, вы захотите попробовать добавить эту строку к вашему лайку в /etc/rc.local Это может быть не достаточно скоро, так как rc.local будет вызываться после gdm.

Также обратите внимание, что уровень запуска по умолчанию в Ubuntu равен 2 , а не 3 . Ваша ссылка в rc3.d, вероятно, не сработала просто потому, что вы не использовали уровень запуска 3. Уровень запуска по умолчанию устанавливается в /etc/event.d/rc-default

.
1 голос
/ 15 августа 2010

Rob

Я пытаюсь решить ту же проблему. Я взял вам строку «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.

1 голос
/ 10 мая 2009

Ах, да, но они также содержат "alsactl store" при выключении?

0 голосов
/ 29 октября 2017

Создайте конфигурацию устройства и включите его для запуска.

Предполагается, что ALSA и systemd (Ubuntu использует версию systemd после 14 и более лет)

/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 для немедленного запуска устройства.

0 голосов
/ 25 мая 2009

Что вы можете сделать, это написать скрипт для понижения громкости при выключении компьютера. Примерно так:

#!/bin/sh

amixer -- sset Master playback -40dB

exit 1 

затем запустите этот скрипт при завершении работы.

0 голосов
/ 06 января 2009

Я считаю, что сценарии запуска Ubuntu уже включают "восстановление alsactl". Вы должны иметь возможность запускать «alsactl store» с уже установленным объемом 25% и влиять на все будущие перезагрузки.

0 голосов
/ 06 января 2009

Я использовал этот метод, чтобы достичь этого раньше, но в Arch Linux. Теперь я не слишком знаком с системой инициализации, которую использует Ubuntu, но я думаю, вы могли бы попытаться адаптировать ее к Ubuntu.

...