10.9升级遇到的问题及部分解决方案

服务器配置重置

实际上Apache的原有的配置还存在,只需要根据老的配置对比更改即可。

bonjour.so

我个人还一直保留着老版本Mac的mod_bonjour的配置,因为使用这个来配置服务器相对简单。但是自从10.8之后Apple就去掉了bonjour模块,也同时去掉了web sharing的开关。这次也一样,所以需要重新安装一次。 bonjour.so的源码Apple已经开源,可以通过这个链接来下载。如果不希望编译的话可以下载这个为10.5编译的版本。

PHP

PHP模块继续被默认禁用,但是只要在httpd.conf里面重新开启就好了。

检查Apache的配置文件是否正确

在重启Apache之前,最好使用sudo apachectl configtest来检查一次Apache配置文件的语法是否正确。

安装命令行工具

这次改动之后 xcode 已经没有命令行工具的gui安装界面了。需要在命令行里面执行xcode-select --install来进行命令行工具的安装。

C++ 标准库的变动导致HomeBrew一些程序安装出现问题

首先这些问题并不是homebrew本身的问题,部分原因是上游相关程序Mac平台的不兼容导致的。

官方得到的资料来看,是因为C++的标准库从libstdc++换成了libc++,这导致了之后如果要安装新的程序,无法旧版的依赖。官方的建议是最好完全重新安装依赖。但是从官方Issue来看,这次10.9的升级会导致homebrew出现大范围的failed to build。因此如果非常依赖某些命令行工具的话,最好检查下相关程序是否能正常运行。

推荐先执行brew doctor将一些官方已经检查出来的问题修复一下,首当其冲的应该是brew link来将老的程序先从新link一下。其次将一些无法正常使用的命令全部使用brew reinstall的命令来重新安装。注意在重新安装的时候如果出现无法正确安装依赖的问题,则需要先reinstall相关的依赖再来安装该命令行。

如果还有问题,推荐到官方的Issue里面去翻翻看是否已经有相关的解决方案了。

没有免费的iWork,iLife

下载一个试用版的,语言改成英文,然后打开Apple Store升级就可以了。或者随便找个盗版的就能升级成正版了。但是这个不算是你购买的,所以不在你的已购产品里面。下载升级好了之后,只要把旧版的删除即可。不然有可能还会不停的提示你进行升级。

多显示器的menu bar icon激活状态显示问题

Oh,是的,Apple自豪的说他们的全屏支持多显示器了,但是很显然应用程序还没搞懂这个多显示器到底怎么玩。于是我在A显示器激活一个evernote的menu bar 快速输入框,结果B显示器显示该icon被激活。事实上它只要在当前激活窗口弹出就好了…

当然目前来说上面这种情况还算是好的,但是部分应用程序的menu icon完全不知道自己应该将窗口弹到哪个显示器。当然这个问题也很老的,例如vitamin-R就一直没搞清楚它的窗口应该弹在什么地方。

Touch板不如老的灵活了

这是一个相当不好说的问题,识别算法变化了。Apple在做新的动画效果当中,允许用户操作手势动画的中间过程,举例说明:当你想要调出launchpad的时候,你如果慢慢的用五个指头去抓,你就会看到launchpad的透明度也在慢慢变化。而这个在10.8的时候是没有的,10.8是识别你在做抓取动作之后,动画效果一气呵成,中间过程也不会让你控制。

现在开放了部分手势中间渐变过程的控制之后,最麻烦的就是左右手势滚动的问题。当你在launchpad慢慢用双指做scroll,然后放开,你就会发现它卡住在那个地方不动了。这是因为launchpad没有做判断停止的位置,也不做回弹所导致的问题。

而原来的四指上划的,在未松开的情况下是允许你再次做四指下滑的来回到桌面,现在则需要让手离开touchpad之后再做,否则系统无法识别。个人觉得有点蠢,也不如老的操作连贯(以前我最喜欢上下滑动玩了)。

其他参考链接

Q.E.D.