<!-- <?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
>). Если нет, скачайте пакет kdesupport и скомпилируйте всё ещё раз. Будет работать. </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;, &kmid;, &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
>&kmid;</para
></listitem>
<listitem
><para
>&kmidi;</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
>&percnt;</prompt
> <userinput
><command
>mpg123</command
> <option
>foo.mp3</option
></userinput
></screen>

<para
>теперь набирайте следущее:</para>

<screen
><prompt
>&percnt;</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
>&percnt;</prompt
> <userinput
><command
>killall</command
> <option
>artsd</option
> ; <command
>killall</command
> <option
>artswrapper</option
></userinput>
<lineannotation
>Теперь запустите своё приложение.</lineannotation>
<prompt
>&percnt;</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
>&percnt;</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
>&percnt;</prompt
> <userinput
><command
>artsdsp</command
> <option
>esd</option
></userinput
>
</screen>
<para
>Свежие версии aRts (
>= 1.2.0) могут также работать с ESD (enlightened sound daemon). Укажите в командной строке параметр  -a, например: </para>
<screen
><prompt
>&percnt;</prompt
> <userinput
><command
>artsd</command
> <option
>-a esd</option
></userinput
>
</screen>
<para
>для глобальной поддержки ESD в KDE, настройте artsd на работу с esd в разделе Центра управления Звук -&gt; Звуковой сервер -&gt; Ввод-вывод звука. </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
>&percnt;</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
>&percnt;</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
>&percnt;</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
>&percnt;</prompt
> <userinput
><command
>chown</command
> <option
>root</option
> <parameter
>$(which artswrapper)</parameter
></userinput>
<prompt
>&percnt;</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
>&percnt;</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"
>kdelibs/arts/examples</filename
>, и запустите <userinput
><command
>make</command
> <option
>check</option
></userinput
>, чтобы скомпилировать некоторые программы, включая  <application
>referenceinfo</application
>. После этого запустите  </para>

<screen
><prompt
>&percnt;</prompt
> <userinput
><command
>./referenceinfo</command
> <option
>global:Arts&lowbar;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>
