<?xml version="1.0" ?> <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ <!ENTITY kappname "&ktalkd;"> <!ENTITY % addindex "IGNORE" > <!ENTITY % Russian "INCLUDE" > <!-- change language only here --> ]> <book lang="&language;"> <bookinfo> <title >Справочное руководство по &ktalkd;</title> <authorgroup> <author ><firstname >David</firstname > <surname >Faure</surname > <affiliation > <address ><email >faure@kde.org</email ></address> </affiliation> </author> <othercredit role="translator" ><firstname >Илья</firstname > <surname >Яловой</surname > <affiliation ><address ><email >i_yalovoy@mail.ru</email ></address ></affiliation ><contrib > Перевод на русский</contrib ></othercredit > </authorgroup> <legalnotice> &FDLNotice; </legalnotice> <copyright> <year >2001</year> <holder >David Faure</holder> </copyright> <date >2001-05-02</date> <releaseinfo >1.05.02</releaseinfo> <abstract> <para >&ktalkd; это улучшенный демон <command >talk</command >, который принимает входящие <command >talk</command >-запросы, сообщает о них и позволяет вам отвечать на них с помощью клиента talk. </para > </abstract> <keywordset> <keyword >KTALKD</keyword> <keyword >talk</keyword> <keyword >talkd</keyword> <keyword >otalk</keyword> <keyword >ntalk</keyword> <keyword >ktalkdlg</keyword> <keyword >kcmktalkd</keyword> </keywordset> </bookinfo> <chapter id="introduction"> <title >Введение</title> <para >&ktalkd; это улучшенный <command >talk</command >-демон, который принимает входящие <command >talk</command >-запросы, сообщает о них и позволяет вам отвечать на них с помощью клиента <command >talk</command >. </para> <important> <para >Учтите, что &ktalkd; разработан для запуска на однопользовательской рабочей станции, и его не следует запускать на машинах, с которыми работают несколько пользователей: он читает файлы конфигурации пользователей, и пользователи могут запускать с помощью демона <command >talk</command > любые команды, что очень опасно. Если на вашем компьютере есть пользователи, которым вы не доверяете, то использование &ktalkd; недопустимо. </para> </important> <para >В данном документе абонент, получающий запросы, будет называться <quote >получателем</quote >. </para> <para >Особенности &ktalkd;:</para> <variablelist> <varlistentry> <term >Автоответчик</term> <listitem> <para >Если получатель не вошел в систему или не отвечает после второго звонка, то запускается автоответчик: он принимает сообщение и пересылает его получателю по электронной почте. </para> </listitem> </varlistentry> <varlistentry> <term >Звук</term> <listitem> <para >При желании звонок сопровождается звуковым сигналом. </para> </listitem> </varlistentry> <varlistentry> <term >Оповещение в X </term> <listitem> <para >Если &ktalkd; компилировался с инсталлированным &kde;, то для оповещения будет вызываться диалог &kde; <command >ktalkdlg</command > Если запущен &ktalk;, то ему будет предложено осуществить оповещение самостоятельно. (Начиная с версии 0.8.8). </para> </listitem> </varlistentry> <varlistentry> <term >Оповещение на нескольких дисплеях</term> <listitem> <para >Если вы дистанционно вошли в систему (т.е. с помощью команды <userinput ><command >export</command > <envar >DISPLAY</envar >=<replaceable >...</replaceable ></userinput >),то оповещение также будет произведено и на этом дисплее. Отвечать на звонок можно с любого дисплея! Если вы также вошли в систему и с помощью текстового терминала, и при этом <emphasis >не</emphasis > использовали xterms (внутреннее ограничение), то вы увидите текстовое оповещение. </para> </listitem> </varlistentry> <varlistentry> <term >Пересылка <emphasis > (Начиная с версии 0.8.0)</emphasis ></term> <listitem> <para >Если вы отсутствуете, то можете настроить пересылку другому пользователю и даже на другой компьютер. Существует три метода пересылки. Подробнее смотрите раздел <link linkend="usage" >Использование</link >. </para> </listitem> </varlistentry> <varlistentry> <term >Конфигурация</term> <listitem> <para >Если &ktalkd; скомпилирован под &kde;, то он читает настройки из системного конфигурационного файла &kde; - (<filename >$<envar >KDEDIR</envar >/share/config/ktalkdrc</filename >), и из пользовательского файла - в его домашнем каталоге. Системный файл конфигурации должен быть отредактирован администратором вручную, а пользователь может пользоваться специальной программой. Она называется <command >kcmktalkd</command > и после установки &ktalkd; находится в &kcontrol;. В системах без &kde; &ktalkd; использует в качестве конфигурационного файл <filename >/etc/talkd.conf</filename >. </para> </listitem> </varlistentry> <varlistentry> <term >Интернационализация</term> <listitem> <para >Под &kde;, если <command >ktalkdlg</command > переведен на ваш язык, то оповещение будет производиться в соответствии с установками &kde;. Это же относится и к программе конфигурации <command >kcmktalkd</command >. </para> </listitem> </varlistentry> <varlistentry> <term >Поддержка <command >otalk</command > и <command >ntalk</command > <emphasis >(Начиная с версии 0.8.1)</emphasis ></term> <listitem> <para >&ktalkd; теперь поддерживает оба протокола, даже при пересылке. &ktalk; также поддерживает оба протокола. </para> </listitem> </varlistentry> </variablelist> <para >Я надеюсь, что вы останетесь довольны демоном talk.</para> <para >David Faure <email >faure@kde.org</email ></para> </chapter> <chapter id="usage"> <title >Использование</title> <para >Чтобы использовать &ktalkd;, вам необходим клиент <command >talk</command >. Все системы &UNIX; имеют текстовый клиент <command >talk</command >. Наберите <userinput ><command >talk</command > <replaceable >username</replaceable ></userinput >, чтобы проверить что будет, когда вы получите запрос <command >talk</command >. </para> <para >Также вы можете проверить автоответчик: отправьте себе сообщение <command >talk</command >, пропустите два звонка, и тогда должен сработать автоответчик. </para> <para >&ktalk; - это графический клиент <command >talk</command > под &kde;. Пока этот пакет не входит в стандартный набор &kde;, но вы можете найти его на сервере ftp://ftp.kde.org, по адресу <ulink url="ftp://ftp.kde.org/pub/kde/stable/latest/apps/network" >ftp://ftp.kde.org/pub/kde/stable/latest/apps/network</ulink > </para> <para >Диалоговое окно при звонке очень простое: <guibutton >respond</guibutton > или <guibutton >ignore</guibutton >. </para> <para >С помощью диалога конфигурации вы можете настроить переадресацию другому пользователю или даже на другой компьютер. </para> <sect1 id="choosing-a-forwarding-method"> <title >Выбор метода переадресации</title> <para >Ни один из них не является идеальным, у каждого есть плюсы и минусы. </para> <variablelist> <varlistentry> <term ><acronym >FWA</acronym > - только оповещение о переадресации (forward announcement only).</term> <listitem> <para >Прямое подключение. Не рекомендуется. </para> <itemizedlist> <listitem> <para >(+) Вы знаете кто вас вызывает, но </para> </listitem> <listitem> <para >(-) Вызывающий абонент должен будет ответить на ваш запрос. Это раздражает. </para> </listitem> <listitem> <para >(-) Не используйте, если автоответчик установлен на <quote >away</quote >. (Автоответчик не сможет выдать оповещение.) </para> </listitem> </itemizedlist> </listitem> </varlistentry> <varlistentry> <term ><acronym >FWR</acronym > - Переадресация всех запросов (forward all requests) с изменением информационных полей сообщения</term> <listitem> <para >Прямое подключение </para> <itemizedlist> <listitem> <para >(+) Вызывающий абонент не узнает о том, что вы отсутствуете, но </para> </listitem> <listitem> <para >(-) Вы не узнаете, кто именно вас вызывал - только его имя пользователя, (например, вы увидите <computeroutput >talk from Wintalk@my_host</computeroutput >) </para> </listitem> </itemizedlist> </listitem> </varlistentry> <varlistentry> <term ><acronym >FWT</acronym > - Переадресовывать все запросы и включаться в разговор.</term> <listitem> <para >Без прямого подключения.</para> <itemizedlist> <listitem> <para >(+) Аналогично предыдущему, но работает и без прямого подключения (например, за файрволлом). </para> </listitem> <listitem> <para >(+) Вам будет сообщено, с кем вы общаетесь, когда вы примете звонок </para> </listitem> <listitem> <para >(-) Аналогично <acronym >FWR</acronym >, вы не узнаете в оповещении названия компьютера вызывающего абонента </para> </listitem> </itemizedlist> </listitem> </varlistentry> </variablelist> <para >Используйте <acronym >FWT</acronym >, если хотите, чтобы он работал за файрволлом (и если &ktalkd; имеет доступ к обеим сетям), и <acronym >FWR</acronym > в любом другом случае. </para> </sect1> </chapter> <chapter id="questions-and-answers"> <title >Вопросы и ответы</title> <qandaset> <qandaentry> <question> <para >Почему <systemitem class="username" >root</systemitem > не получает оповещений &kde;? </para> </question> <answer> <para >Потому, что автоматическлое определение пользователей может быть дырой в безопасности системы. Вы можете обойти это ограничение, добавив две строчки в файл конфигурации <command >xdm</command > (аналогично &kdm;). </para> <note> <para >Примечание : Дистрибутив S.u.S.E &Linux; содержит эти строки по умолчанию. </para> </note> <para >Эти файлы конфигурации обычно находятся в каталоге <filename class="directory" >/etc/X11/xdm</filename >, или <filename class="directory" >/usr/X11R6/lib/X11/xdm</filename > на других системах. Далее предполагается, что они находятся в <filename class="directory" >/etc/X11/xdm</filename >, поэтому вам, возможно, потребуется уточнить их расположение.</para> <para >Вот что вы должны сделать:</para> <procedure> <step> <para >Отредактируйте или создайте новый файл <filename >Xstartup</filename >, (в каталоге конфигурации <command >xdm</command >) так, чтобы он содержал: </para > <screen >#!/bin/sh /etc/X11/xdm/GiveConsole sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER</screen> </step> <step> <para >и файл <filename >Xreset</filename >, который выглядит: </para> <screen >#!/bin/sh /etc/X11/xdm/TakeConsole sessreg -d -l $DISPLAY $USER</screen> </step> <step> <para >Убедитесь, что в файле <filename >xdm-config</filename > содержатся ссылки на эти два файла: </para> <screen >DisplayManager._0.startup: /etc/X11/xdm/Xstartup DisplayManager._0.reset: /etc/X11/xdm/Xreset </screen> </step> </procedure> <para >Благодаря этому &kdm; (или <command >xdm</command >) включит пользователя в utmp, что, собственно, и требовалось. Я думаю, что не &konsole;, или <command >xterm</command > должны заносить туда пользователя, а именно <command >xdm</command > и &kdm;. Тем не менее, это не занесет туда пользователя как пользователя Х при <command >startx</command >... Есть какие-нибудь соображения? </para> </answer> </qandaentry> <qandaentry> <question> <para >Почему я, будучи нормальным пользователем, не получаю оповещений &kde;? </para> </question> <answer> <para >Если вы работаете в &Linux; (с подключенным <filename class="directory" >/proc</filename >), такое поведение - ошибка в программе. Пришлите мне подробное описание, чтобы я смог исправить эту ошибку. </para> <para >Если вы работаете под &Linux; 2.0.35, то это - известная ошибка ядра, которая не позволяет <systemitem class="username" >root</systemitem > читать <filename class="directory" >/proc</filename >. Решение этой проблемы аналогично описанному в предыдущем вопросе, запускать &kdm; или <command >xdm</command > для входа в X. Или обновить ядро! </para> <para >Иначе, это так и должно быть. &ktalkd; не может найти пользователя, так как &kde; не включил его в utmp и используемая в &Linux; (<filename class="directory" >/proc</filename >) функция определения отключена. Решение этой проблемы аналогично описанному в предыдущем вопросе, запускать <acronym >kdm</acronym > или <acronym >xdm</acronym > для входа в X. Другое решение - всегда запускать <application >xterm</application >. </para> </answer> </qandaentry> <qandaentry> <question> <para >Как я могу просмотреть отладочную информацию &ktalkd;? </para> </question> <answer> <para >Поскольку программа работает в качестве сервера, то стандартный вывод невозможен. Для того, чтобы осуществить вывод отладочной информации (например, для отправки мне отчета об ошибках!), внесите изменения в файл <filename >inetd.conf</filename >, который запускает &ktalkd; и &kotalkd;, следующим образом: </para> <screen >talk dgram udp wait root /usr/sbin/tcpd /opt/kde/bin/ktalkd -d ntalk dgram udp wait root /usr/sbin/tcpd /opt/kde/bin/ktalkd -d</screen> <para >Обратите внимание на параметр <option >-d</option >. </para> <para >Затем добавьте в файл <filename >/etc/syslog.conf</filename > следующую строчку: </para> <screen >*.* /var/log/all_messages</screen> <para >Чтобы все заработало, необходимо перезапустить <command >inetd</command > и <command >syslogd</command >:</para> <screen ><prompt >%</prompt > <userinput ><command >killall</command > <option >-HUP inetd</option ></userinput> <prompt >%</prompt > <userinput ><command >killall</command > <option >-HUP syslogd</option ></userinput ></screen> <para >Наконец, запустите <command >talk</command >, результат будет записываться в <filename >/var/log/all_messages</filename > </para> <para >Когда будете отправлять мне отчет об ошибках, не забудьте приложить отладочную информацию, и, конечно, номер версии &ktalkd; и файл с сообщениями <command >./configure</command >. Спасибо.</para> </answer> </qandaentry> </qandaset> </chapter> <chapter id="copyright-and-license"> <title >Авторские права и лицензии</title> <para >Поддержку и доработку &ktalkd; осуществляет David Faure, <email >faure@kde.org</email > </para> <para >Первоначально программа написана Robert Cimrman, <email >cimrman3@students.zcu.cz</email > </para> <para >Перевод на русский - Илья Яловой <email >i_yalovoy@mail.ru</email ></para > &underFDL; &underGPL; </chapter> <appendix id="installation"> <title >Установка</title> <sect1 id="how-to-obtain-ktalkd"> <title >Где взять &ktalkd;</title> <para >&ktalkd; стандартно поставляется в составе проекта &kde; <ulink url="http://www.kde.org" >http://www.kde.org</ulink > и входит в пакет kdenetwork. </para> <para >Вы всегда можете скачать последнюю версию &ktalkd; с главного &FTP; сайта проекта &kde;, <ulink url="ftp://ftp.kde.org/pub/kde" >ftp://ftp.kde.org/pub/kde</ulink > или одного из его зеркал. Он обычно находится в <ulink url="ftp://ftp.kde.org/pub/kde/stable/latest/apps/network" >ftp://ftp.kde.org/pub/kde/stable/latest/apps/network</ulink > </para> </sect1> <sect1 id="requirements"> <title >Требования</title> <para >Для успешной компиляции &ktalkd; вам необходима последняя версия &kde; и библиотеки &Qt;. Все библиотеки и сам ktalkd можно найти на <ulink url="ftp://ftp.kde.org/pub/kde/" >ftp://ftp.kde.org/pub/kde/</ulink >. </para> </sect1> <sect1 id="compilation-and-installation"> <title >Сборка и установка</title> <para >Чтобы собрать и установить &ktalkd; в вашей системе, наберите следующее в корневом каталоге дистрибутива &ktalkd;: </para> <screen ><prompt >%</prompt > <userinput ><command >./configure</command ></userinput> <prompt >%</prompt > <userinput ><command >make</command ></userinput > <prompt >%</prompt > <userinput ><command >make</command > <option >install</option ></userinput ></screen> <para >Поскольку &ktalkd; - демон, то для <userinput ><command >make</command > <option >install</option ></userinput > потребуются права <systemitem class="username" >root</systemitem >.</para> <para >Не забудьте обновить файл <filename >/etc/inetd.conf</filename >. На пример, в &Linux;, если &kde; находится в <filename class="directory" >/opt/kde</filename >, измените строки, касающиеся <command >talk</command > и <command >ntalk</command > на: </para> <screen >talk dgram udp wait root /usr/sbin/tcpd /opt/kde/bin/ktalkd ntalk dgram udp wait root /usr/sbin/tcpd /opt/kde/bin/ktalkd</screen> <para >Скрипт должен произвести все необходимые изменения автоматически. Обновите <filename >inetd.conf</filename > запустив</para> <screen ><prompt >%</prompt > <userinput ><command >./post-install.sh</command ></userinput ></screen> <para >В любом случае вам потребуется после этого <emphasis >перезапустить inetd</emphasis >. В большинстве систем &Linux; необходимо набрать: </para> <screen ><prompt >%</prompt > <userinput ><command >killall</command > <option >-HUP inetd</option ></userinput ></screen> <para >В новых системах, которые используют <command >xinetd</command >, больше не существует <filename >/etc/inetd.conf</filename >, и вы должны отредактировать или создать файл <filename >/etc/xinetd.d/talk</filename >, заменив следующие строки: </para> <screen >service talk { socket_type = dgram wait = yes user = root server = /usr/bin/ktalkd } service ntalk { socket_type = dgram wait = yes user = root server = /usr/bin/ktalkd }</screen> <para >а затем перезапустить <command >xinetd</command >. </para> <para >Сообщайте мне о всех изменениях, которые вы внесли для нормальной компиляции и работы &ktalkd; в вашей системе. </para> </sect1> </appendix> </book> <!-- Local Variables: mode: sgml sgml-minimize-attributes:nil sgml-general-insert-case:lower sgml-indent-step:0 sgml-indent-data:nil End: // vim:ts=0:sw=2:tw=78:noet -->