]> Справочное руководство по &ktalkd; David Faure
faure@kde.org
Илья Яловой
i_yalovoy@mail.ru
Перевод на русский
&FDLNotice; 2001 David Faure 2001-05-02 1.05.02 &ktalkd; это улучшенный демон talk, который принимает входящие talk-запросы, сообщает о них и позволяет вам отвечать на них с помощью клиента talk. KTALKD talk talkd otalk ntalk ktalkdlg kcmktalkd
Введение &ktalkd; это улучшенный talk-демон, который принимает входящие talk-запросы, сообщает о них и позволяет вам отвечать на них с помощью клиента talk. Учтите, что &ktalkd; разработан для запуска на однопользовательской рабочей станции, и его не следует запускать на машинах, с которыми работают несколько пользователей: он читает файлы конфигурации пользователей, и пользователи могут запускать с помощью демона talk любые команды, что очень опасно. Если на вашем компьютере есть пользователи, которым вы не доверяете, то использование &ktalkd; недопустимо. В данном документе абонент, получающий запросы, будет называться получателем. Особенности &ktalkd;: Автоответчик Если получатель не вошел в систему или не отвечает после второго звонка, то запускается автоответчик: он принимает сообщение и пересылает его получателю по электронной почте. Звук При желании звонок сопровождается звуковым сигналом. Оповещение в X Если &ktalkd; компилировался с инсталлированным &kde;, то для оповещения будет вызываться диалог &kde; ktalkdlg Если запущен &ktalk;, то ему будет предложено осуществить оповещение самостоятельно. (Начиная с версии 0.8.8). Оповещение на нескольких дисплеях Если вы дистанционно вошли в систему (т.е. с помощью команды export DISPLAY=...),то оповещение также будет произведено и на этом дисплее. Отвечать на звонок можно с любого дисплея! Если вы также вошли в систему и с помощью текстового терминала, и при этом не использовали xterms (внутреннее ограничение), то вы увидите текстовое оповещение. Пересылка (Начиная с версии 0.8.0) Если вы отсутствуете, то можете настроить пересылку другому пользователю и даже на другой компьютер. Существует три метода пересылки. Подробнее смотрите раздел Использование. Конфигурация Если &ktalkd; скомпилирован под &kde;, то он читает настройки из системного конфигурационного файла &kde; - ($TDEDIR/share/config/ktalkdrc), и из пользовательского файла - в его домашнем каталоге. Системный файл конфигурации должен быть отредактирован администратором вручную, а пользователь может пользоваться специальной программой. Она называется kcmktalkd и после установки &ktalkd; находится в &kcontrol;. В системах без &kde; &ktalkd; использует в качестве конфигурационного файл /etc/talkd.conf. Интернационализация Под &kde;, если ktalkdlg переведен на ваш язык, то оповещение будет производиться в соответствии с установками &kde;. Это же относится и к программе конфигурации kcmktalkd. Поддержка otalk и ntalk (Начиная с версии 0.8.1) &ktalkd; теперь поддерживает оба протокола, даже при пересылке. &ktalk; также поддерживает оба протокола. Я надеюсь, что вы останетесь довольны демоном talk. David Faure faure@kde.org Использование Чтобы использовать &ktalkd;, вам необходим клиент talk. Все системы &UNIX; имеют текстовый клиент talk. Наберите talk username, чтобы проверить что будет, когда вы получите запрос talk. Также вы можете проверить автоответчик: отправьте себе сообщение talk, пропустите два звонка, и тогда должен сработать автоответчик. &ktalk; - это графический клиент talk под &kde;. Пока этот пакет не входит в стандартный набор &kde;, но вы можете найти его на сервере ftp://ftp.kde.org, по адресу ftp://ftp.kde.org/pub/kde/stable/latest/apps/network Диалоговое окно при звонке очень простое: respond или ignore. С помощью диалога конфигурации вы можете настроить переадресацию другому пользователю или даже на другой компьютер. Выбор метода переадресации Ни один из них не является идеальным, у каждого есть плюсы и минусы. FWA - только оповещение о переадресации (forward announcement only). Прямое подключение. Не рекомендуется. (+) Вы знаете кто вас вызывает, но (-) Вызывающий абонент должен будет ответить на ваш запрос. Это раздражает. (-) Не используйте, если автоответчик установлен на away. (Автоответчик не сможет выдать оповещение.) FWR - Переадресация всех запросов (forward all requests) с изменением информационных полей сообщения Прямое подключение (+) Вызывающий абонент не узнает о том, что вы отсутствуете, но (-) Вы не узнаете, кто именно вас вызывал - только его имя пользователя, (например, вы увидите talk from Wintalk@my_host) FWT - Переадресовывать все запросы и включаться в разговор. Без прямого подключения. (+) Аналогично предыдущему, но работает и без прямого подключения (например, за файрволлом). (+) Вам будет сообщено, с кем вы общаетесь, когда вы примете звонок (-) Аналогично FWR, вы не узнаете в оповещении названия компьютера вызывающего абонента Используйте FWT, если хотите, чтобы он работал за файрволлом (и если &ktalkd; имеет доступ к обеим сетям), и FWR в любом другом случае. Вопросы и ответы Почему root не получает оповещений &kde;? Потому, что автоматическлое определение пользователей может быть дырой в безопасности системы. Вы можете обойти это ограничение, добавив две строчки в файл конфигурации xdm (аналогично &tdm;). Примечание : Дистрибутив S.u.S.E &Linux; содержит эти строки по умолчанию. Эти файлы конфигурации обычно находятся в каталоге /etc/X11/xdm, или /usr/X11R6/lib/X11/xdm на других системах. Далее предполагается, что они находятся в /etc/X11/xdm, поэтому вам, возможно, потребуется уточнить их расположение. Вот что вы должны сделать: Отредактируйте или создайте новый файл Xstartup, (в каталоге конфигурации xdm) так, чтобы он содержал: #!/bin/sh /etc/X11/xdm/GiveConsole sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER и файл Xreset, который выглядит: #!/bin/sh /etc/X11/xdm/TakeConsole sessreg -d -l $DISPLAY $USER Убедитесь, что в файле xdm-config содержатся ссылки на эти два файла: DisplayManager._0.startup: /etc/X11/xdm/Xstartup DisplayManager._0.reset: /etc/X11/xdm/Xreset Благодаря этому &tdm; (или xdm) включит пользователя в utmp, что, собственно, и требовалось. Я думаю, что не &konsole;, или xterm должны заносить туда пользователя, а именно xdm и &tdm;. Тем не менее, это не занесет туда пользователя как пользователя Х при startx... Есть какие-нибудь соображения? Почему я, будучи нормальным пользователем, не получаю оповещений &kde;? Если вы работаете в &Linux; (с подключенным /proc), такое поведение - ошибка в программе. Пришлите мне подробное описание, чтобы я смог исправить эту ошибку. Если вы работаете под &Linux; 2.0.35, то это - известная ошибка ядра, которая не позволяет root читать /proc. Решение этой проблемы аналогично описанному в предыдущем вопросе, запускать &tdm; или xdm для входа в X. Или обновить ядро! Иначе, это так и должно быть. &ktalkd; не может найти пользователя, так как &kde; не включил его в utmp и используемая в &Linux; (/proc) функция определения отключена. Решение этой проблемы аналогично описанному в предыдущем вопросе, запускать tdm или xdm для входа в X. Другое решение - всегда запускать xterm. Как я могу просмотреть отладочную информацию &ktalkd;? Поскольку программа работает в качестве сервера, то стандартный вывод невозможен. Для того, чтобы осуществить вывод отладочной информации (например, для отправки мне отчета об ошибках!), внесите изменения в файл inetd.conf, который запускает &ktalkd; и &kotalkd;, следующим образом: 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 Обратите внимание на параметр . Затем добавьте в файл /etc/syslog.conf следующую строчку: *.* /var/log/all_messages Чтобы все заработало, необходимо перезапустить inetd и syslogd: % killall % killall Наконец, запустите talk, результат будет записываться в /var/log/all_messages Когда будете отправлять мне отчет об ошибках, не забудьте приложить отладочную информацию, и, конечно, номер версии &ktalkd; и файл с сообщениями ./configure. Спасибо. Авторские права и лицензии Поддержку и доработку &ktalkd; осуществляет David Faure, faure@kde.org Первоначально программа написана Robert Cimrman, cimrman3@students.zcu.cz Перевод на русский - Илья Яловой i_yalovoy@mail.ru &underFDL; &underGPL; Установка Где взять &ktalkd; &ktalkd; стандартно поставляется в составе проекта &kde; http://www.kde.org и входит в пакет tdenetwork. Вы всегда можете скачать последнюю версию &ktalkd; с главного &FTP; сайта проекта &kde;, ftp://ftp.kde.org/pub/kde или одного из его зеркал. Он обычно находится в ftp://ftp.kde.org/pub/kde/stable/latest/apps/network Требования Для успешной компиляции &ktalkd; вам необходима последняя версия &kde; и библиотеки &Qt;. Все библиотеки и сам ktalkd можно найти на ftp://ftp.kde.org/pub/kde/. Сборка и установка Чтобы собрать и установить &ktalkd; в вашей системе, наберите следующее в корневом каталоге дистрибутива &ktalkd;: % ./configure % make % make Поскольку &ktalkd; - демон, то для make потребуются права root. Не забудьте обновить файл /etc/inetd.conf. На пример, в &Linux;, если &kde; находится в /opt/kde, измените строки, касающиеся talk и ntalk на: talk dgram udp wait root /usr/sbin/tcpd /opt/kde/bin/ktalkd ntalk dgram udp wait root /usr/sbin/tcpd /opt/kde/bin/ktalkd Скрипт должен произвести все необходимые изменения автоматически. Обновите inetd.conf запустив % ./post-install.sh В любом случае вам потребуется после этого перезапустить inetd. В большинстве систем &Linux; необходимо набрать: % killall В новых системах, которые используют xinetd, больше не существует /etc/inetd.conf, и вы должны отредактировать или создать файл /etc/xinetd.d/talk, заменив следующие строки: 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 } а затем перезапустить xinetd. Сообщайте мне о всех изменениях, которые вы внесли для нормальной компиляции и работы &ktalkd; в вашей системе.