Приложение, о котором я говорю, - это Worms Armageddon (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
Во-первых, командная строка:
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]