Как исправить неправильную кодировку в приложении Wine без изменения языка ОС?

Приложение, о котором я говорю, - это Worms Armageddon (WA). Я бегу под вином.

Рассмотрим следующую последовательность:

  • переключить язык графического интерфейса Ubuntu на русский (и перезапустить сеанс)
  • переключить раскладку клавиатуры Ubuntu на русский
  • запустить WA под Wine
  • введите что-нибудь кириллицу в WA-чате

- Когда я это делаю, у меня нет проблем с кодировкой. Но если я переключаю язык Ubuntu GUI обратно на английский (и перезапускаю сессию), то при наборе символов кириллицы в чате (используя русскую раскладку клавиатуры) я получаю знаки вопроса (????,? ?????! ..) в чате вместо кириллицы).

Я думаю, это как-то связано с кодовой страницей Windows. На русском языке кодовая страница по умолчанию - cp1251, а на английском, вероятно, какая-то другая европейская кодовая страница.

Итак, мой вопрос: как мне набирать и читать кириллицу в WA-чате, не переключая язык графического интерфейса на русский?

P.S. Исходный значок на рабочем столе:

[Desktop Entry]
Name=Worms Armageddon
Exec=env WINEPREFIX="/home/uname/.wine" wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/uname/.wine/dosdevices/c:/users/Public/Desktop/Worms\\ Armageddon.lnk
Type=Application
StartupNotify=true
Path=/home/uname/.wine/dosdevices/c:/GOG Games/Worms Armageddon/
Icon=4948_goggame-1462173886.0
StartupWMClass=wa.exe

, а Worms Armageddon.lnk - это файл Windows .lnk со ссылкой на

C:\GOG Games\Worms Armageddon\WA.exe
0
задан 20 May 2019 в 20:32

1 ответ

Во-первых, командная строка:

LANG=ru_RU.UTF-8 WINEPREFIX="/home/uname/.wine" wine /home/uname/.wine/drive_c/GOG\ Games/Worms\ Armageddon/WA.exe

Переменные Env, установленные в начале командной строки, влияют только на эту командную строку. Вы можете установить его в отдельной строке, используя export LANG=..., но это повлияет на все команды в этой оболочке после экспорта.

Во-вторых, ярлык .desktop:

[Desktop Entry]
Name=Worms Armageddon
Exec=env LANG=ru_RU.UTF-8 env WINEPREFIX="/home/uname/.wine" wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/uname/.wine/dosdevices/c:/users/Public/Desktop/Worms\\ Armageddon.lnk
Type=Application
StartupNotify=true
Path=/home/uname/.wine/dosdevices/c:/GOG Games/Worms Armageddon/
Icon=4948_goggame-1462173886.0
StartupWMClass=wa.exe

Поместить над файлом worms.desktop в ~/.local/share/applications/
Обратите внимание, что вы использовали префикс wine по умолчанию, указывать его в командной строке не нужно

Может быть, вы хотите это в скрипте, вот оно:

#!/bin/bash
export LANG=ru_RU.UTF-8
export WINEPREFIX="/home/uname/.wine"
wine /home/uname/.wine/drive_c/GOG\ Games/Worms\ Armageddon/WA.exe

переменная экспорта будет действовать только внутри этого скрипта

Ссылка [ 1113]

0
ответ дан 20 May 2019 в 20:32

Другие вопросы по тегам:

Похожие вопросы: