Mute отключает звук Alsa и PulseAudio, но отключает только Alsa

Ответ сверху помог мне, но не полностью. После того, как система была установлена, перезагрузка была необходима. Я ждал, но ничего не произошло, и я перезапустил ноутбук вручную. После этого система загрузилась, я услышал звук, но без дисплея.

Я ввел консольный режим - Ctrl + Alt + F1, и консоль появилась. Затем я набрал sudo apt-get install fglrx. Пакет был загружен, установлен и все начало работать.

1
задан 23 April 2014 в 09:01

9 ответов

это намного проще.

amixer -D pulse set Master Playback Switch toggle

установил это как горячую клавишу для «Mute \ Unmute». регуляторы громкости могут быть оставлены так, как они есть.

Mint 15 Mate - выяснил это сам, отлично работает для меня.

19
ответ дан 25 May 2018 в 12:59
  • 1
    Независимо от того, что это такое - хорошо работал на arch linux. Звук с заглушенным и незагрязненным звуком. Теперь я привязал эту команду к команде mute на моем ноутбуке, потому что по умолчанию она не включает все каналы. БЛАГОДАРЯ – Erikas 6 October 2014 в 11:05
  • 2
    Это сработало для меня с Ubuntu 14.04 + i3, принятый ответ не сработал. – Ingo Bürk 23 November 2014 в 00:02
  • 3
    amixer -D pulse set Master toggle будет делать. Amixer ожидает простого имени управления микшером для команды set или sset, и даже если он примет полное имя управления микшером, вам придется процитировать такое многословное имя. Вы можете использовать необязательный модификатор playback в команде следующим образом: amixer -D pulse set Master playback toggle, но это необязательно, если Master также не имеет возможности захвата. Используя необязательные модификаторы, вы также можете контролировать, к какому каналу применяется команда, если ваша система поддерживает объемный звук. – jarno 15 April 2015 в 09:58

У меня была такая же проблема с запуском рабочего стола MATE в Linux Mint Debian Edition (201204).

Действие «Увеличение громкости» не смогло включить звук. Я понял, что проблема связана с Pulseaudio, но с пакетом mate-media-gstreamer и mate-settings-daemon-gstreamer, установленным по умолчанию. Установив mate-media-pulse и mate-settings-daemon-pulse (которые удалили mate-media-gstreamer и mate-settings-daemon-gstreamer) и tadam ... Действие «Увеличение громкости» снова смонтировало громкость!

Надеюсь, работа для вас!

5
ответ дан 25 May 2018 в 12:59
  • 1
    Работала для меня (на Debian Jessie), и это решение является постоянным, тогда как решения AFAIU с участием amixer -D pulse set Master xxx являются одним выстрелом или должны быть сопоставлены вручную с ярлыком. Предлагаемое решение выглядит так, как должно быть. – Jérôme 12 June 2015 в 20:53

Это проблема с pulseaudio, команды для alsa или amixer не будут правильно отправлять импульсы в импульс. Когда команды alsa посылают сигнал без звука, это команда toggle (посылает ту же команду для отключения / включения звука).

Теперь в pulseaudio они имеют отдельный сигнал отключения звука и включения звука! Многие сообщают, что удаление установки pulseaudio решит проблему, но для некоторых это не очень приемлемый ответ (например, я, потому что импульс полезен для многих приложений).

Итак, чтобы решить это, нам нужно сделать скрипт,

1- Сделать новый пустой документ в текстовом редакторе, например gedit или mousepad,

2- Вставить этот код в документ, Soruce of code: 2 [!d4 ]

#!/bin/bash
#### Create ~/.pulse/mute if not exists
ls ~/.pulse/mute &> /dev/null
if [[ $? != 0 ]]
then
    echo "false" > ~/.pulse/mute
fi

####Create ~/.pulse/volume if not exists
ls ~/.pulse/volume &> /dev/null
if [[ $? != 0 ]]
then
    echo "65536" > ~/.pulse/volume
fi

CURVOL=`cat ~/.pulse/volume`     #Reads in the current volume
MUTE=`cat ~/.pulse/mute`          #Reads mute state

if [[ $1 == "increase" ]]
then
    CURVOL=$(($CURVOL + 3277)) #3277 is 5% of the total volume, you can change this to suit your needs.
    if [[ $CURVOL -ge 65536 ]]
    then
        CURVOL=65536        
    fi
elif [[ $1 == "decrease" ]]
then
    CURVOL=$(($CURVOL - 3277))
    if [[ $CURVOL -le 0 ]]
    then
        CURVOL=0        
    fi
elif [[ $1 == "mute" ]]
then
    if [[ $MUTE == "false" ]]
    then
        pactl set-sink-mute 0 1
        echo "true" > ~/.pulse/mute
    exit    
    else
        pactl set-sink-mute 0 0
        echo "false" > ~/.pulse/mute    
    exit
    fi
fi

pactl set-sink-volume 0 $CURVOL
echo $CURVOL > ~/.pulse/volume # Write the new volume to disk to be read the next time the script is run.

3- Назовите файл «volume» (не требуется расширение) поместите его где-нибудь, где вы можете найти, и не удалите его, как ваша домашняя папка

4- Сделайте исполняемый файл Щелкнув правой кнопкой мыши по файлу, откройте «Свойства», затем вкладку «Разрешения» и установите этот флажок, чтобы пометить его исполняемым, это позволит запустить сценарий. 2

5- Затем нам нужно связать команды с клавиатурой, команды для кода увеличиваются, уменьшаются и отключаются.

Так что к настройкам клавиатуры - How-do-i-change-my-keyboard-shortcuts-in-xubuntu, В области ярлыков клавиатуры нажмите «Добавить», затем откройте «Открыть» файл тома, который мы создали, затем добавим команду для код после громкости, увеличение объема чтения или теневой звук. но с расположением файла кода перед ним, например: «/ home / username / volume mute»

Затем назначьте его клавиатуре, нажав клавишу или, если ключ уже используется, ~ Скорее всего, случай ~ найдет их и заменит команду.

Ключевыми сокращениями, вероятно, называются увеличение громкости .

Ошибка: how-do-i-change-my-keyboard-shortcuts-in-xubuntu

2
ответ дан 25 May 2018 в 12:59
  • 1
    Я просто XF86AudioMute сопоставлен с командой amixer set Master toggle. Клавиши повышения и уменьшения vol отображаются аналогично командам amixer. – Chan-Ho Suh 1 May 2012 в 10:00
  • 2
    @ Чан-Хосух у вас такая же проблема? вы можете просто вызвать команду mute этого скрипта, если хотите, по какой-то причине импульс перехватывает немой на моей машине, amixer отправляет переключатель, который интерпретируется как просто немой импульсом или просто перехватывает нажатие клавиши? Я использовал аналогичный скрипт, который показывал строку с томом до :(, но это отключает и отключает, и теперь у них есть уведомления, так что все хорошо, переключатель - это то, как он был настроен раньше. – Mateo 1 May 2012 в 10:25
  • 3
    Одним из небольших улучшений для сценария является также принудительное включение звука при увеличении / уменьшении громкости. Я также добавил «paplay /usr/share/sounds/ubuntu/stereo/message.ogg», чтобы получить обратную связь по тому. – dma 28 January 2014 в 06:18
  • 4
    Возможно, это было другое раньше, но с pulseaudio 4.0 вы можете использовать команды типа pactl set-sink-volume 0 +5%, pactl set-sink-volume 0 -5% и pactl set-sink-mute 0 toggle для увеличения громкости, уменьшения громкости и громкости переключения соответственно. – jarno 15 April 2015 в 10:22
  • 5
    @jarno yeah, это должно было решить конкретную проблему (ошибка), поэтому она, вероятно, исправлена ​​/ не соответствует действительности, но она остается приятным маленьким взломом, если ничего не работает – Mateo 15 April 2015 в 12:33

См.:

https://bugs.launchpad.net/xfce4-volumed/+bug/883485/comments/3

xfce4-mixer имеет настройку для , который должен быть установлен в Pulseaudio, иначе он будет использовать Alsa.

1
ответ дан 25 May 2018 в 12:59

Работал для меня 12.10:

    #!/bin/sh
    amixer -c 0 sset Master,0 mute
    sleep 5
    amixer -D pulse set Master 1+ unmute
1
ответ дан 25 May 2018 в 12:59

Для пользователей KDE и kmix, если вы используете этот скрипт, вы все равно будете иметь визуальную обратную связь:

#! /bin/bash

DBUS=qdbus 2> /dev/null

case "$1" in
  volup)
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/increase_volume com.trolltech.Qt.QAction.trigger
        ;;
  voldn)
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/decrease_volume com.trolltech.Qt.QAction.trigger
        ;;
  mute)
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/mute com.trolltech.Qt.QAction.trigger
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo $(${DBUS} org.kde.kmix /Mixers/0/Master_0 org.kde.KMix.Control.mute | sed 's/false/0/g;s/true/1/g')
        ;;
  *)
    echo "Usage: mixctl <volup|voldn|mute>" >&2
    exit 1
    ;;
esac

exit 0

Использование:

1) Сохраните его как ~ / bin / mixctl 2) Отмените сочетания клавиш быстрого доступа kmix по умолчанию для увеличения громкости / уменьшения громкости и отключения звука. 3) Создайте три новых пользовательских сочетания клавиш под названием «Увеличение громкости», «Уменьшение громкости» и «Отключение звука» -> тип ярлыка: команда -> поскольку команды используют ~ / bin / mixctl volup, ~ / bin / mixctl voldn и ~ / bin / mixctl mute соответственно

1
ответ дан 25 May 2018 в 12:59

У меня была та же проблема на нескольких машинах Xubuntu 12.04, которые были обновлены до XFCE 4.10. Вот очень быстрый способ решить эту проблему из командной строки (или с помощью скрипта bash).

В отличие от предыдущих решений, которые предлагают стоп-скрипты, это решение полностью восстанавливает функцию отключения звука / unmute button.

Просто выполните следующие две команды один раз, чтобы решить проблему раз и навсегда:

$ xfconf-query --channel xfce4-mixer --property /active-card --set PlaybackInternalAudioAnalogStereoPulseAudioMixer --reset
$ xfconf-query --create --channel xfce4-keyboard-shortcuts --property /commands/custom/XF86AudioMute --type string --set 'amixer -D pulse set Master 1+ toggle'
1
ответ дан 25 May 2018 в 12:59

Я нашел простое решение, которое хорошо работает для меня на этом форуме. В частности, вам нужно добавить это к /etc/asound.conf:

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

И затем установить комбинацию клавиш для клавиши отключения звука с помощью команды:

amixer set Master toggle
1
ответ дан 25 May 2018 в 12:59

Вы можете использовать настройки клавиатуры, чтобы установить кнопку отключения звука, чтобы выполнить команду, найденную ЗДЕСЬ. Хотя первый метод, указанный в этой ссылке, для меня бесполезен, второй отлично работает для XFCE4: $ pactl set-sink-mute 0 toggle. Вы можете также создать сценарий или запуска для выполнения команды щелчком мыши.

FYI, если вы используете что-то вроде Cinnamon (и, возможно, других настольных компьютеров на основе gnome) user197761's ЗДЕСЬ [!d1 ] кажется лучше, поскольку звуковой апплет корицы распознает громкость приглушенным: amixer -D pulse set Master Playback Switch toggle (если вам нравится эта последняя команда, пожалуйста, поддержите его ответ, а не мой.)

0
ответ дан 25 May 2018 в 12:59

Другие вопросы по тегам:

Похожие вопросы: