MacOS中,用Spotlight启动Emacs.app如何代入(中文)环境变量?

如果用Spotlight这种方式启动emacs

进入emacs中的日期戳中,星期就是英语的

如果用传统的命令行方式启动emacs

进入emacs中的日期戳中,星期就是汉语的

我需要汉语格式的星期。命令行启动就是汉语,估计是环境变量“LANG=zh_CN.UTF-8”通过shell,被emacs进程继承了。那么如果用Spotlight启动的话,怎么把这个环境变量传递给emacs程序呢?

这个问题原则上是MacOX的使用方法问题。其实unix/linux的基于配置文件的理念,如果在新的操作系统上被终止的话,那么新模式一定会隔断传统方式所作用到的功能,也就随之带来新的麻烦和问题。

刚才找到解决办法了。

方法1. 就是编辑/etc/launchd.conf, 增加

setenv LANG

zh_CN.UTF-8

然后重启Finder和Dock(我还没试过)。

方法2. 临时见效的方法就是命令行

$ launchctl setenv LANG “zh_CN.UTF-8”

然后就可以了(试过有效了)。但是下次重启就没有了。

感觉还是Linux好用,系统功能是捋顺了的。

对了,我查查emacs对LANG的变量定义,.emacs直接写进去就可以了。

exec-path-from-shell可以引入环境变量