Запуск приложений с локалью CP1251

  • 02.01.2010
  • 0 Comments

Локаль — это набор параметров, включая набор символов, язык пользователя, страну, часовой пояс, а также другие предустановки, которые пользователь ожидает видеть в пользовательском интерфейсе. В операционных системах Linux в качестве локалей по-умолчанию используются кодировки Unicode, что, несомненно, очень удобно и универсально. Но иногда возникают ситуации, что отдельно взятое приложение необходимо запустить с кодировкой CP1251 (например win32-программу через Wine). О том как это сделать будет рассказано в этой статье.

Все нижеописанное актуально для дистрибутивов Ubuntu, а также будет работать во всех остальных основанных на Debian и RedHat системах. Итак, для начала нам стоит выяснить какие локали уже установлены у вас в системе, для этого введите команду:

locale -a

Она даст вывод всех установленных локалей. Если в этом списке помимо различных вариантов UTF уже присутствует ru_RU.CP1251, то этап генерации локали вы можете пропустить и перейти сразу к команде запуска приложения. Если же ru_RU.CP1251 вы там не обнаружили, то придется ее сгенерировать. В Ubuntu для этого надо отредактировать файл /var/lib/locales/supported.d/ru:

sudo nano /var/lib/locales/supported.d/ru

В других дистрибутивах файл русской локали может находиться по другим путям.
В этот файл последней строкой добавьте:

ru_RU.CP1251 CP1251

Сохраните изменения и приступайте к генерации локалей командой:

sudo locale-gen

Generation complete.
Теперь любое приложение вы можете запустить в windows-кодировке CP1251. Для этого перед командой запуска приложения достаточно добавить LC_ALL=ru_RU.CP1251, например:

LC_ALL=ru_RU.CP1251 nano

Что запустит текстовый редактор nano в windows-кодировке.
Чтобы запустить таким образом windows-приложение через эмулятор Wine, нужно будет выполнить команду такого типа:

env LC_ALL=ru_RU.CP1251 wine "C:\Program Files\1Cv77\BIN\1cv7.exe"

Если подобный способ запуска программы решает проблемы кодировки, то можете смело создавать кнопку быстрого запуска, куда будет достаточно просто поместить вашу команду.

Leave a Comment

Your email address will not be published.