Autor Tópico: Fazendo o DICTD funcionar!  (Lida 1632 vezes)

Aleksandre

  • Sr. Member
  • ****
  • Mensagens: 239
  • Karma: +0/-0
    • Utopologia
Fazendo o DICTD funcionar!
« Online: Novembro 15, 2006, 07:45:08 am »
Olá a todos!

Estava buscando um dicionário em que eu pudesse fazer minhas consultas em um banco de dados em minha própria máquina, então encontrei a seguinte dica Instalando um sistema tradutor de línguas no seu Linux http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=628
Só que tudo ficou barrado no dictd! Não consigo fazer esse serviço funcionar:

Código: [Selecionar]
shallom:/home/aleksandre # /etc/init.d/dictd start
Starting DICTD                                                       failed

Já tentei até pelo yast, fazendo-o inicializar logo no boot, mas não dá certo! No yast o código de erro retornado é o 7!
Também experimentei o Stardict, mas não entendi como instalar os dicionários; na verdade nem sequer os encontro! O programa deveria ter uma função de fazer o download!
Espero que alguém possa me ajudar!
Ateh!
Linux Counter#399028       GNUPG 0xF76194C0
                Maracanaú CE Brasil
                   Linux é Legal!
   Conheçam a Verdade e caminhem para a liberdade!
                   Jesus Cristo é a Verdade!

Comunidade de Usuários do openSUSE Linux

Fazendo o DICTD funcionar!
« Online: Novembro 15, 2006, 07:45:08 am »

atmozphera

  • Global Moderator
  • Hero Member
  • *****
  • Mensagens: 440
  • Karma: +0/-0
    • http://www.atmozphera.com.br
Re: Fazendo o DICTD funcionar!
« Responder #1 Online: Novembro 16, 2006, 09:08:28 pm »
Aleksandre,

qual forma você utilizou para instalar o DICT ? compilado (tarball) ou rpm ?

já checou a entrada desse daemon (dictd) no /var/log/messages ?

checou no inicio do script do daemon se ele não prescisa de OUTRO daemon para startar ?


se for o caso, posta o código desse daemon aqui...alguma coisa nele deve estar errado ou faltando.
"o silêncio preenche nossa insegurança"

Aleksandre

  • Sr. Member
  • ****
  • Mensagens: 239
  • Karma: +0/-0
    • Utopologia
Re: Fazendo o DICTD funcionar!
« Responder #2 Online: Novembro 17, 2006, 05:38:06 am »
atmozphera,

Realmente não encontro nenhuma menção ao DICTD em /var/log/messages; há alguma coisa em /var/log/boot.msg, mas não menciona nenhum erro:

Citar
SPLASH=yes ROOTFS_BLKDEV=/dev/hda1 _=/sbin/startproc DAEMON=/usr/sbin/dictd ]
Starting DICTDdone

Realmente ele necessitava de outros serviços para ser carregado, lembro que um deles era o hal, mas coloquei para que fossem carregado no boot. Não sei nada de script, mas aí vai o daemon dictd:

Citar
#! /bin/sh
# Copyright (c) 1995-2001 SuSE GmbH Nuernberg, Germany.
#
# Author: Uwe Drechsel <feedback@suse.de>
#
# init.d/dictd
#
#   and symbolic its link
#
# /sbin/rcdictd
#
### BEGIN INIT INFO
# Provides: dictd
# Required-Start: $remote_fs $syslog
# Required-Stop:  $remote_fs $syslog
# Default-Start:  3 5
# Default-Stop:   0 1 2 6
# Description:    Start dictd server to provide dictionaries
### END INIT INFO

DICTD_BIN=/usr/sbin/dictd
test -x $DICTD_BIN || exit 5

# Shell functions sourced from /etc/rc.status:
#      rc_check         check and set local and overall rc status
#      rc_status        check and set local and overall rc status
#      rc_status -v     ditto but be verbose in local rc status
#      rc_status -v -r  ditto and clear the local rc status
#      rc_failed        set local and overall rc status to failed
#      rc_failed <num>  set local and overall rc status to <num><num>
#      rc_reset         clear local rc status (overall remains)
#      rc_exit          exit appropriate to overall rc status
. /etc/rc.status

# First reset status of this service
rc_reset

# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - insufficient privilege
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
#
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signalling is not supported) are
# considered a success.

case "$1" in
    start)
   echo -n "Starting DICTD"
   ## Start daemon with startproc(8). If this fails
   ## the echo return value is set appropriate.

   # NOTE: startproc return 0, even if service is
   # already running to match LSB spec.
   startproc $DICTD_BIN -L /var/log/dictd

   # Remember status and be verbose
   rc_status -v
   ;;
    stop)
   echo -n "Shutting down DICTD"
   ## Stop daemon with killproc(8) and if this fails
   ## set echo the echo return value.

   killproc -TERM $DICTD_BIN

   # Remember status and be verbose
   rc_status -v
   ;;
    try-restart)
   ## Stop the service and if this succeeds (i.e. the
   ## service was running before), start it again.
   ## Note: try-restart is not (yet) part of LSB (as of 0.7.5)
   $0 status >/dev/null &&  $0 restart

   # Remember status and be quiet
   rc_status
   ;;
    restart)
   ## Stop the service and regardless of whether it was
   ## running or not, start it again.
   $0 stop
   $0 start

   # Remember status and be quiet
   rc_status
   ;;
    force-reload)
   ## Signal the daemon to reload its config. Most daemons
   ## do this on signal 1 (SIGHUP).
   ## If it does not support it, restart.

   echo -n "Reload service dictd"
   ## if it supports it:
   killproc -HUP $DICTD_BIN
   #touch /var/run/dictd.pid
   rc_status -v

   ## Otherwise:
   #$0 stop  &&  $0 start
   #rc_status
   ;;
    reload)
   ## Like force-reload, but if daemon does not support
   ## signalling, do nothing (!)

   # If it supports signalling:
   echo -n "Reload service dictd"
   killproc -HUP $DICTD_BIN
   #touch /var/run/dictd.pid
   rc_status -v
   
   ## Otherwise if it does not support reload:
   #rc_failed 3
   #rc_status -v
   ;;
    status)
   echo -n "Checking for dictd: "
   ## Check status with checkproc(8), if process is running
   ## checkproc will return with exit status 0.

   # Status has a slightly different for the status command:
   # 0 - service running
   # 1 - service dead, but /var/run/  pid  file exists
   # 2 - service dead, but /var/lock/ lock file exists
   # 3 - service not running

   # NOTE: checkproc returns LSB compliant status values.
   checkproc $DICTD_BIN
   rc_status -v
   ;;
    probe)
   ## Optional: Probe for the necessity of a reload,
   ## give out the argument which is required for a reload.

   test /etc/dictd/dictd.conf -nt /var/run/dictd.pid && echo reload
   ;;
    *)
   echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
   exit 1
   ;;
esac
rc_exit

Esquisito nisso tudo é que não há um /var/log/dictd!
Espero que possa me ajudar!
Muito obrigado!
Linux Counter#399028       GNUPG 0xF76194C0
                Maracanaú CE Brasil
                   Linux é Legal!
   Conheçam a Verdade e caminhem para a liberdade!
                   Jesus Cristo é a Verdade!

atmozphera

  • Global Moderator
  • Hero Member
  • *****
  • Mensagens: 440
  • Karma: +0/-0
    • http://www.atmozphera.com.br
Re: Fazendo o DICTD funcionar!
« Responder #3 Online: Novembro 17, 2006, 05:10:12 pm »
Realmente não encontro nenhuma menção ao DICTD em /var/log/messages; há alguma coisa em /var/log/boot.msg, mas não menciona nenhum erro

sim, mas eu quis dizer quando você mesmo inicia o daemon do DICT e ele morre, abra uma outra janela de terminal e dê um tail -f /var/log/messages e acompanhe em tempo real o que acontece quando você tentar starta-lo.


Citar
DICTD_BIN=/usr/sbin/dictd

checou se esse caminho já existe ? se o bin do daemon existe nesse lugar.


Citar
   startproc $DICTD_BIN -L /var/log/dictd

Esquisito nisso tudo é que não há um /var/log/dictd!

se ele não criou o log no /var/log/ é porque o daemon nem chegou a executar, portanto ou ele não existe nesse caminho ou talvez até no SuSE.

ps.: tente startar direto pelo /usr/sbin/dictd e veja o que acontece.
"o silêncio preenche nossa insegurança"

Aleksandre

  • Sr. Member
  • ****
  • Mensagens: 239
  • Karma: +0/-0
    • Utopologia
Re: Fazendo o DICTD funcionar!
« Responder #4 Online: Novembro 18, 2006, 05:12:06 pm »
atmozphera,
Realmente existe o executável em /usr/sbin/! Fiz como você sugeriu, abri outro terminal com tail -f /var/log/messages, e outro com chamada através do /usr/sbin/dictd e /etc/init.d/dictd start, mas não ocorre nenhum registro de erro! Muito esquisito tudo aqui!
Esse pacote foi instalado pelo smart; tentei reinstalar e tudo mais, mas o problema persiste.
Ateh!
Linux Counter#399028       GNUPG 0xF76194C0
                Maracanaú CE Brasil
                   Linux é Legal!
   Conheçam a Verdade e caminhem para a liberdade!
                   Jesus Cristo é a Verdade!

gilbertoca

  • Membro Jr.
  • **
  • Mensagens: 19
  • Karma: +0/-0
    • 100001517565720
    • Vivendo e aprendendo ...
Re: Fazendo o DICTD funcionar!
« Responder #5 Online: Fevereiro 16, 2007, 07:03:21 pm »

Aleksandre

  • Sr. Member
  • ****
  • Mensagens: 239
  • Karma: +0/-0
    • Utopologia
Re: Fazendo o DICTD funcionar!
« Responder #6 Online: Fevereiro 17, 2007, 02:13:17 am »
gilbertoca,

Valeu pela dica! Na verdade já tinha conseguido resolver esse problema há algum tempo. Apenas esqueci de por aqui minha solução! Vou procurar minhas anotações e reportarei depois.
Estou usando o Kdict mesmo; mas depois vou experimentar o Wordtrans da sua dica; provavelmente depois que conseguir atualizar meu sistema do 10.1 para o 10.2!
Obrigado!
Linux Counter#399028       GNUPG 0xF76194C0
                Maracanaú CE Brasil
                   Linux é Legal!
   Conheçam a Verdade e caminhem para a liberdade!
                   Jesus Cristo é a Verdade!

Comunidade de Usuários do openSUSE Linux

Re: Fazendo o DICTD funcionar!
« Responder #6 Online: Fevereiro 17, 2007, 02:13:17 am »