dictd

出自 ArchWiki

官方网站 将 dictd 描述为

客户端/服务器软件、人类语言词典数据库以及支持 DICT 协议 (RFC:2229) 的工具。

安装

安装 dictd 软件包。

图形化前端

有许多图形化应用程序可以通过 DICT 协议 访问 dictd

  • GoldenDict — 功能丰富的词典查询程序,支持多种词典格式。
http://goldendict.org || goldendict-gitAUR
  • gnome-dictionary — 一个 GNOME 应用程序,用于查找定义。
https://wiki.gnome.org/Apps/Dictionary || gnome-dictionary
  • xfce4-dict — 一个用于 Xfce 面板的词典插件。类似于 Gnome dictionary。
https://docs.xfce.org/apps/xfce4-dict/start || xfce4-dict
  • MATE Dictionary — MATE 应用程序,用于在词典源中查找单词。类似于 Xfce Dictionary。
https://github.com/mate-desktop/mate-utils || mate-utils
  • Emacs — 这个可扩展的编辑器内置了一个 dictd 客户端,可以在窗口中或编写时查找单词。
https://www.masteringemacs.org/article/wordsmithing-in-emacs || emacs

用法

可以通过以下方式查询词典

$ dict word

要查询特定的词典数据库,可以使用 -d 标志。例如,要查询英西词典数据库,可以使用

$ dict -d eng-spa word

在没有进一步配置的情况下,dictd 很可能会查询在线数据库。请参阅下文以设置离线词典。

配置

默认情况下,dictd 会先尝试查询离线数据库,然后再查询在线数据库。但是,除非启用 dictd.service,并正确设置区域设置并安装离线词典(见下文),否则离线数据库将不可用。

可以通过注释掉 /etc/dict/dict.conf 中的 server dict.org 来禁用在线模式。相反,可以通过注释掉 server localhost 来禁用离线模式。

区域设置

默认情况下,dictd 配置为使用 en_US.UTF-8 区域设置。如果您的系统没有编译此区域设置,dictd.service 将无法启动,且不会显示有用的错误消息。

您可能希望将其配置为使用其他区域设置

/etc/default/dictd
DICTD_ARGS="--locale your locale"

托管离线词典

可以通过 启用 dictd.service 来配置 Dictd 以托管离线词典,并且需要将 dict 配置为在 /etc/dict/dict.conf.dictrc 中使用 localhost 作为服务器。

首先,需要安装离线词典。词典可以通过 Arch User Repository 获得,搜索词为 dictd。一些流行的英语词典包括

FreeDict 项目还提供了许多与 dictd 兼容的双语词典,这些词典通常在 AUR 上可用。

安装后,如果需要访问新提供的词典,请重启 dictd.service。之后,可以按照上述说明查询词典。

提示: 可以通过执行 dict -I 查询所有可用词典的列表。

故障排除

解析错误

以下错误

/etc/dict/dictd.conf:25: syntax error, unexpected $end
/etc/dict/dictd.conf:25: #LASTLINE
/etc/dict/dictd.conf:25:          ^
dictd (yyerror): parse error
parse error

表示 dictd 找不到词典数据库。这些可以手动添加到 /etc/dict/dictd.conf 中。例如

database eng-spa {
	data /usr/share/dictd/eng-spa.dict.dz
	index /usr/share/dictd/eng-spa.index
}

添加由 dict-freedict-eng-spaAUR 安装的英西词典。对于其他词典,复制并粘贴上述数据库声明,但请务必更改数据库名称,即 eng-spa,并更改上面的 dataindex 路径以指定正确的文件。