GUI द्वारा उबंटू लोकेल सेटिंग बदलने से अकाउंट-डेमॉन क्रैश हो जाता है


1

मैं उबंटू 12.04 हूं और स्वचालित अपडेट के बाद इसने सिस्टम डिफॉल्ट एन्कोडिंग फॉर्म UTF-8 को बदलकर "ANSI_X3.476868" कर दिया। मुझे एहसास हुआ कि जब ग्रहण में मेरी कोड टिप्पणी अजीब पात्रों के साथ दिखाई दी, और यह महसूस करने के बाद कि आईडीई निर्दोष था, मैंने जांच के लिए एक टर्मिनल खोला है। जब मैं एक टर्मिनल विंडो में लैटिन वर्ण टाइप करता हूं, जैसे कि çãèéèê ..., तो इसके बजाय एक प्रश्न चिह्न दिखाई देता है। वही मैं एक पाठ फ़ाइल 'बिल्ली' है। GUI द्वारा उबंटू लोकेल सेटिंग बदलने से अकाउंट-डेमॉन क्रैश हो जाता है:

ExecutablePath: /usr/bin/gnome-language-selector
ProcCmdline: /usr/bin/python /usr/bin/gnome-language-selector
...
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking      message, timeout)
DBusException: org.freedesktop.Accounts.Error.Failed: running '/usr/share/language-tools/save-to-pam-env' failed: no output

मैंने तब डिबग लाइन जोड़ने के लिए सेव-टू-पाम-एनवी को बदल दिया है और एक टर्मिनल में लैंग-चयनकर्ता को निष्पादित किया है:

gag@desktop~> /usr/bin/python /usr/bin/gnome-language-selector
(gnome-language-selector:17733): Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "pt_BR"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
...same message a dozen times...
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py:858: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  self._localeinfo.translate(loc, native=True) == defaultLangName):
  //the line below is my debug 'print'
  exec: /usr/share/language-tools/save-to-pam-env /home/likewise-open/CERTI/gag pt_BR.UTF-8 

इसलिए, इस कमांड को हाथ से चलाएं:

gag@desktop~> /usr/share/language-tools/save-to-pam-env /home/likewise-open/CERTI/gag pt_BR.UTF-8
pt_BR.UTF-8
gag@ccd-7840~> locale
LANG=
LANGUAGE=
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=
gag@desktop~> cat .pam_environment 
LANGUAGE=en
LANG=en_US.UTF-8
LC_NUMERIC=pt_BR.UTF-8
LC_TIME=pt_BR.UTF-8
LC_MONETARY=pt_BR.UTF-8
LC_PAPER=pt_BR.UTF-8
LC_NAME=pt_BR.UTF-8
LC_ADDRESS=pt_BR.UTF-8
LC_TELEPHONE=pt_BR.UTF-8
LC_MEASUREMENT=pt_BR.UTF-8
LC_IDENTIFICATION=pt_BR.UTF-8

यह सब ठीक लगता है, लेकिन पीसी को पुनरारंभ करना और लॉग-इन बैक चीजें अभी भी समान हैं। सीएलआई द्वारा मैं देख सकता हूं कि स्थान ठीक से स्थापित हैं:

gag@desktop~> locale -a | grep pt
pt_BR.utf8
pt_PT.utf8
gag@desktop~> locale -m | grep UTF
UTF-8

मैंने भी कोशिश की है:

sudo apt-get install language-pack-pt language-pack-pt-base
sudo apt-get install --reinstall locales

जिसका कोई असर न हो। जब मैं दूसरे खाते से लॉगिन करता हूं तो एन्कोडिंग ठीक है। विचार?

जवाबों:


0

यह पता चला है कि मेरे "~ / .pam_environment" कॉन्फ़िगरेशन को बिल्कुल भी नहीं पढ़ा जा रहा है। मैंने इन्हें अपनी ~ / .profile फ़ाइल में सेट करके वर्कअराउंड किया है:

export LC_COLLATE="C"
export LANG="en_US.UTF-8"
export LC_ALL="pt_BR.UTF-8"

हालांकि "लोकेल" मैन प्रविष्टि में LC_ALL का उपयोग करने की अनुशंसा नहीं की गई है।

एकमात्र कारण जो मुझे googli'n arount के लिए मिल सकता है। pam_environment को नजरअंदाज किया जा रहा है वह घर की सुरक्षा है। एनक्रिप्शन usyng ecryptfs - और यह मेरा मामला नहीं है।

वैसे भी, इसका काम, तो इसे रहने दो।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.