Во-первых, проверьте, указан ли zsh
в качестве допустимой оболочки с помощью
cat /etc/shells
. Если zsh
нет в списке, установите его. Например, если вы используете apt
sudo apt-get install zsh
Do, снова выполните шаг 1 и посмотрите путь zsh
. В моем случае указаны как /usr/bin/zsh
, так и /usr/zsh
.
Как упомянул в комментарии @Stéphane Chazelas, если вы хотите скомпилировать и установить оболочку с нуля, обязательно добавьте путь в /etc/shells
.
Измените оболочку, используя
chsh -s /usr/bin/zsh
-s, --shell SHELL
Имя новой оболочки входа пользователя. Установка этого поля пустым приводит к тому, что система выбирает оболочку входа по умолчанию.
Выйдите из системы и войдите снова.
даже если ваше последнее предложение не работает для виртуального канала «все», оно мне очень помогло, и я попробовал что-то, что отлично работает на моем компьютере с той же звуковой картой USB.
Вот конфигурационный файл:
pcm.dmix8 {
type dmix
ipc_key 1001
slave {
pcm "hw:2"
rate 44100
channels 8
period_size 1024
buffer_size 32768
} }
pcm.ch1 {
type plug
slave.pcm dmix8
ttable.0.0 1 }
pcm.ch2 {
type plug
slave.pcm dmix8
ttable.0.1 1 }
pcm.ch3 {
type plug
slave.pcm dmix8
ttable.0.6 1 }
pcm.ch4 {
type plug
slave.pcm dmix8
ttable.0.7 1 }
pcm.ch5 {
type plug
slave.pcm dmix8
ttable.0.4 1 }
pcm.ch6 {
type plug
slave.pcm dmix8
ttable.0.5 1 }
pcm.ch7 {
type plug
slave.pcm dmix8
ttable.0.6 1 }
pcm.ch8 {
type plug
slave.pcm dmix8
ttable.0.7 1 }
pcm.all {
type plug
slave.pcm dmix8
ttable.0.0 1
ttable.0.1 1
ttable.0.2 1
ttable.0.3 1
ttable.0.4 1
ttable.0.5 1
ttable.0.6 1
ttable.0.7 1 }
С этим конфигурационным файлом все работает, как ожидалось !! Канал "all" используется Asterisk как локальный программный телефон, а ch1 ... ch8 используются для воспроизведения различных монофонических звуков в 8 разных комнатах. И когда я вызываю Asterisk, он автоматически отвечает, и я могу слышу голос в 8 HP, смешанный с существующим звуком комнаты :)
Большое спасибо за вашу помощь!
Следующим шагом попробуйте мою плату raspberry PI 3, но нет причин для другого поведения.
Я не уверен, можно ли использовать разные определения dmix
с одним и тем же ipc_key
; возможно, лучше использовать общее устройство dmix
.
Чтобы иметь возможность воспроизводить стереофайл на все каналы, необходимо сначала преобразовать его в моно.
pcm.dmix8 {
type dmix
slave {
pcm "hw:1"
rate 44100
channels 8
period_size 1024
buffer_size 32768
}
}
pcm.ch1 {
type plug
slave.pcm dmix8
ttable.0.0 1
}
pcm.ch2 {
type plug
slave.pcm dmix8
ttable.0.1 1
}
# and so on with "ttable.0.x 1"
pcm.all {
type plug
slave {
pcm {
type route
slave.pcm dmix8
ttable [ [ 1 1 1 1 1 1 1 1 ] ]
}
channels 1
}
}