поименование звук. устройств в баш скрипте (ВОПРОС РЕШЕН - ВСЕМ КТО ПОМОГ СПАСИБО)

Модератор: Модераторы разделов

Ответить
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

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

Сообщение sunjob »

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

ВОПРОС РЕШЕН - ВСЕМ КТО ПОМОГ СПАСИБО
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: поименование звук. устройств в баш скрипте

Сообщение Bizdelnick »

А зачем? Что за скрипт такой, которому нужен именно номер устройства? Предчувствую проблему X-Y.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: поименование звук. устройств в баш скрипте

Сообщение sunjob »

как на уровне скрипта (bash) - определить что кому принадлежит?

т.е. надо идетнифицировать кому из 2х устройств принадлежить идентификатор (ну как еще обьянить то?!)

ну допустим так
"USB-Audio" - устройство, к чему он привязан к "hw:2" или "hw:3"

или на кройняк так
есть "hw:2" - к кому он привязан к "USB-Audio" или к "SAA7134"
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: поименование звук. устройств в баш скрипте

Сообщение Hephaestus »

sunjob писал(а):
07.06.2015 10:01
но иногда (довольно таки часто) "hw:1" & "hw:2" меняются местами:
Они не меняются просто так ни с того, ни с сего.
Этими именами заведует udev, вот его и ковыряйте. Можно обеспечить, чтобы конкретное устройство получало конкретное имя.
Bash-скрипт тут вообще ни к чему.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: поименование звук. устройств в баш скрипте

Сообщение sunjob »

> Они не меняются просто так ни с того, ни с сего.
еще как меняются, и от балды, в зов-ти от загрузки модулей устройств

> UDEV
система припарироваться не будет и не должна - решение будет в юзер окружении

ВОПРОС: как на уровне скрипта (bash) - определить что кому принадлежит?
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: поименование звук. устройств в баш скрипте

Сообщение s.xbatob »

Вы проигнорировали первый вопрос - зачем вам это. А вопрос не праздный: у каждого устройства давным-давно кроме номера есть ещё и имя (например "SAA7134"), по которому к нему можно (более того - настоятельно рекомендуется) обращаться.

И вообще между вами и alsa pulseaudio сидит :)
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: поименование звук. устройств в баш скрипте

Сообщение sunjob »

> у каждого устройства давным-давно кроме номера есть ещё и имя (например "SAA7134")
ну дак и?! кто мешает? в топике написано "КАКИЕ У НИХ ИМЕНА"

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: поименование звук. устройств в баш скрипте

Сообщение Hephaestus »

sunjob писал(а):
07.06.2015 10:27
еще как меняются, и от балды, в зов-ти от загрузки модулей устройств
Загрузка модулей определяется файлами конфигурации и "от балды" происходить не должна.
Если в Вашей системе иначе, значит что-то неправильно.

sunjob писал(а):
07.06.2015 10:27
система припарироваться не будет и не должна
С каких это пор настраивать систему == препарировать систему?
Udev обрабатывает пользовательские файлы правил, которые размещаюся отдельно от системных - в подкаталогах /etc/ - также как и все остальные настройки. Это абсолютно штатный механизм именования устройств - его и нужно использовать.

sunjob писал(а):
07.06.2015 10:27
решение будет в юзер окружении
Это не решение. Это костыль.
Тем более, если устройства, как Вы говорите, "именуются от балды". Не напасётесь bash-скриптов.
Ваше "решение в юзер окружении" невозможно хотя бы потому, что запускать такой скрипт всё равно придётся с правами рута. А это уже не совсем юзер-окружение.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: поименование звук. устройств в баш скрипте

Сообщение s.xbatob »

Тогда - "выпей море, Ксанф": ковыряйтесь в правилах udev, как вам уже посоветовали.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: поименование звук. устройств в баш скрипте

Сообщение sunjob »

вы все такие замечательные

...

#!/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: поименование звук. устройств в баш скрипте

Сообщение Hephaestus »

sunjob писал(а):
07.06.2015 13:26
и, собственно, окончательный вариант
Мда... Написать восемь строчек bash-скрипта, чтобы запускать его руками, да ещё и редактировать его всякий раз, когда добавится ещё одно устройство и "C615" окажется не третьим, а пятым, а потом при случае редактировать обратно.
И всё это вместо того, чтобы написать одну строчку - правило udev, и навсегда забыть об этой проблеме.

Ну что ж... Хозяин - барин.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: поименование звук. устройств в баш скрипте

Сообщение SLEDopit »

sunjob
В самом начале была упомянута 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.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: поименование звук. устройств в баш скрипте

Сообщение sunjob »

> простой и элегантный способ решения вашей изначальной проблемы
самый простой и элегантный способ я уже привел (а все остальное ВАШИ домыслы )

ВСЕМ СПАСИБО ЗА ПОМОЩЬ
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: поименование звук. устройств в баш скрипте

Сообщение Bizdelnick »

sunjob писал(а):
07.06.2015 18:53
все остальное ВАШИ домыслы

Значит, вопрос был поставлен так, что провоцировал домысливание. Ибо сказано:
Описывайте конечную цель, а не отдельные шаги
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: поименование звук. устройств в баш скрипте

Сообщение sunjob »

> Описывайте конечную цель, а не отдельные шаги
уж извольте мне самому решать какие вопросы задавать и как строить сратегию решения своих задач

ВОПРОС был следующим: как на уровне скрипта (bash) - определить что кому принадлежит?
не можете конкретно ответить на вопрос, не отвечайте и не задавайте развеситстых вопросов, как то:
> А зачем? Что за скрипт такой, которому нужен именно номер устройства? Предчувствую проблему X-Y.

и потом, когда видете решение которое и нужно было - выдаете очередные перлы, не имеющие ни какого отношения к теме!

учитесь у ЛОР-пользователей, найдется всего один человек, напишет всего одну строчку - и все, сразу в точку!!!
желаете подискутировать, не сочтите наглостью, пишите в личку!

ПРОБЛЕМА РЕШЕНА, всем кто помог мой поклон и спасибо
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: поименование звук. устройств в баш скрипте

Сообщение Bizdelnick »

Да задавайте какие хотите вопросы, только не удивляйтесь потом, что получаете не те ответы, которых ждали.
И уж позвольте мне самому решать, какие ответы давать и как строить стратегию решения чужих задач, ибо я у Вас не на зарплате.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: поименование звук. устройств в баш скрипте

Сообщение sunjob »

это у вас такой стиль общения "оставлять последнее слово за собой" и давать понять "кто тут главный" ?
не хотите в личке, извольте...

вам не нравятся вопросы - нет ничего более логичного и простого - не отвечайте на них , а то как в анекдоте про женскую баню и шкаф напротив окна:
- дак ведь голых баб-то не видно!
- ага, а вы на шкаф залезьте!
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: поименование звук. устройств в баш скрипте

Сообщение yars »

Взгляните на /lib/udev/rules.d/persistent*rules, эти правила помогут вам понять, что скрипт тут не нужен, от слова вообще. Достаточно написать правило, делающее встроенную звуковуху устройством 1, и тогда USB-карта в любом случае будет получать индекс 2. Это есть ответ на вопрос "как заставить звуковые карты определяться по порядку, а не как придется?".
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: поименование звук. устройств в баш скрипте

Сообщение sunjob »

UDEV-RULES эта все, конечно зашибись :о) но задача была другая, попробуйте найти хоть что то пересекающееся в этих формулировках:

"как на уровне скрипта определить что кому принадлежит (bash)?"
и
"как заставить звуковые карты определяться по порядку (udev-rules)"

сапроксимируйе наш вопрос с нашим решением - это именно то, что надо (помогли на другом форуме), это именно то, что ожидалось :о)

и вам за развернутый совет спасибо, пригодится кому ни будь из читателей
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: поименование звук. устройств в баш скрипте

Сообщение yoshakar »

sunjob писал(а):
08.06.2015 07:13
но задача была другая
Вы же так и не ответили в чём состоит ваша задача, хотя вас спрашивали несколько раз. Поэтому неудивительно, что ответы ей не соответствуют.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: поименование звук. устройств в баш скрипте

Сообщение Bizdelnick »

sunjob писал(а):
07.06.2015 21:34
это у вас такой стиль общения "оставлять последнее слово за собой" и давать понять "кто тут главный" ?

Это у Вас такой стиль общения — «облить дерьмом всех, кто попытался Вам помочь»?
Задумайтесь, почему другие пользователи находят здесь ответы на свои вопросы, а лично Вам так не везёт.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Ответить