Другой способ получить все числа напрямую:
Чтобы получить общее количество слотов:
sudo dmidecode -t memory | grep -c '^Memory Device$'
Чтобы получить количество используемых слотов:
[ f2]Чтобы получить максимальную емкость:
sudo dmidecode -t memory | grep -Po '^\tMaximum Capacity: \K.*'
ubuntu@ubuntu ~ % sudo dmidecode -t memory | grep -c '^Memory Device$'
4
ubuntu@ubuntu ~ % sudo dmidecode -t memory | grep -c -Po '^\tPart Number: (?!\[Empty\])'
1
ubuntu@ubuntu ~ % sudo dmidecode -t memory | grep -Po '^\tMaximum Capacity: \K.*'
32 GB
Решение Takkat не работало для меня, вот мое решение для тех, у кого все еще есть проблемы с этим.
Было два вопроса для меня с решением Takkat. Во-первых, я понял, что должна произойти задержка после запуска до перехода на микрофон (я использую команду «sleep» в моем решении ниже). Кроме того, команда «set-default-source» работала на включение USB-микрофона, но почему-то Skype не узнал об этом и продолжал использовать внутренний микрофон.
Чтобы это сработало, сначала это полезно для установки pavucontrol. В pavucontrol откройте вкладку «Конфигурация» и посмотрите, что происходит с приведенными ниже командами, чтобы проверить, что все работает по назначению.
Затем из терминала введите:
pacmd
Оттуда введите:
list-cards
На выходе найдите индексный номер USB-аудио, который вы хотите (в моем случае это было «1»). Затем просмотрите строки, указанные в разделе «профили» как для карты по умолчанию, так и для USB-карты. Они должны быть такими же, как те, которые перечислены в pavucontrol, и могут быть чем-то вроде «ouput: input + output», «off» или «input: analog-mono» и т. Д. Еще в командной строке pacmd команда set-card-profile & lt; индексный номер & gt; & lt; имя профиля & gt;
должно изменить настройки в pavucontrol. Здесь мы хотим переключить внутренний звук с дуплекса на выходной, а USB - на вход.
После того, как мы нашли соответствующие профили, мы хотим создать команду запуска, чтобы изменить несколько параметров сразу после запуска. Чтобы создать команду запуска, откройте тире и найдите «приложения для запуска», затем нажмите «добавить», затем введите имя по вашему выбору и соответствующую команду ниже.
После проб и ошибок мой старт (d1)
bash -c "sleep 30 & amp; & amp; pacmd set-card-profile 0 выход: аналоговый стерео и amp; pcmd set-card-profile 1 off & amp; pacmd set-card-profile 1 input: analog-mono "
Объяснение: Я обнаружил, что команда« sleep »была необходима, это означает, что команда выполнена после паузы, которую я установил на 30 секунд (я думаю, что это может быть меньше, поиграйте с этим). Следующая команда (после «& amp; & amp;») должна получить профиль по умолчанию (внутренняя) карты для переключения с выхода + выхода (дуплекс, который является значением по умолчанию) только для вывода. Следующая команда предназначена для звуковой карты USB (в моем случае, номер «1») для выключения. Последняя команда состоит в том, чтобы эта же карта снова включалась в режиме «вход: аналог-моно»
Возможно, вам придется играть с этими настройками, чтобы найти ту, которая работает.
Теперь, когда я запускаю, мой USB-микрофон готов к использованию через 30 секунд, а Skype использует правильный микрофон.
Я согласен с тем, что проблема в том, что Pulseaudio не устанавливает USB-устройство по умолчанию, потому что его нет при запуске импульса.
Судя по моему решению, это подключить систему, которая замечает, когда USB-устройство подключено ... UDEV!
Кстати, эти инструкции слегка фанки, и я предполагаю, что вам удобно делать вещи в командной строке и стать пользователем root для обновления файлов udev,
. Первый шаг - подключить веб-камеру и найти номера волшебных продавцов и продуктов на typing
lsusb
Я использую Microsoft Lifecam, и он отображается как
Bus 001 Устройство 013: ID 045e: 072d Microsoft Corp.
важная часть - 045e: 072d
Затем, пока веб-камера подключена, найдите из названия устройства pulseaudio. Тип
pacmd list-sources
Опять же, я ищу строку, которая запускает имя :
, тогда есть что-то о Microsoft Lifecam ... здесь это
имя: & lt; alsa_input.usb-Microsoft_Microsoft ___ LifeCam_VX-5500-02-VX5500.analog-mono & gt;
, поэтому имя устройства pulseaudio будет alsa_input.usb-Microsoft_Microsoft ___ LifeCam_VX-5500-02-VX5500.analog-mono
Затем я создал новое правило udev, которое запускается, когда вставлено USB-устройство с поставщиком = 045e и product = 072d. Чтобы создать правило, создайте новый файл с именем /etc/udev/rules.d /
SOMETHING .rules
(я назвал свой файл / etc / udev / rules .d / 95-Webcam-mic.rules
).
Поместите эту строку в файл
SUBSYSTEMS == "usb", ATTR {idVendor} == "045e", ATTR {idProduct} == "072d", ACTION == "add", GROUP = "audio", RUN + = "/ usr / local / bin / webcam-mic"
Не забудьте заменить ATTR {idVendor} и ATTR {idProduct } со значениями для вашей веб-камеры.
В этом правиле выполняется сценарий для установки устройства USB для ввода, то есть RUN + = "/ usr / local / bin / webcam-mic "
part.
Краткий обзор времени. Каждый раз, когда я подключаю свою веб-камеру, я хочу запустить команду
pacmd set-default-source alsa_input.usb-Microsoft_Microsoft ___ LifeCam_VX-5500-02-VX5500.analog-mono
Но команда должна запускаться как я (пользователь, работающий на рабочем столе), но udev запускается как пользователь root, поэтому, когда udev запускает мою команду, мне нужно, чтобы он менялся на пользователя, а затем запустил команду.
Итак, у нас есть 2 варианта.
su james -c pacmd set-default-source ...
Это неправильно, я даже не могу закончить ввод команды. Что делать, если вы меняете веб-камеры? Что делать, если вы устанавливаете это для другого пользователя? / etc / default / webcam-mic
просто должен определить две переменные оболочки в соответствии с комментарием в сущности. Поместите скрипт в / usr / local / bin /
и сделайте его исполняемым. Затем поместите файл по умолчанию в / etc / defaults /
и отредактируйте его, чтобы использовать ваше имя пользователя и устройство pulseaudio раньше. Удачи!