跳转至内容

dictd

来自 ArchWiki
(重定向自 Dict)

官方网站将 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 用户仓库以搜索词 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 的路径以指定正确的文件。