Настройки звука не сохраняются в Pulse audio [GNOME] - как их сохранить?

Во-первых, нет, вы не можете переместить присваивание типа FILES=blah в другой процесс, поскольку переменные являются внутренними для оболочки, и хотя экспортированные переменные распространяются вниз к дочерним, нет способа распространить их вверх к родителям и предкам процесса.

Однако вы можете запустить внешнюю команду и выбрать ее вывод в массив. Хотя это не так безопасно в отношении специальных символов в именах файлов, как shell glob, поскольку bash, похоже, не любит '\0' в качестве разделителя. Если у вас нет файлов с новыми строками, то это должно сработать:

IFS=$'\n'   # only split on newlines
FILES=( $(find ...) )  # or
FILES=( $(sudo find ...) )  

Однако, если вы создавали список файлов с повышенными привилегиями, вы все равно не сможете получить доступ к файлам в списке. Например, если они находятся в каталоге, к которому у пользователя нет доступа, то даже stat на них не сработает.

И в любом случае, чтобы сделать все это безопасно, вам нужно иметь очень ограниченный набор разрешенных команд в sudo (для пользователя, выполняющего скрипт). Иначе ничто не помешает кому-то изменить sudo find на sudo find -delete или еще хуже.

2
29.04.2017, 22:29
3 ответа

Я опубликую, что решило проблему для меня, что является лучшим ответом на этот вопрос здесь:

https://askubuntu.com/questions/398030/change-default-sound-device

Используя это и помощь, предоставленную дирктом , я предпринял следующие шаги::

pacmd list-cards-это дало моему X -Fi индекс 2.

Настройка профиля была фактически идентична настройке в ответе по ссылке выше, а именно 2 output:analog-stereo. Затем я ввел следующееpacmd set-card-profile 2 output:analog-stereo

Затем я добавил

set-card-profile 2  output:analog-stereo
set-default-sink 2

до конца/etc/pulse/default.pa

И при перезагрузке по-прежнему был выбран X -Fi, не нужно было вносить никаких изменений в Звук для повторного выбора карты.

4
27.01.2020, 21:53

alsactl store должно хранить настройки микшера. Не уверен, что они загружаются при загрузке по умолчанию в Debian, но их можно восстановить с помощью команды alsactl restore.

1
27.01.2020, 21:53

Давайте разберемся с различными настройками звука.

Ваше звуковое оборудование управляется драйверами ядра ALSA, библиотека ALSA предоставляет доступ к этим драйверам, и существуют различные элементы управления громкостью/отключением звука, которые можно изменить с помощью alsamixer или amixer. . Некоторые из этих настроек также могут быть доступны через Gnome. Я обычно оставляю их в покое и изменяю только если что-то не работает.

Вы можете сохранить и восстановить эти настройки с помощью alsactl store и alsactl restore, а пакеты Debian alsa-utils содержат скрипт, который восстанавливает их из /var/lib/alsa/asound.state.

Pulseaudio работает поверх ALSA. Вы можете изменить настройки Pulseaudio в pavucontrol и другими способами. Pulseaudio запоминает некоторые из своих настроек, но нет общего способа их сохранения или восстановления; если вы хотите, чтобы настройки Pulseaudio отображались при загрузке, вам нужно повозиться с настройкой Pulseaudio.

Поскольку я не запускаю рабочий стол Gnome, я не знаю, что на самом деле делает «отключить звуковые оповещения». Это могут быть настройки Gnome, и в этом случае вам нужно выяснить, как восстановить настройки Gnome при загрузке. В базе данных настроек Gnome есть различные утилиты, такие как dconf и gsettings, но использование, по-видимому, менялось в разных версиях, и я никогда не мог полностью понять, как все работает.

Итак, если вас в основном интересует «отключение звуковых оповещений», вам нужно разобраться, что именно он делает и что изменяет.

Редактировать:

Таким образом, настройки Звуковых эффектов определенно относятся к Gnome, поэтому вам нужно выяснить, как сделать настройки Gnome постоянными или установить их при загрузке.

alsa-utils восстанавливает настройки при загрузке, предоставляя сценарии для SysV Init (/etc/init.d/alsa-utils) и systemd (/lib/systemd/system/ alsa-*), которые в основном вызывают alsactl restore /var/lib/alsa/asound.stat). Поэтому, когда вы вызываете alsactl store от имени root, он запишет текущие настройки в этот файл, и они будут восстановлены при загрузке.

Возможно, что «выбранный» вывод, показанный в меню Gnome, является оболочкой для приемника Pulseaudio по умолчанию. Вы можете установить этот приемник с помощью pacmd set-default-sink (используйте pacmd list-sist-sinks | grep name:, чтобы получить список имен приемников), и я думаю, что в pavucontrol тоже. Pulseaudio запомнит это. Также возможно, что это снова настройка Gnome, которая переопределяет то, что делает Pulseaudio.

4
27.01.2020, 21:53

Теги

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