pavucontrol не изменит вывод на некоторых приложениях

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

Суть в том, что Makefile - правильный инструмент для этой работы, и вы можете уйти от экранирования оболочки с помощью здесь строковый синтаксис.

base_script.sh

# some script...

xargs -0 python -c <<'PYTHON_SCRIPT_asdlfkjhsldjkhf'
PYTHON_SCRIPT_asdlfkjhsldjkhf

# more script ...

Makefile

merged_script.sh: base_script.sh python_script.py
    { sed -ne '0,/PYTHON_SCRIPT_/p' base_script.sh; \
      sed -e SOME_REGEX_TO_STRIP_COMMENTS python_script.py; \
      sed -ne '/^PYTHON_SCRIPT_/,999999999p' base_script.sh; \
    } > merged_script.sh

В основном это захватывает верхнюю половину сценария оболочки, затем соединяет сценарий python, а затем прикрепляет нижнюю половину сценария. Скрипт python помещается в строку здесь, поэтому вам не нужно беспокоиться об экранировании оболочки.Вам нужно убедиться, что строка не встречается в коде Python, но это не должно быть настоящей проблемой. Вы также должны сделать скрипт python короче, чем максимальное количество аргументов, но эта проблема у вас уже была.

Написание регулярного выражения для удаления комментариев Python оставлено в качестве упражнения.

Команды sed для захвата верхней и нижней половины скрипта неаккуратны, и их можно заменить какой-нибудь другой утилитой скрипта для объединения файлов. Я бы посоветовал написать это на python, так как это то, что вам удобно.

4
02.07.2018, 01:46
2 ответа

Наконец-то я нашел решение:https://steamcommunity.com/app/93200/discussions/0/864959809826195633/

Кажется, что некоторые приложения используют что-то под названием OpenALsoft для управления звуком, и у него есть параметр конфигурации, который запрещает изменения приемника. Чтобы отключить эту опцию, вы можете создать файл конфигурации.

~/.alsoftrc

[pulse]
allow-moves=yes
15
27.01.2020, 20:57

В моей системе также требовалась строка «драйверы».

~/.alsoftrc

drivers = alsa,pulse,core,oss

[pulse]
allow-moves=yes
4
27.01.2020, 20:57

Теги

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