|
|
<!-- <?xml version="1.0" ?>
|
|
|
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd">
|
|
|
To validate or process this file as a standalone document, uncomment
|
|
|
this prolog. Be sure to comment it out again when you are done -->
|
|
|
<chapter id="faq">
|
|
|
<title>Вопросы и ответы</title>
|
|
|
|
|
|
<para>В этом разделы вы найдёте ответы на часто задаваемые вопросы об &arts;. </para>
|
|
|
|
|
|
<qandaset id="faq-general">
|
|
|
<title>Общие вопросы</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Поддерживает ли &kde; мою звуковую карту? </para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para>Для воспроизведения звуков &kde; использует &arts;, а &arts; - драйверы ядра &Linux;: <acronym>OSS</acronym> или <acronym>ALSA</acronym> (с эмуляцией <acronym>OSS</acronym>). Всё будет работать, если они поддерживают вашу звуковую карту и она правильно настроена (т.е. другие приложения &Linux; могут производить звуки). Однако, с конкретным оборудованием могут возникнуть проблемы, об этом можно прочитать <link linkend="faq-hardware-specific">в разделе о проблемах с оборудованием </link>. </para>
|
|
|
<para>Кроме того, мы постоянно расширяем список поддерживаемых платформ. Это список для последней версии, если вашей там не оказалось, попробуйте портировать &arts; на нее. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry>Ввод и вывод звука в &arts;</entry>
|
|
|
<entry>Комментарий</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry>paud</entry>
|
|
|
<entry>Поддержка AIX Personal Audio Device</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>alsa</entry>
|
|
|
<entry>Драйверы ALSA-0.5 и ALSA-0.9 для Linux</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>libaudioio</entry>
|
|
|
<entry>Поддержка библиотеки LibAudioIO для Solaris</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>nas</entry>
|
|
|
<entry>Поддержка звукового сервера NAS, используется для X-терминалов с NAS</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>null</entry>
|
|
|
<entry>Нулевое аудиоустройство, стирает данные о звуке</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>oss</entry>
|
|
|
<entry>Поддержка OSS (Open Sound System), работает под Linux, различными BSD и другими платформами с установленными драйверами OSS</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>toss</entry>
|
|
|
<entry>Расширенная поддержка OSS, исполльзуется тогда, когда стандартная система не работает.</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>sgi</entry>
|
|
|
<entry>Поддержка SGI Direct Media для IRIX</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>sun</entry>
|
|
|
<entry>Поддержка Solaris</entry>
|
|
|
</row>
|
|
|
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>&artsd; не может воспроизводить файлы <literal role="extension">wav</literal>! </para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para>Проверьте, собрано ли приложение &artsd; с поддержкой <filename>libaudiofile</filename> (<userinput><command>ldd</command> <parameter>artsd</parameter></userinput>). Если нет, скачайте пакет tdesupport и скомпилируйте всё ещё раз. Будет работать. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Я могу слышать звук только когда вхожу в систему как пользователь <systemitem class="username">root</systemitem>, у остальных звука нет! </para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para>На то, могут ли пользователи включать звук, влияют права в файле <filename class="devicefile">/dev/dsp</filename>. Чтобы дать права всем пользователям , сделайте следущее: </para>
|
|
|
|
|
|
<procedure>
|
|
|
<step>
|
|
|
<para>Войдите в систему как пользователь <systemitem class="username">root</systemitem>. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para>Откройте окно &konqueror;. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para>Перейдите в каталог <filename class="directory">/dev</filename>. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para>Нажмите <mousebutton>правую</mousebutton> кнопку мыши на файле <filename>dsp</filename> и откройте свойства. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para>Откройте вкладку <guilabel>Права</guilabel>. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para>Выделите <guilabel>Чтение</guilabel> и <guilabel>Запись</guilabel> во всех строках. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para>Нажмите кнопку <guibutton>OK</guibutton>. </para>
|
|
|
</step>
|
|
|
</procedure>
|
|
|
|
|
|
<para>Или вы можете открыть окно терминала и набрать команду <userinput><command>chmod</command> <option>666</option> <parameter>/dev/dsp</parameter></userinput>. </para>
|
|
|
|
|
|
<para>Для ограничения прав доступа конкретных пользователей используйте права групп. В некоторых дистрибутивах &Linux;, к примеру, в Debian/Potato, право доступа к <filename class="devicefile">/dev/dsp</filename> имеет группа <systemitem class="groupname">audio</systemitem>, вам остаётся только добавить в эту группу пользователей. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Это помогло для &artsd;, а что делать с &kmix;, &tdemid;, &kscd; и т. д.? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
|
|
|
<para>Есть и другие устройства для воспроизведения звука, к которым обращаются мультимедиа-приложения. Настраивать их можно так же, т. е. давать право доступа всем пользователям или группе. Этот список может быть и неполным (к тому же, есть устройства вроде <filename class="devicefile">midi0</filename>, <filename class="devicefile">midi1</filename>, ...: здесь перечислены только имена с 0). </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/admmidi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/adsp0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/amidi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/amixer0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/audio</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/audio0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/cdrom</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/dmfm0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/dmmidi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/dsp</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/dsp0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/midi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/midi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/midi00</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/midi00</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/mixer</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/mixer0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/mpu401data</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/mpu401stat</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/music</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/rmidi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/rtc</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/sequencer</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/smpte0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile">/dev/sndstat</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Что делать, если artsd не запускается или работает с ошибками?</para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para>Прежде всего, попробуйте установить параметры по умолчанию в &kcontrol; (или, если вы начинаете работу в ручном режиме, не задавайте дополнительных параметров, кроме <userinput><option>-F</option><parameter>10</parameter> <option>-S</option><parameter>4096</parameter></userinput> для задержки). Наиболее высокая вероятность ошибки в <emphasis>двустороннем режиме</emphasis>, поэтому постарайтесь его отключить. </para>
|
|
|
|
|
|
<para>Хороший способ понять, почему &artsd; не запускается (или работает с ошибками) - это запустить его вручную. Откройте окно &konsole; и сделайте следущее: </para>
|
|
|
|
|
|
<screen width="40"><prompt>%</prompt> <userinput><command>artsd</command> <option>-F</option><parameter>10</parameter> <option>-S</option><parameter>4096</parameter></userinput></screen>
|
|
|
|
|
|
<para>Вы можете добавить параметр <option>-l0</option>, который выведет больше информации о том, что происходит: </para>
|
|
|
<screen width="40"><prompt>%</prompt> <userinput><command>artsd</command> <option>-l0</option> <option>-F</option><parameter>10</parameter> <option>-S</option><parameter>4096</parameter></userinput></screen>
|
|
|
|
|
|
<para>Вы, возможно, получите объяснение того, почему &artsd; не запускается. Или, если во время работы возникают ошибки, вы увидите, <quote>где</quote> они. Если хотите сообщить об ошибке, вложите лог с <command>gdb</command> и/или <command>strace</command>. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Могу ли я переместить &artsd; (перенести скомпилированные файлы в другой каталог)?</para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para>Вы не сможете переместить &arts; без проблем. Дело в том, что информация о расположении скомпилированного &artsd; хранится в &artswrapper; (это необходимо для обеспечения безопасности). Однако вы можете заставить перемещённый &artsd; хотя бы находить компоненты, для этого используйте файл <filename>.mcoprc</filename> (TraderPath/ExtensionPath entries). Подробности - в <link linkend="the-mcoprc-file">главе о файле <filename>.mcoprc</filename></link>. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Могу ли я скомпилировать &arts; gcc-3.0?</para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para>Если коротко, нет. скомпилированный gcc-3.0 &arts; не будет работать. </para>
|
|
|
|
|
|
<para>В официальной версии содержатся две ошибки, влияющие на &arts;. Первая - gcc-3.0 bug c++/2733 относительно безобидна (и должна справляться с проблемами инструкций ассемблера). Она прерывает компиляцию convert.cc и исправлена в gcc-3.0 CVS. Ее не должно быть в gcc-3.0.1 и выше. Также была доработана CVS-версия KDE/aRts. </para>
|
|
|
<para>Вторая - gcc-3.0 bug, c++/3145 (генерация неправильного кода для некоторых случаев множественного виртуального наследования) гораздо важнее. Такие приложения, как &artsd;, не будут запускаться после компиляции с gcc-3.0. Даже если в gcc-3.0 что-то исправили за время написания этого FAQ, &artsd; всё равно очень часто и непредсказуемо прекращает работу. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Какие приложения работают с &arts;?</para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
|
|
|
<para>Вообще, все приложения &kde; работают с &arts;: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem><para>&noatun;</para></listitem>
|
|
|
<listitem><para>&arts-builder;</para></listitem>
|
|
|
<listitem><para>&aktion;</para></listitem>
|
|
|
<listitem><para>&tdemid;</para></listitem>
|
|
|
<listitem><para>&tdemidi;</para></listitem>
|
|
|
<listitem><para>&kmix;</para></listitem>
|
|
|
<listitem><para>&kscd;</para></listitem>
|
|
|
<listitem><para>такие игры &kde;, как &kpoker; и &ktuberling;</para></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>Некоторые приложения, пока не включённые в &kde; (к примеру, в kdenonbeta), всё же поддерживают &arts;: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem><para>&brahms;</para></listitem>
|
|
|
<listitem><para><application>Kaboodle</application></para></listitem>
|
|
|
<listitem><para><application>Kdao</application></para></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>С &arts; работают и следущие приложения (не для &kde;): </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem><para><application>xmms</application> (с модулем &arts;)</para></listitem>
|
|
|
<listitem><para>Real Networks <application>RealPlayer</application> 8.0 (работает с &artsdsp;, полная поддержка &arts; в разработке)</para></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>Следущие приложения <emphasis>не</emphasis> работают с &arts;: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem><para>нет</para></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>См. также ответы на вопросы о <link linkend="faq-non-arts"> приложениях не для &arts;</link>. </para>
|
|
|
|
|
|
<para>Этот раздел ещё не закончен. Если вы знаете, какие приложения работают (или не работают) с &arts;, напишите автору, чтобы дополнить списки. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
</qandaset>
|
|
|
|
|
|
<qandaset id="faq-non-arts">
|
|
|
<title>Приложения не для &arts;</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Как только запускается &kde;, ни одно приложение не может получить доступ к звуковой карте! </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Так как звуковой сервер &arts; запускается вместе с &kde;, он использует звуковую карту. Если сервер бездействует 60 секунд, он автоматически прекращает работу и освобождает устройство. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Вы сказали, что сервер ждёт 60 секунд, а у меня не так! </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Если вы запускаете artsd с панели управления KDE время ожидания по умолчанию будет 60 секунд. Если же из командной строки, нужно указывать его с помощью параметра -s. </para>
|
|
|
<para>При использовании двустороннего режима сервер не отключается. Выключите его в &kcontrol;. Это вообще хорошая мысль, если вы используете &arts; только для прослушивания музыки, а не для записи. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Могу ли я запускать старые приложения, не поддерживающие &arts;? </para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para>Запускайте их с помощью &artsdsp;. К примеру, если обычно вы запускаете их так: </para>
|
|
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>mpg123</command> <option>foo.mp3</option></userinput></screen>
|
|
|
|
|
|
<para>теперь набирайте следущее:</para>
|
|
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>artsdsp</command> <option>mpg123 foo.mp3</option></userinput></screen>
|
|
|
|
|
|
<para>Звуковой выход будет перенаправляться в &arts;. Так вы не внесёте каких-либо изменений в ваши приложения. Вообще говоря, это уловка, и некоторые приложения могут не работать, или не будут использоваться все возможности звуковой карты. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Я не могу запустить &artsdsp; никаким приложением, всё время выскакивают ошибки! </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Вам нужна последняя версия библиотеки glibc; &artsdsp; не работает на более ранних дистрибутивах &Linux;. К примеру, в Debian 2.1 (основанный на glibc 2.0) он не работает, а в Debian 2.2 (основанный на glibc 2.1.3) работает. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Есть ли какие-нибудь теоретические ограничения работы некоторых приложений с &artsdsp;? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Нет. Использование &artsdsp; может вылиться в большую задержку и более активное использовании процессора, чем при использовании &arts; <acronym>API</acronym>. Если всё-таки какое-то приложение не работает, это ошибка в &artsdsp;. Техника, применяемая в &artsdsp;, если она правильно реализована, должна позволять <emphasis>каждому</emphasis> приложению работать (включая такие объёмные приложения, как <application>Quake</application> 3). </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Что мне делать, если приложение не работает с &artsdsp;? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Вы можете подождать, пока отключится &artsd;, или отключить его самостоятельно. Для этого наберите в командной строке <userinput><command>artsshell</command> <option>suspend</option> </userinput>. Если в данный момент не работают никакие приложения &arts;, сервер отключится (и вы не сможете их запустить). </para>
|
|
|
|
|
|
<para>Если сервер занят, попробуйте грубый, но эффективный метод: </para>
|
|
|
|
|
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>killall</command> <option>artsd</option> ; <command>killall</command> <option>artswrapper</option></userinput>
|
|
|
<lineannotation>Теперь запустите своё приложение.</lineannotation>
|
|
|
<prompt>%</prompt> <userinput><command>kcminit</command> <option>arts</option></userinput>
|
|
|
</screen>
|
|
|
|
|
|
<para>Работающие приложения &arts; завершатся с ошибками, если вы отключите сервер. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Что насчет приложений, написанных под &kde; 1.x? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Если вы работаете с приложениями &kde; 1.x, которые воспроизводят звук через звуковой сервер &kde; 1, запустите <application>kaudioserver</application>. Это делается так же, как и для не-&arts; приложений. </para>
|
|
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>artsdsp</command> <option>kaudioserver</option></userinput>
|
|
|
</screen>
|
|
|
|
|
|
<para>Вам нужно установить kaudioserver (взятый из того же источника, что и ваши приложения для &kde; 1.x), он принадлежит &kde; 1.x, а не &kde; 2. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Как насчёт приложений, использующих облегчённый звуковой сервис <acronym>ESD</acronym>? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Выход такой же, как и с приложениями <application>kaudioserver</application>. Вам нужно запустить сервер esd (это можно сделать с помощью &artsdsp;), тогда все приложения, поддерживающие <acronym>ESD</acronym>, будут работать: </para>
|
|
|
<screen><prompt>%</prompt> <userinput><command>artsdsp</command> <option>esd</option></userinput>
|
|
|
</screen>
|
|
|
<para>Свежие версии aRts (>= 1.2.0) могут также работать с ESD (enlightened sound daemon). Укажите в командной строке параметр -a, например: </para>
|
|
|
<screen><prompt>%</prompt> <userinput><command>artsd</command> <option>-a esd</option></userinput>
|
|
|
</screen>
|
|
|
<para>для глобальной поддержки ESD в KDE, настройте artsd на работу с esd в разделе Центра управления Звук -> Звуковой сервер -> Ввод-вывод звука. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
</qandaset>
|
|
|
|
|
|
<qandaset id="faq-latency">
|
|
|
<title>Задержка</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Во время прослушивания иногда слышны короткие паузы. Это ошибка? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Скорее всего, это не ошибка, но паузы говорят о том, что ядро &Linux; не справляется с работой в режиме реального времени. Могут возникнуть ситуации, когда &arts; не сможет продолжать воспроизведение. Вы, однако, можете дать права реального времени (в &kcontrol;) и уменьшить задержку (<guilabel>250ms</guilabel> или <guilabel>не важно</guilabel>), чтобы улучшить ситуацию. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Какой эффект у параметра времени ответа? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Статья помощи по этому параметру в &kcontrol;, возможно, введёт вас в заблуждение. Чем меньше значение, тем меньше времени требуется &arts;, чтобы ответить на внешние события (т.е. время после закрытия окна и до воспроизведения звука), тем больше требуется ресурсов процессора и тем больше вероятность выпаданий.</para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Есть ли ещё какие-нибудь способы убрать паузы? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Если вы пользуетесь драйвером <acronym>IDE</acronym>, напишите команду <command>hdparm</command> для переключения <acronym>IDE</acronym> в режим <acronym>DMA</acronym>. Это работает не для всех устройств и, возможно, будет трудно вернуться в начальное сотояние или, в очень редких случаях, будут потеряны данные. Чтобы узнать подробности, прочтите документацию по команде <command>hdparm</command>. У меня всё получилось с командой: </para>
|
|
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>hdparm</command> <option>-c1</option> <option>-d1</option> <option>-k1</option> <option>-K1</option> <parameter>/dev/hda</parameter></userinput>
|
|
|
</screen>
|
|
|
|
|
|
<para>Вам нужно будет проделывать это при каждом запуске системы. Возможно, вы захотите добавить её в сценарий запуска системы (это зависит от дистрибутива, в Debian &Linux; он обычно находится в <filename>/etc/rc.boot</filename>). </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Приоритет реального времени на меня совсем не влияет? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Убедитесь в том, что artswrapper действительно установлен suid <systemitem class="username">root</systemitem>, как это должно быть. Во многих дистрибутивах (SuSE7.x, к примеру) это не делается. Проверить это можно так: ls -l $(which artswrapper). Хорошо: <screen>
|
|
|
<prompt>%</prompt> <userinput><command>ls</command> <option>-l</option> <parameter>$(which artswrapper)</parameter></userinput>
|
|
|
-rwsr-xr-x 1 root root 4556 Sep 24 18:05 /opt/kde2/bin/artswrapper
|
|
|
</screen> Плохо: <screen>
|
|
|
<prompt>%</prompt> <userinput><command>ls</command> <option>-l</option> <parameter>$(which artswrapper)</parameter></userinput>
|
|
|
-rwxr-xr-x 1 root root 4556 Sep 24 18:05 /opt/kde2/bin/artswrapper
|
|
|
</screen> Если у вас нет s, его можно получить с помощью: <screen><prompt>%</prompt> <userinput><command>chown</command> <option>root</option> <parameter>$(which artswrapper)</parameter></userinput>
|
|
|
<prompt>%</prompt> <userinput><command>chmod</command> <option>4755</option> <parameter>$(which artswrapper)</parameter></userinput>
|
|
|
</screen>
|
|
|
</para>
|
|
|
|
|
|
<para>Если вы сделаете &artswrapper; SUID <systemitem class="username">root</systemitem>, это, скорее всего, улучшит качество воспроизведения, удаляя паузы. Однако риск того, что ошибка в коде или злобный пользователь вызовут прерывание программы (или что-нибудь поломают), увеличится. К тому же, в машинах, на которых работают несколько пользователей, приоритет хорошего качества звука может привести к ухудшению работы компьютера, если кто-то будет пытаться его использовать <quote>продуктивно</quote>.</para>
|
|
|
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Почему &artsd; использует так много процессорного времени? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Проверьте настройки времени ответа. Хотя текущая версия ещё не оптимизирована. Мы работаем над этим, но сказать, насколько быстрее будет &artsd;, не можем. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
</qandaset>
|
|
|
|
|
|
<qandaset id="faq-network">
|
|
|
<title>Прозрачность сети</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Зачем нужна прозрачность сети? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Включите её в &kcontrol; настройках <guilabel>Звуковая подсистема</guilabel> (<guilabel>Обмениваться информацией о безопасности и идентификации через сервер X11</guilabel> и <guilabel>Принимать сетевые запросы</guilabel>). Скопируйте <filename>.mcoprc</filename> на все машины, на которых сервер должен принимать запросы из сети. Зайдите в систему ещё раз. Убедитесь в том, что узлы обращаются друг к другу по имени (т.е. у них есть разрешимые имена или они находятся в <filename>/etc/hosts</filename>). </para>
|
|
|
|
|
|
<para>Это всё, что надо сделать. Если всё-таки не работает, вот несколько замечаний. &arts; и &artsd; должны быть запущены только на узле со звуковой картой (где и будет воспроизводиться звук). Они могут запускаться при входе в &kde; (если вы это указали в &kcontrol;) или вручную: </para>
|
|
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>artsd</command> <option>-n</option> <option>-F</option> <parameter>5</parameter> <option>-S</option> <parameter>8192</parameter></userinput>
|
|
|
</screen>
|
|
|
|
|
|
<para>Параметр <option>-n</option> нужен для разрешения сетевых запросов, тогда как остальные используются для настройки задержки. </para>
|
|
|
|
|
|
<para>В файле <filename>.mcoprc</filename> должна содержаться запись: </para>
|
|
|
|
|
|
<screen><userinput>GlobalComm=Arts::X11GlobalComm</userinput>
|
|
|
</screen>
|
|
|
|
|
|
<para>на всех машинах для поддержки работы в сети. Это включается при установке флажка <guilabel>Обмениваться информацией о безопасности и идентификации через сервер X11</guilabel> на панели управления. </para>
|
|
|
|
|
|
<para>Наконец, в любой версии &kde; серии 2.0.x есть ошибка, возникающая, если вы не указали имя домена. Клиенты &artsd; пытаются найти, куда можно подключиться, используя комбинацию <systemitem class="systemname"><replaceable>имя узла</replaceable>.<replaceable>имя домена</replaceable></systemitem>. Если имя домена пустое, они будут подключаться к <systemitem class="systemname"> <replaceable>имени узла</replaceable></systemitem>. (заметьте, дополнительная точка). Добавление такой записи в <filename>/etc/hosts</filename> (т.е. <userinput>orion.</userinput>, если имя узла <systemitem class="systemname">orion</systemitem>) решит проблему. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Как мне настроить сети, если она не работает? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Если у вас есть исходный код &kde;, зайдите в <filename class="directory">tdelibs/arts/examples</filename>, и запустите <userinput><command>make</command> <option>check</option></userinput>, чтобы скомпилировать некоторые программы, включая <application>referenceinfo</application>. После этого запустите </para>
|
|
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>./referenceinfo</command> <option>global:Arts_SimpleSoundServer</option></userinput>
|
|
|
</screen>
|
|
|
|
|
|
<para>Будут выведены имя узла и используемый &arts;. К примеру, <computeroutput>tcp:orion:1698</computeroutput> значит, что любой клиент, пытающийся использовать прозрачность сети, должен знать, как подключиться к узлу <systemitem class="systemname">orion</systemitem>. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
</qandaset>
|
|
|
|
|
|
<qandaset id="faq-hardware-specific">
|
|
|
<title>Вопросы, связанные с аппаратным обеспечением</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>С каким оборудованием artsd не работает? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Не все звуковые драйверы Linux хорошо работают с aRts в некоторых версиях ядра. Ознакомьтесь с этим списком, прежде чем сообщать об ошибке. Если же вы встретились с чем-либо, отсутствующим в списке, сразу же сообщите об этом. <informaltable> <tgroup cols="4">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry>Дравер и звуковая плата Linux</entry>
|
|
|
<entry>Не работает в </entry>
|
|
|
<entry>Работает в </entry>
|
|
|
<entry>Примечания</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry>Драйвер i810 (Intel 810 + AC97 Audio)</entry>
|
|
|
<entry>2.4.9</entry>
|
|
|
<entry>2.4.18, 2.2.20, коммерческий драйвер oss, alsa-0.5.12a с эмуляцией OSS</entry>
|
|
|
<entry>драйвер вызывает перегрузку процессора (см. ниже)</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>maestro 3/4 chipset</entry>
|
|
|
<entry>2.4.9</entry>
|
|
|
<entry>?</entry>
|
|
|
<entry>драйвер иногда вызывает перегрузку процессора (см. ниже)</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>драйверы aureal8820, aureal8830 с sourceforge</entry>
|
|
|
<entry>2.4.17</entry>
|
|
|
<entry>?</entry>
|
|
|
<entry>Драйвер не проходит проверку или вызывает перегрузку процессора (см. ниже)</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>Коммерческий драйвер OSS 3.9.4g с Aureal Vortex</entry>
|
|
|
<entry>?</entry>
|
|
|
<entry>?</entry>
|
|
|
<entry>системный сбой</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry>ymfpci</entry>
|
|
|
<entry>2.4.0, 2.4.12</entry>
|
|
|
<entry>2.4.17</entry>
|
|
|
<entry>Драйвер не проходит проверку (см. ниже)</entry>
|
|
|
</row>
|
|
|
|
|
|
|
|
|
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Почему возникают проблемы с оборудованием и как мне о них узнать? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Обычная поблема - драйвер не предоставляет достаточно информации aRts (или даёт неправильную) о том, когда нужно писать звуковые данные. Большинство драйверов OSS предоставляют правильные данные, но не все. </para>
|
|
|
<para>Вы, возможно, заметили, что не всем приложениям (как xmms) нужна эта информация, поэтому они работают нормально даже с вашей звуковой картой. Но для &arts; она необходима, поэтому artsd выполняется с ошибками. Это ошибка в драйвере, а не в &arts;. </para>
|
|
|
<para>Есть два варианта поведения artsd при запуске с некорректным драйвером. Во-первых, он постоянно пытается передать новые данные, но безуспешно. В результате потребляются все ресурсы процессора, выводится отчёт о <emphasis>перегрузке cpu</emphasis>, и приложение закрывается. Другое дело, когда artsd получает неправильную информацию о том, какой объем данных нужно записать. Тогда он прекращает работать на примерно такой <emphasis>проверке</emphasis>: <screen>artsd: audiosubsys.cc:458: void Arts::AudioSubSystem::handleIO(int):
|
|
|
Assertion `len == can_write'.
|
|
|
Aborted
|
|
|
</screen>
|
|
|
</para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Что не так с драйвером, если выдаётся ошибка о пререгрузке процессора? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Обычно artsd узнаёт, когда надо записывать новые данные, с помощью функции select(). Потом используется ioctl(...GETOSPACE...) для поиска объема данных для записи. И, наконец, данные записываются. </para>
|
|
|
<para>Проблемы возникают тогда, когда artsd постоянно работает или объём данных для записи слишком мал. В документации OSS указано, то select() только запускает процесс, если есть хоть что-то для записи, к примеру, один байт. Тогда запись данных продолжается небольшими частями, что очень трудоёмко, и в результате процессор перегружается. </para>
|
|
|
<para>Чтобы такого не происходило, драйвер должен вызывать artsd только тогда, когда есть целый фрагмент информации для записи. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Что не так с драйвером, если мне выдаётся сообщение об ошибке при проверке? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Обычно artsd узнаёт, когда надо записывать новые данные, с помощью функции select(). Потом используется ioctl(...GETOSPACE...) для поиска объема данных для записи. И, наконец, данные записываются. </para>
|
|
|
<para>Если artsd не может записать тот объём информации, которы указан в ioctl, будет выдаваться эта ошибка. Чтобы исправить ситуацию, драйвер должен предоставлять правильную информацию. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
</qandaset>
|
|
|
|
|
|
<qandaset id="faq-other">
|
|
|
<title>Другие проблемы</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para>Я не могу работать с &arts-builder;. Во время работы модуля возникают ошибки! </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para>Обычно так получается при использовании старых структур или модулей, которые не поддерживаются версией &kde; 2. К сожалению, информация об &arts;-0.3.4.1 устарела. Самой распространённой ошибкой является выполнение структуры &arts-builder;, приводящей к ошибке <errorname>[artsd] Synth_PLAY: audio subsystem is already used.</errorname> </para>
|
|
|
|
|
|
<para>Следует использовать модуль Synth_AMAN_PLAY вместо Synth_PLAY. Прочитайте файл помощи &arts-builder; (нажмите <keycap>F1</keycap> в &arts-builder;). </para>
|
|
|
|
|
|
<para>В последних версиях &arts-builder; (&kde; 2.1 beta 1 и позднее) есть примеры, которые вы можете использовать. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
</qandaset>
|
|
|
|
|
|
</chapter>
|