поименование звук. устройств в баш скрипте (ВОПРОС РЕШЕН - ВСЕМ КТО ПОМОГ СПАСИБО)
Модератор: Модераторы разделов
поименование звук. устройств в баш скрипте
UPDATE - ВОПРОС РЕШЕН
добрый день
в системе имеется 3 постоянных звуковых устройства
обычно, после загрузки уст-ва "поименованы" так:
hw:0 - EMU101K (PCI карта, основная)
hw:1 - SAA7134 (встроенная на мат.пл)
hw:2 - USB-Audio (WEB-камера)
но иногда (довольно таки часто) "hw:1" & "hw:2" меняются местами:
hw:0 - EMU101K
hw:1 - USB-Audio
hw:2 - SAA7134
ВОПРОС:
как на уровне скрипта (bash) - определить что кому принадлежит?
описание харда-софта и пр. в данном случае не имеет смысла (я надеюсь )
можно ключ. слова, ссылки, советы (обязательно отвечу на все вопросы по делу)
спасибо
UPDATE - Собственно решение
#!/bin/sh
clear; set -e
for i in {0..2}; do
echo -n "hw:$i - ";
cat /proc/asound/card$i/id;
done
-->
hw:0 - Live
hw:1 - SAA7134
hw:2 - C615
теперь немного поскрепеть мозгами и допилить по месту... :о)
...
и, собственно, окончательный вариант
#!/bin/sh
clear; set -e
for i in {0..2}; do
STR=`cat /proc/asound/card$i/id`
if [ "${STR}" = "C615" ]; then
echo "INDEX = $i"
fi
done
ВОПРОС РЕШЕН - ВСЕМ КТО ПОМОГ СПАСИБО
добрый день
в системе имеется 3 постоянных звуковых устройства
обычно, после загрузки уст-ва "поименованы" так:
hw:0 - EMU101K (PCI карта, основная)
hw:1 - SAA7134 (встроенная на мат.пл)
hw:2 - USB-Audio (WEB-камера)
но иногда (довольно таки часто) "hw:1" & "hw:2" меняются местами:
hw:0 - EMU101K
hw:1 - USB-Audio
hw:2 - SAA7134
ВОПРОС:
как на уровне скрипта (bash) - определить что кому принадлежит?
описание харда-софта и пр. в данном случае не имеет смысла (я надеюсь )
можно ключ. слова, ссылки, советы (обязательно отвечу на все вопросы по делу)
спасибо
UPDATE - Собственно решение
#!/bin/sh
clear; set -e
for i in {0..2}; do
echo -n "hw:$i - ";
cat /proc/asound/card$i/id;
done
-->
hw:0 - Live
hw:1 - SAA7134
hw:2 - C615
теперь немного поскрепеть мозгами и допилить по месту... :о)
...
и, собственно, окончательный вариант
#!/bin/sh
clear; set -e
for i in {0..2}; do
STR=`cat /proc/asound/card$i/id`
if [ "${STR}" = "C615" ]; then
echo "INDEX = $i"
fi
done
ВОПРОС РЕШЕН - ВСЕМ КТО ПОМОГ СПАСИБО
если я ошибаюсь, то поправьте а не критикуйте :о)
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: поименование звук. устройств в баш скрипте
А зачем? Что за скрипт такой, которому нужен именно номер устройства? Предчувствую проблему X-Y.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: поименование звук. устройств в баш скрипте
как на уровне скрипта (bash) - определить что кому принадлежит?
т.е. надо идетнифицировать кому из 2х устройств принадлежить идентификатор (ну как еще обьянить то?!)
ну допустим так
"USB-Audio" - устройство, к чему он привязан к "hw:2" или "hw:3"
или на кройняк так
есть "hw:2" - к кому он привязан к "USB-Audio" или к "SAA7134"
т.е. надо идетнифицировать кому из 2х устройств принадлежить идентификатор (ну как еще обьянить то?!)
ну допустим так
"USB-Audio" - устройство, к чему он привязан к "hw:2" или "hw:3"
или на кройняк так
есть "hw:2" - к кому он привязан к "USB-Audio" или к "SAA7134"
если я ошибаюсь, то поправьте а не критикуйте :о)
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: поименование звук. устройств в баш скрипте
Они не меняются просто так ни с того, ни с сего.
Этими именами заведует udev, вот его и ковыряйте. Можно обеспечить, чтобы конкретное устройство получало конкретное имя.
Bash-скрипт тут вообще ни к чему.
Re: поименование звук. устройств в баш скрипте
> Они не меняются просто так ни с того, ни с сего.
еще как меняются, и от балды, в зов-ти от загрузки модулей устройств
> UDEV
система припарироваться не будет и не должна - решение будет в юзер окружении
ВОПРОС: как на уровне скрипта (bash) - определить что кому принадлежит?
еще как меняются, и от балды, в зов-ти от загрузки модулей устройств
> UDEV
система припарироваться не будет и не должна - решение будет в юзер окружении
ВОПРОС: как на уровне скрипта (bash) - определить что кому принадлежит?
если я ошибаюсь, то поправьте а не критикуйте :о)
Re: поименование звук. устройств в баш скрипте
Вы проигнорировали первый вопрос - зачем вам это. А вопрос не праздный: у каждого устройства давным-давно кроме номера есть ещё и имя (например "SAA7134"), по которому к нему можно (более того - настоятельно рекомендуется) обращаться.
И вообще между вами и alsa pulseaudio сидит
И вообще между вами и alsa pulseaudio сидит
Re: поименование звук. устройств в баш скрипте
> у каждого устройства давным-давно кроме номера есть ещё и имя (например "SAA7134")
ну дак и?! кто мешает? в топике написано "КАКИЕ У НИХ ИМЕНА"
hw:0 - EMU101K (PCI карта, основная)
hw:1 - SAA7134 (встроенная на мат.пл)
hw:2 - USB-Audio (WEB-камера)
> по которому к нему можно (более того - настоятельно рекомендуется) обращаться.
в скрипте к ниму будут обращаться как hw:x и ни как иначе
> И вообще между вами и alsa pulseaudio сидит
между нами девочками - ни чего не сидит, у нас - голая ALSA,
а, прости господи, PULSE(бла бла бла) - ни когда отродясь не было
спасибо за комменты
ну дак и?! кто мешает? в топике написано "КАКИЕ У НИХ ИМЕНА"
hw:0 - EMU101K (PCI карта, основная)
hw:1 - SAA7134 (встроенная на мат.пл)
hw:2 - USB-Audio (WEB-камера)
> по которому к нему можно (более того - настоятельно рекомендуется) обращаться.
в скрипте к ниму будут обращаться как hw:x и ни как иначе
> И вообще между вами и alsa pulseaudio сидит
между нами девочками - ни чего не сидит, у нас - голая ALSA,
а, прости господи, PULSE(бла бла бла) - ни когда отродясь не было
спасибо за комменты
если я ошибаюсь, то поправьте а не критикуйте :о)
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: поименование звук. устройств в баш скрипте
Загрузка модулей определяется файлами конфигурации и "от балды" происходить не должна.
Если в Вашей системе иначе, значит что-то неправильно.
С каких это пор настраивать систему == препарировать систему?
Udev обрабатывает пользовательские файлы правил, которые размещаюся отдельно от системных - в подкаталогах /etc/ - также как и все остальные настройки. Это абсолютно штатный механизм именования устройств - его и нужно использовать.
Это не решение. Это костыль.
Тем более, если устройства, как Вы говорите, "именуются от балды". Не напасётесь bash-скриптов.
Ваше "решение в юзер окружении" невозможно хотя бы потому, что запускать такой скрипт всё равно придётся с правами рута. А это уже не совсем юзер-окружение.
Re: поименование звук. устройств в баш скрипте
Тогда - "выпей море, Ксанф": ковыряйтесь в правилах udev, как вам уже посоветовали.
Re: поименование звук. устройств в баш скрипте
вы все такие замечательные
...
#!/bin/sh
clear; set -e
for i in {0..2}; do
echo -n "hw:$i - ";
cat /proc/asound/card$i/id;
done
-->
hw:0 - Live
hw:1 - SAA7134
hw:2 - C615
теперь немного поскрепеть мозгами и допилить по месту... :о)
...
и, собственно, окончательный вариант
#!/bin/sh
clear; set -e
for i in {0..2}; do
STR=`cat /proc/asound/card$i/id`
if [ "${STR}" = "C615" ]; then
echo "INDEX = $i"
fi
done
...
...
#!/bin/sh
clear; set -e
for i in {0..2}; do
echo -n "hw:$i - ";
cat /proc/asound/card$i/id;
done
-->
hw:0 - Live
hw:1 - SAA7134
hw:2 - C615
теперь немного поскрепеть мозгами и допилить по месту... :о)
...
и, собственно, окончательный вариант
#!/bin/sh
clear; set -e
for i in {0..2}; do
STR=`cat /proc/asound/card$i/id`
if [ "${STR}" = "C615" ]; then
echo "INDEX = $i"
fi
done
...
если я ошибаюсь, то поправьте а не критикуйте :о)
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: поименование звук. устройств в баш скрипте
Мда... Написать восемь строчек bash-скрипта, чтобы запускать его руками, да ещё и редактировать его всякий раз, когда добавится ещё одно устройство и "C615" окажется не третьим, а пятым, а потом при случае редактировать обратно.
И всё это вместо того, чтобы написать одну строчку - правило udev, и навсегда забыть об этой проблеме.
Ну что ж... Хозяин - барин.
Re: поименование звук. устройств в баш скрипте
sunjob
В самом начале была упомянута XY проблема. Почитайте на досуге, что это.
У вас пытались выяснить конечную цель не просто так, а потому что, возможно, есть более простой и элегантный способ решения вашей изначальной проблемы.
В самом начале была упомянута XY проблема. Почитайте на досуге, что это.
У вас пытались выяснить конечную цель не просто так, а потому что, возможно, есть более простой и элегантный способ решения вашей изначальной проблемы.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
Re: поименование звук. устройств в баш скрипте
> простой и элегантный способ решения вашей изначальной проблемы
самый простой и элегантный способ я уже привел (а все остальное ВАШИ домыслы )
ВСЕМ СПАСИБО ЗА ПОМОЩЬ
самый простой и элегантный способ я уже привел (а все остальное ВАШИ домыслы )
ВСЕМ СПАСИБО ЗА ПОМОЩЬ
если я ошибаюсь, то поправьте а не критикуйте :о)
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: поименование звук. устройств в баш скрипте
Значит, вопрос был поставлен так, что провоцировал домысливание. Ибо сказано:
Описывайте конечную цель, а не отдельные шаги
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: поименование звук. устройств в баш скрипте
> Описывайте конечную цель, а не отдельные шаги
уж извольте мне самому решать какие вопросы задавать и как строить сратегию решения своих задач
ВОПРОС был следующим: как на уровне скрипта (bash) - определить что кому принадлежит?
не можете конкретно ответить на вопрос, не отвечайте и не задавайте развеситстых вопросов, как то:
> А зачем? Что за скрипт такой, которому нужен именно номер устройства? Предчувствую проблему X-Y.
и потом, когда видете решение которое и нужно было - выдаете очередные перлы, не имеющие ни какого отношения к теме!
учитесь у ЛОР-пользователей, найдется всего один человек, напишет всего одну строчку - и все, сразу в точку!!!
желаете подискутировать, не сочтите наглостью, пишите в личку!
ПРОБЛЕМА РЕШЕНА, всем кто помог мой поклон и спасибо
уж извольте мне самому решать какие вопросы задавать и как строить сратегию решения своих задач
ВОПРОС был следующим: как на уровне скрипта (bash) - определить что кому принадлежит?
не можете конкретно ответить на вопрос, не отвечайте и не задавайте развеситстых вопросов, как то:
> А зачем? Что за скрипт такой, которому нужен именно номер устройства? Предчувствую проблему X-Y.
и потом, когда видете решение которое и нужно было - выдаете очередные перлы, не имеющие ни какого отношения к теме!
учитесь у ЛОР-пользователей, найдется всего один человек, напишет всего одну строчку - и все, сразу в точку!!!
желаете подискутировать, не сочтите наглостью, пишите в личку!
ПРОБЛЕМА РЕШЕНА, всем кто помог мой поклон и спасибо
если я ошибаюсь, то поправьте а не критикуйте :о)
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: поименование звук. устройств в баш скрипте
Да задавайте какие хотите вопросы, только не удивляйтесь потом, что получаете не те ответы, которых ждали.
И уж позвольте мне самому решать, какие ответы давать и как строить стратегию решения чужих задач, ибо я у Вас не на зарплате.
И уж позвольте мне самому решать, какие ответы давать и как строить стратегию решения чужих задач, ибо я у Вас не на зарплате.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: поименование звук. устройств в баш скрипте
это у вас такой стиль общения "оставлять последнее слово за собой" и давать понять "кто тут главный" ?
не хотите в личке, извольте...
вам не нравятся вопросы - нет ничего более логичного и простого - не отвечайте на них , а то как в анекдоте про женскую баню и шкаф напротив окна:
- дак ведь голых баб-то не видно!
- ага, а вы на шкаф залезьте!
не хотите в личке, извольте...
вам не нравятся вопросы - нет ничего более логичного и простого - не отвечайте на них , а то как в анекдоте про женскую баню и шкаф напротив окна:
- дак ведь голых баб-то не видно!
- ага, а вы на шкаф залезьте!
если я ошибаюсь, то поправьте а не критикуйте :о)
Re: поименование звук. устройств в баш скрипте
Взгляните на /lib/udev/rules.d/persistent*rules, эти правила помогут вам понять, что скрипт тут не нужен, от слова вообще. Достаточно написать правило, делающее встроенную звуковуху устройством 1, и тогда USB-карта в любом случае будет получать индекс 2. Это есть ответ на вопрос "как заставить звуковые карты определяться по порядку, а не как придется?".
Спасибо сказали:
Re: поименование звук. устройств в баш скрипте
UDEV-RULES эта все, конечно зашибись :о) но задача была другая, попробуйте найти хоть что то пересекающееся в этих формулировках:
"как на уровне скрипта определить что кому принадлежит (bash)?"
и
"как заставить звуковые карты определяться по порядку (udev-rules)"
сапроксимируйе наш вопрос с нашим решением - это именно то, что надо (помогли на другом форуме), это именно то, что ожидалось :о)
и вам за развернутый совет спасибо, пригодится кому ни будь из читателей
"как на уровне скрипта определить что кому принадлежит (bash)?"
и
"как заставить звуковые карты определяться по порядку (udev-rules)"
сапроксимируйе наш вопрос с нашим решением - это именно то, что надо (помогли на другом форуме), это именно то, что ожидалось :о)
и вам за развернутый совет спасибо, пригодится кому ни будь из читателей
если я ошибаюсь, то поправьте а не критикуйте :о)
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: поименование звук. устройств в баш скрипте
Это у Вас такой стиль общения — «облить дерьмом всех, кто попытался Вам помочь»?
Задумайтесь, почему другие пользователи находят здесь ответы на свои вопросы, а лично Вам так не везёт.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |