Почему Linux не позволяет мне играть с / dev / dsp?

Я работаю через учебник Linux, и он рассказывает мне об устройствах. В нем говорится, что если я отправлю соответствующий вывод в /dev/dsp , он будет воспроизводить звук. Например, cat file.wav > /dev/dsp , где file.wav – это любой файл .wav.

Когда я это делаю, я получаю разрешение. Если я запустил это с помощью sudo, я все равно получаю разрешение. Если я впервые, звук не воспроизводится.

Почему я разрешаю разрешение с sudo ? Почему звук не звучит даже с su ?

  • как установить nividia bumbulbee в linux mint 17.1 (корицу)?
  • Монетный двор 12: я не могу открыть диспетчер синаптических пакетов
  • Существует ли привязка ключа к переключению на «последнее» рабочее пространство в mint 17.2?
  • Отключение, когда оно не используется в течение определенного времени
  • Установка Linux Mint 11 LXDE x64 поверх ubuntu-минимального
  • Управление вентиляцией Mint
  • Linux Mint 18 KDE и значки уведомлений на значках панели задач
  • Linux Mint - сбой в экране Запись видеофайлов
  • 3 Solutions collect form web for “Почему Linux не позволяет мне играть с / dev / dsp?”

    /dev/dsp является частью OSS, который не был частью ядра Linux в … очень долгое время. Он уже давно вытесняется ALSA, который использует разные устройства, разные программы и другой API.

    Однако есть модуль уровня эмуляции. Если он доступен, загрузка модуля snd-pcm-oss позволит вам использовать устройства PCM для OSS, такие как /dev/dsp .

    Или просто придерживайтесь данных о трубопроводах в aplay или paplay .

    Если я запустил это с помощью sudo, я все равно получаю разрешение.

    По этому утверждению это звучит так, будто вы пытаетесь выполнить команду вроде:

     sudo cat file.wav > /dev/dsp 

    Причина, по которой вы продолжаете получать «отказ в доступе», заключается в том, что ваша оболочка сначала пытается открыть устройство /dev/dsp для вывода, прежде чем запускать команду (которая является sudo ). Чтобы оболочка открыла перенаправление с правами root, вам нужно было бы сделать что-то вроде:

     sudo sh -c 'cat file.wav > /dev/dsp' 

    Как отмечалось, устаревшая книга.
    Итак, чтобы примеры работали с более современным Linux, где говорится что-то вроде

     cat music.wav > /dev/dsp 

    измените его на:

     cat music.wav | aplay 

    И вы только что сделали свой первый портирование кода! Выиграть! Не стесняйтесь отправлять авторские патчи. 🙂

    Linux и Unix - лучшая ОС в мире.