Showing posts with label Mac. Show all posts
Showing posts with label Mac. Show all posts

Monday, July 25, 2011

怎样将MacPorts过渡到Lion

升级到Lion之后, MacPorts开始抽风, 更新软件出现一大堆错误, 排查了很久, 总结了下面的从Snow Leopard升级到Lion后, MacPorts的过渡方法. 官方也有一篇 指导, 我总结的方法大同小异, 只是不需要手动重新安装所有软件, 那样会累死的…

  1. 通过Mac App Store安装最新版Xcode: http://itunes.apple.com/cn/app/xcode/id448457090?l=en&mt=12
  2. 下载适用于Lion的MacPorts安装包并安装: https://distfiles.macports.org/MacPorts/MacPorts-2.0.0-10.7-Lion.dmg
  3. $ sudo port selfupdate
  4. $ sudo port clean --all all
  5. $ sudo port -u upgrade outdated

第4步是关键, 保证了在升级时所有安装包都会重新下载.

Sunday, January 23, 2011

解决Mac中Emacs、MacVim不能正确读取PATH的问题

发现我现在的题目真是越来越长了, 越来越有论文开题的范了~

因为安装了MacPort, 我在 “.bashrc” 文件中自定义了 PATH 变量, 但当我打开 “Emacs.app” 时却发现 PATH 变量并没有被正确读取, 最明显的表现就是会找不到我用MacPort安装的程序. 经过一番查找才 发现, 原来是因为Mac OS X中的GUI程序在启动时并不鸟Shell初始化文件, 管你 bash, tcsh, 什么 sh. 在Mac中有一个专门给GUI程序 设置环境变量的地方: ~/.MaxOSX/environment.plist, 这是一个二进制文件, 你可以使用Xcode自带的 “Property List Editor.app” 来查看、修改其中的内容, Mac中还有一个命令 defaults 也可以对这种类型的文件进行读写. 我们可以稍微修改一下 “.bashrc” 文件以便每次自定义好 PATH 变量之后就立即修改 “environment.plist” 文件, 代码如下:

export PATH=...
defaults write ~/.MacOSX/environment PATH "$PATH"

这样当再次打开 “Emacs.app” 时查看到的 PATH 变量就是正确的值了. 同样我在使用 “MacVim.app” 时也遇到了这样的情况, 我本来以为通过上面的方法已经解决, 但… 你懂的, 再次经过一番查找, 很多人也只是推荐上面的方法. 还有 勾选MacVim的 “Preferences” 中的 “Launch Vim processes in a login shell.”, 但在我的MacVim中没有找到这个选项, 应该是新版本取消掉了. 我怀疑这是MacVim的bug (不然为啥 “Emacs.app” 好好的…), 不过貌似也不是所有人都有遇到. 而我现在找到的唯一解决办法是直接从Terminal中执行 “mvim” 命令来启动MacVim, 这样就会继承Shell的环境变量, 不过这也是不得已才想出的临时解决办法, 毕竟我以后就不能直接用Quicksilver来启动MacVim了, 真是遗憾.

综上, Mac的App真够折腾.

Thursday, January 20, 2011

小技巧: 在Mac中添加字体, 并让XeTeX能够找到

当使用LaTeX排版时, 我习惯于使用Adobe的中文字体, 生成出来的PDF效果很好. 但由于某种众所周知的原因, 各种操作系统都没有自带, 因此我需要手动添加.

以前在使用Ubuntu时, 只需要将字体文件放到"/etc/fonts/fonts.conf"配置文件中指定的字体目录, 再执行"fc-cache -f"即可. 而Mac OS X提供了更简便的方法进行字体的安装, 只需要打开"Font Book", 在"File"菜单中点击"Add Fonts..."即可. 不过有一点必须注意, 字体必须安装到"Computer"这个"Collection"中, 否则在使用xelatex编译时会找不到字体. 建议修改"Font Book"设置中的"Default Install Location"为"Computer", 如下图.