SublimeTextをパッケージコントロールアドオンで実行しようとしていますが、Unityランチャーを使用してSublimeTextを開くたびにこのエラーが発生します。
これまでのところ、 buntu Community Help で提供される指示に従ってみましたが、言及されたすべての場所に設定してから再起動しても問題は解決しませんでした。
また、見つかった手順を実行しました パッケージコントロールのgithubで page to a vail。
これはコマンドラインからSublimeTextを起動するときに機能するため、Unity固有の問題であると推測していますが、UnityからSublimeTextを起動するときにLANGを正しく設定する方法を知っていますか?
編集:インストールの詳細を追加し、ここにある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(Unity)でそのまま使用できます。
問題を再現するために、.desktopファイルを変更して、LANG-Cに強制的にサブテキストを開始させました。 LANG=en_US.UTF-8
を強制するまでに、同じTweakを試して開始できると思います。
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でこれを取得しました。私のLANGはシステム全体に設定されていますが、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
here の回答をいくつか使用してロケールをリセットしようとしましたが、「locale」コマンドが同じ出力を出すたびにすべてが失敗しました。私/ 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に「ロケール」変数の値を無効にする2行が追加されました。 bashファイル全体を貼り付けるわけではありませんが、2つの重要な行は次のとおりです。
unset LANG
export LC_ALL=POSIX
それらをbashファイルにコメントして再起動すると、できあがりです!私のロケールは意図したとおりに設定され、sublimeT3は文句を言わなくなりました。これが策定されてから1年以上が経ちましたが、おそらく他の誰かを助けるかもしれません!