Установка локали с помощью демона запуска - недостаток этого подхода?


1

У меня такая же проблема , как и в этом посте здесь что R началась в ESS / Emacs не может установить локали:

R version 3.2.2 (2015-08-14) -- "Fire Safety"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin14.5.0 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

During startup - Warning messages:
1: Setting LC_CTYPE failed, using "C" 
2: Setting LC_COLLATE failed, using "C" 
3: Setting LC_TIME failed, using "C" 
4: Setting LC_MESSAGES failed, using "C" 
5: Setting LC_MONETARY failed, using "C" 
> > options(STERM='iESS', str.dendrogram.last="'", editor='emacsclient', show.error.locations=TRUE)
> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-apple-darwin14.5.0 (64-bit)
Running under: OS X 10.11 (El Capitan)

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.2.2 tools_3.2.2   
> version
               _                           
platform       x86_64-apple-darwin14.5.0   
arch           x86_64                      
os             darwin14.5.0                
system         x86_64, darwin14.5.0        
status                                     
major          3                           
minor          2.2                         
year           2015                        
month          08                          
day            14                          
svn rev        69053                       
language       R                           
version.string R version 3.2.2 (2015-08-14)
nickname       Fire Safety                 
> 

Это потому, что локали, установленные в .bashrc и т. Д., Больше не читаются процессами, запущенными через Spotlight / Finder.

Я уже установил локали в Emacs

(setq utf-translate-cjk-mode nil) ; disable CJK coding/encoding (Chinese/Japanese/Korean characters)
(set-language-environment 'utf-8)
;; (set-keyboard-coding-system 'utf-8-mac) ; For old Carbon emacs on OS X only
(setq locale-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(unless (eq system-type 'windows-nt)
  (set-selection-coding-system 'utf-8))
(prefer-coding-system 'utf-8)

но это не решает проблему.

Теперь здесь было предложено следующее решение для установки среды с помощью launchd.

Теперь я спрашиваю себя: это решение установит локали для всех процессов, запускаемых через launchd - есть ли недостаток в использовании этого подхода?

Ответы:


1

Я не вижу никакой причины, по которой это могло бы вызвать проблемы, но если бы это случилось, вы всегда могли бы удалить это, и все вернулось бы в норму. Затем вы можете использовать специфичные для приложения изменения, перечисленные ниже в связанном ответе (что я и использовал бы в любом случае).


Проблема в том, что я регулярно компилирую emacs и мне придется каждый раз менять настройки, что не очень удобно.
Райнер

1
Я только что нашел решение в emacs: добавить (unless (getenv "LANG") (setenv "LANG" "en_US.UTF-8"))в файл .emacs.el. Благодарю.
Райнер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.