Известная истина гласит: если что-то заработало сразу, значит ты упустил возможность научиться чему-то новому.
Надысь у меня все заработало с wine+1C и я счастливый остался в неведении о многих распрекрасных моментах жизни. На новой инсталляции Ubuntu все было не так радужно. А именно, то, что в п.7 в вышеуказанном моем посте работало прекрасно, на сей раз работать не захотело. И еще кодировка KOI8 упорно не хотела работать. Пришлось ознакомится с проблемой поближе.
Я кстати поставил 1С на имеющийся у меня последний дистрибутив от codeweavers – crossover (или crossoffice как его часто называют), вылизанный коммерческий вариант wine. С ним не было проблем с майкрософтовскими библиотеками, но с кодовой страницой я так и не сладил. И, как выяснилось позднее, неудивительно. Так что если с locale у вас на машине все ОК и вы не хотите ковыряться с dll ками, то не пожалейте немного баксов, да и добро сделаете для разработчиков того же wine. Впрочем, коль вы такой жмот, что деньги свои дороже матери, то по правде говоря, ковыряться с библиотеками долго не придется. Итак, ниже – модифицированная инструкция по инсталляции:
1. Подразумевается что имеем Linux с инсталлированным wine.
2. Проверяем локальные установки, что нам доступны:
> locale -a
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
…
Если находим там ru_RU.koi8r или что-нить подобное (может быть ru_RU.KOI8-R), то, как пысал выше, продолжаем оставаться в сладком неведении и прыгаем к п. 5. Иначе же пытаемся добавить недостающую локаль.
3. Для этого интересуемся файлом
>less /usr/share/i18n/SUPPORTED
и ищем там все, что похоже на ‘ru’. Лучше конечто так:
> cat /usr/shqre/i18n/SUPPORTED | grep -i ‘ru’
и смотрим внимательно. Как что-то видим похожее на ru_RU.koi8r (см выше), запинаем насмерть.
4. Потому как далее печатаем вот это:
> sudo locale-gen ru_RU.koi8r (ну или что там нашли подходящее)
Далее, просмотр доступных локалок (см выше) должен нам показать, что отныне ru_RU.koi8r прочно занимает славный список. Вот и прекрасно. Идем далее
5. Ставим родные dll.
- удаляем библиотеки что пришли с wine:
>rm ~/.wine/drive_c/windows/system32/ole32.dll
>rm ~/.wine/drive_c/windows/system32/oleaut32.dll
- ставим родные (перед DCOM98.EXE, натурально, надо указать полный путь к файлу, если находимося не рядом с ним.
>WINEDLLOVERRIDES=\"ole32=n\" wine DCOM98.EXE
- далее в winconfig прописываем использование родных библиотек, как это было указано в ранее цитировавшейся инструкции. Альтернативный вариант – это запуск windows программы из консоли с указанием параемтров:
>WINEDLLOVERRIDES=ole32,oleaut32,rpcrt4=n wine my_program.exe
6. Собственно все. Запуск 1C я выполняю из консоли, подставляя переменную среды:
>LANG=ru_RU.koi8r wine ~/.wine/drive_c/Program\\ Files/1Cv77/BIN/1cv7s.exe
Можно добавить сюда WINEDLLOEVERRIDES, как указано выше, и тогда в настройки wine можно вообще не лезть. Осталось сделать Launcher в Gnome и щелкай себе на здоровье. Не забываем отключить Окна-Панель окон-Показать в 1С и в конфигураторе wine отключить Allow the window manager to control the windows, что впрочем не обязательно.
В crossoffice все должно работать тоже, надо лишь настроить локалку, как описано вот тут:
http://www.codeweavers.com/support/wiki/CXOffice62_ChooseDifferentLanguage
У меня это не работало, ясен пень, поскольку локалки такой вообще не было сконфигурировано в системе.