Значение по умолчанию zsh конфигурация для Debian (и вероятно Ubuntu) просто не включает поддержку command-not-found
пакет на значение по умолчанию.
Чтобы иметь ту же функциональность, просто необходимо получить /etc/zsh_command_not_found
в Вашем ~/.zshrc
на значение по умолчанию через:
[ -f /etc/zsh_command_not_found ] && . /etc/zsh_command_not_found
Это должно загрузить и включить command-not-found
функциональность в zsh
.
попытка, работающая
$ cat /proc/asound/devices
1: : sequencer
2: [ 0- 3]: digital audio playback
3: [ 0- 0]: digital audio playback
4: [ 0- 0]: digital audio capture
5: [ 0- 3]: hardware dependent
6: [ 0- 0]: hardware dependent
7: [ 0] : control
33: : timer
, использует первое аудиоустройство, которое имеет номер устройства кроме нуля
Я думаю, проблема в том, что front:
, из другой вопрос , не работал бы с спереди:
относится к набору динамиков, а не к микрофону или записывающему устройству. Вы можете использовать формат hw: CARD = X, Y
, но вы получите немного больше гибкости, если будете использовать, как предлагает @CL, plughw: CARD = X, Y
. Plughw может автоматически позаботиться о передискретизации или преобразовании значений по сравнению с hw: CARD = X, Y
.
На основе ваших выходных данных arecord -l
и arecord -L
:
plughw: DEV = 0, CARD = PCH
или просто plughw: PCH, 0
plughw: DEV = 0, CARD = U0x46d0x825
или просто plughw: U0x46d0x825,0
Если вы запускаете и Pulseaudio, и ALSA, происходит следующее: Pulseaudio по умолчанию предоставляет уровень совместимости, используя конфигурацию, аналогичную
pcm.!default pulse
ctl.!default pulse
Это означает, что если вы snd_pcm_open
используете default
устройство, вы общаетесь с Pulseaudio, который затем направляет вас в соответствии с предпочтениями, сохраненными для имени приложения.
Pulseaudio также открывает устройства ALSA при их использовании. Устройства ALSA hw
можно открыть только один раз, поэтому, как только Pulseaudio откроет их, вы получите сообщение об ошибке «занято», если попытаетесь получить к ним доступ через API ALSA. Это также относится к подключаемым модулям, предоставляемым автоматически, таким как front
, plughw
и т. д. Вы ушли, используя plughw
, потому что Pulseaudio еще не открыл их, когда вы попытались это сделать, в общем случае это не сработает.
Возможные варианты::
(1 )Полностью остановите Pulseaudio, затем вы сможете открывать устройства ALSA с помощью snd_pcm_open
любым удобным для вас способом, используя CARD
и т. д. для идентификации устройства.
(2 )Используйте API Pulseaudio.
(3 )Создайте комбинированное устройство для ваших двух звуковых карт либо в ALSA, либо в Pulseaudio, и вручную установите его в качестве предпочтительного приемника для вашего приложения, затем используйте уровень совместимости Pulseaudio через default
.