Я пытаюсь запустить SublimeText с надстройкой управления пакетами, и каждый раз, когда я открываю его с помощью средства запуска Unity, я получаю эту ошибку.
До сих пор я пытался следовать инструкциям, приведенным в Справке сообщества Ubuntu , установить его во всех упомянутых местах и затем перезапустить не исправил проблема.
Я также выполнил шаги, найденные на странице управления пакетами github , но безрезультатно.
Это работает, когда я запускаю SublimeText из командной строки, поэтому я предполагаю, что это проблема, специфичная для Unity. Кто-нибудь знает, как правильно настроить LANG при запуске SublimeText из Unity?
Редактировать: Добавление установки подробности, я установил, используя 64-битный SublimeText3 .deb, найденный здесь, http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3059_amd64.deb
Управление пакетами был установлен с использованием простого метода, найденного здесь, https://sublime.wbond.net/installation
Я установил sublimetext
, использование ppa метода и Package control
с "простым методом" описало здесь , это работает из поля с (единицей) Ubuntu 13.10.
Для репродуцирования проблемы я пытался вынудить LANG-C запустить sublimetext путем изменения .desktop файла. Я думаю, что Вы могли попробовать ту же тонкую настройку для запуска его к этому времени принуждение LANG=en_US.UTF-8
:
sudo gedit /usr/share/applications/sublime-text.desktop
И копия следующие строки в файл:
[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=bash -c "LANG=en_US.UTF-8 /opt/sublime_text/sublime_text %F"
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;Utility;
StartupNotify=true
Actions=Window;Document;
X-Desktop-File-Install-Version=0.21
[Desktop Action Window]
Name=New Window
Exec=bash -c "LANG=en_US.UTF-8 /opt/sublime_text/sublime_text -n"
OnlyShowIn=Unity;
[Desktop Action Document]
Name=New File
Exec=bash -c "LANG=en_US.UTF-8 /opt/sublime_text/sublime_text --command new_file"
OnlyShowIn=Unity;
У меня просто было это под Ubuntu 14.04 LTS., мой ЛЕНГ установлен в масштабе всей системы, но диспетчер пакетов sublimetext 3, не взяв его.
я просто сделал обходное решение и поместил LANG=en_US.UTF-8 перед путем приложения в его средстве запуска значка.
У меня была точно та же проблема с sublimeT3. Сначала на терминале я выполнил следующую команду:
$echo $LOCAL
И вывод был пустой строкой.
Затем я работал:
$locale
Это было выводом:
LANG=
LANGUAGE=en_US
LC_CTYPE=POSIX
LC_NUMERIC=POSIX
LC_TIME=POSIX
LC_COLLATE=POSIX
LC_MONETARY=POSIX
LC_MESSAGES=POSIX
LC_PAPER=POSIX
LC_NAME=POSIX
LC_ADDRESS=POSIX
LC_TELEPHONE=POSIX
LC_MEASUREMENT=POSIX
LC_IDENTIFICATION=POSIX
LC_ALL=POSIX
Я пытался сбросить локали с некоторыми ответами, данными здесь, но все было неудачно, каждый раз, когда команда "локали" дала тот же вывод. Даже мой/etc/default/locale, казалось, был правильным:
$cat /etc/default/locale
Вывод:
LANG=en_US.UTF-8
LC_NUMERIC="es_CO.UTF-8"
LC_TIME="es_CO.UTF-8"
LC_MONETARY="es_CO.UTF-8"
LC_PAPER="es_CO.UTF-8"
LC_NAME="es_CO.UTF-8"
LC_ADDRESS="es_CO.UTF-8"
LC_TELEPHONE="es_CO.UTF-8"
LC_MEASUREMENT="es_CO.UTF-8"
LC_IDENTIFICATION="es_CO.UTF-8"
Из-за этого я задался вопросом, переопределяло ли, возможно, что-то переменные среды. Мой .pam_environment файл, казалось, был корректен:
$cat .pam_environment
Вывод:
LANGUAGE=en_US:en
LANG=en_US.UTF-8
LC_NUMERIC=es_CO.UTF-8
LC_TIME=es_CO.UTF-8
LC_MONETARY=es_CO.UTF-8
LC_PAPER=es_CO.UTF-8
LC_NAME=es_CO.UTF-8
LC_ADDRESS=es_CO.UTF-8
LC_TELEPHONE=es_CO.UTF-8
LC_MEASUREMENT=es_CO.UTF-8
LC_IDENTIFICATION=es_CO.UTF-8
PAPERSIZE=letter
Таким образом, я выполнил следующую команду, которая дала мне ключ к разгадке того, что продолжалось:
$cat .bashrc | grep LANG
Здесь вывод:
unset LANG
Я не знаю, когда или как, но я закончил с двумя строками на моем .bashrc, который переопределил значение переменных "локали". Я не вставляю целый файл удара, но две ключевых строки были ими:
unset LANG
export LC_ALL=POSIX
Путем комментария их на файле удара и перезагрузке, вуаля! моя локаль была настроена, как она была предназначена к, и sublimeT3 прекратил жаловаться. Это был больше чем год, с тех пор как это было сформулировано, но возможно это могло помочь кому-то еще!