Как в Debian GNU/Linux работать со словарем в режиме offline


  
 
 
  К оглавлению
 

1.Введение

C развитием комуникаций в области передачи данных мы забыли, что такое работать "offline". Имея под рукой канал доступа к "сети" с практически безграничными возможностями по прокачке и скорости быстродействия обмена данными — мы избаловались работая с WEB-приложениями в режиме "online".
Но, стоить нам выехать на природу, вдали от городских джунглей — в леса и поля, с отсутствием или медленным Eнтернетом, мы вспоминаем о том, что иметь приложения, работающие в "offline", было бы неплохо. Особенно, если занимаешся чтением англицкой технической литературы — без словаря как-то трудновато.
Одним из множества способов решения такой задачи является использование приложения dictd, которое работает в фоновом режиме (как демон) и реализуют серверный протокол удаленного доступа к словарям приложения-клиента, запущенного в эмуляторе консоли ( в программе gnome-terminal) или в окружении графического рабочего стола Gnomе ( в программе gnome-dictionary). При этом, если демон dictd настроен на локальный хост, доступ к словарям осуществляется в режиме в "offline".

2. Установка нужных пакетов...

Для работы со словорями "offline" нам потребуются следующие пакеты DEB:
 
dict-freedict-eng-rus — англо-русский словарь;
mueller7-dict — англо-русский словарь Мюллера;
mueller7accent-dict — англо-русский словарь Мюллера c расставленными ударениями и примерами;
gnome-dictionary — виртуальный пакет, обеспечивающий совместимость с окружением графического рабочего стола;
dictd — локальное серверное приложение для доступа к выше перечисленным словорям в режиме "offline".
 

  user@home:~$ sudo apt-get install dictd dict-wn dict-foldoc dict-client mueller7accent-dict mueller7-dict dict-freedict-eng-rus

3. Настройка, усушка-утряска

В версии 3.1.14 программы gnome-dictionary словаря клиента графической оболочки Gnome файловая база данных русско-английских словорей, заисключением dict-wn, не доступны. Поэтому в дистрибутиве Debian 8.2 ( под кодывым названием "Jessie" ) следует использовать клиент dict в программе-эмуляторе терминала gnome-terminal для доступа к базам англо-русских словарей.
Для включения доступа "offline" в файле /etc/dictd/dict.conf следует закоментировать все "удаленные" сервера dictd, требующие доступа к сети Internet, и раскомментировать строчку, которая дает программе-клиенту DICT(1) доступ к локальному серверу, установленного с помощью в пакета dictd.
. . .
server localhost 
#server dict.org
#server dict0.us.dict.org
#server alt0.dict.org
. . .
Затем, настраиваем доступ к базам данных словарей пакетов mueller7 и mueller7-dict в файле dictdconfig.conf
#!/usr/bin/perl -lp

# By default, dictdconfig uses the basename of the file in
# /usr/share/dictd as the name of the database.  This file is an
# executable filter that substitutes a preferred name for a dictionary
# in /var/lib/dictd/db.list.  This name is displayed by the dict -D
# command and is used with the -d option of dict to request
# definitions from a specific dictionary instead of the default of all
# installed dictionaries.

# The format of each line is:
#          s/^//;
# Lines preceded by a hash character (#) are ignored.
 
s/^mueller7/mueller/;
s/^mueller7accent/muelleraccent/;
Дело в том, что список в файле /var/lib/dictd/db.list создается автоматически c помощью DICTDCONFIG(8).

user@home:~$ sudo dictdconfig --list

Результатом работы будет выведенный на консоль несохраненной версии файла /var/lib/dictd/db.list

# Automatically generated file -- do not edit.
#
# This file was automatically generated by dictdconfig.  Any changes
# made directly to this file will be lost when dictdconfig is run upon
# installation, removal, or upgrade of a dictionary database package.
#
# This file provides a complete database section which may be
# included from the dictd configuration file /etc/dictd/dictd.conf
# with an ``include /var/lib/dictd/db.list'' line.  The order and
# presence of the dictionary database entries here may be modified
# via the optional dictdconfig order override file /etc/dictd/dictd.order.
# See dictdconfig(8) for details.
#
# Older dictionary database packages did not automatically invoke
# /usr/sbin/dictdconfig upon installation and removal, so you may
# need to do so manually (after which, you should restart dictd).

# Optional order override file /etc/dictd/dictd.order found.
# Ignoring default order.

database muelleraccent
 {
  data  /usr/share/dictd/mueller7accent.dict.dz
  index /usr/share/dictd/mueller7accent.index
}
database mueller
 {
  data  /usr/share/dictd/mueller7.dict.dz
  index /usr/share/dictd/mueller7.index
}   
Для сохранения версии файла /var/lib/dictd/db.list необходимо выполнить

user@home:~$ sudo dictdconfig --write

В файле dictd.order настраиваем порядок просмотра локальным сервером dictd баз данных англо-русских словарей, ранее прописанных в файле /var/lib/dictd/db.list
# This file defines the order in which dictdconfig lists dictionaries
# in /var/lib/dictd/db.list.  The entry "/usr/share/dictd/" brings in
# any dictionaries in that directory that aren't specifically listed
# in this file.  You should enter the names of the dictionaries you
# have installed, in the order you would prefer to have them searched.  

mueller7accent mueller7
Для ввода в действие сделанных изменений перезапускаем демон dictd

  user@home:~$ sudo invoke-rc.d dictd stop
  user@home:~$ sudo invoke-rc.d dictd start

4. Использование

В текущем рабочем столе Gnome запускаем приложение gnome-terminal: на верхней панели в меню "Приложения" выбрать "Утилиты"→"Терминал". После его запуска в командной строке ввести команду из двух слов — вторым идет английское слово, требующее перевода на русский язык.

user@home:~$ dict help

Как результат вывод на консоль всех возможных определений, найденных в базах данных ранее прописанных словарей.
1 definition found

From Mueller English-Russian Dictionary [muelleraccent]:

  help
     [hɛlp]
     1. _n.
        1) пОмощь; can I be of any help to you? могУ я Вам чем-л. помОчь?
        2) срЕдство, спасЕние; there's no help for it Этому нельзЯ помОчь
        3) помОщник; Your advice was a great help Ваш совЕт мне Очень помОг
        4) = helping 2, 2
        5) служАнка, прислУга; mother's help бОнна
     2. _v.
        1) помогАть; окАзывать пОмощь, содЕйствие; it can't be helped _разг.
        ничегО не подЕлаешь, ничегО не попИшешь; can't help it ничегО не могУ
        подЕлать
        2) раздавАть, угощАть; передавАть (за столом); help yourself берИте,
        пожАлуйста (сАми), не церемОньтесь; may I help you to some meat?
        позвОльте вам предложИть мЯса
        3) (с модальным глаголом can, could) избежАть, удержАться; she can't
        help thinking of it онА не мОжет не дУмать об Этом; I could not help
        laughing я не мог удержАться от смЕха; я не мог не засмеЯться; don't
        be longer than you can help не оставАйтесь дОльше, чем нАдо; help
        down помОчь сойтИ; help in помОчь войтИ; help into
           а) помОчь войтИ;
           б) помОчь надЕть, подАть; help off
           а) помОчь снять что-л. (об одежде);
           б) помОчь отдЕлаться от; help on
           а) помогАть; продвигАть (дело);
           б) help me on with my overcoat помогИте мне надЕть пальтО; help out
           а) помОчь вЫйти;
           б) помОчь в затруднЕнии, вЫручить; help over вЫручить, помОчь в
           затруднЕнии; help up помОчь встать, поднЯться, поддержАть кого-л.
  
 К оглавлению
Сайт создан в системе uCoz