Mavericks已经更新到10.9.1,之前反映的一些兼容性问题已经得到了解决(比如Gmail的修复还是靠谱的),但仍存在一些小问题。最近就遇到了两个网络方面的,花了些时间琢磨了workaround。
机器从休眠中恢复时网络中断
首先明确一下,这里说的休眠是sleep,也就是笔记本不合盖,机器出于屏幕保护、节能等方面的考虑(或者说配置),自动进入低能耗状态。休眠时,正常来说CPU等仍然是通电的,一些后台程序仍然会运行。而合盖后则默认将内存缓存到磁盘上,然后一般只有程序更新等在运行,能耗更低。所以,这里要讨论的,不包括合盖以后wifi中断的问题,那是个正常的默认设定。
用上一段时间,可能会发现,机器从休眠中恢复出来,网络无法连接了。而且似乎没有那么直接的解决方法。出现问题时,如果在终端里运行 ifconfig
,会发现IP地址丢掉了,而网络设置界面上是正常的,端口也active。我自己遇到的是有线网络,但是从网上反映的情况来看,wifi也会有类似现象。有网友尝试过重置SMC、PRAM等,据说都只能管一次,之后仍然会不时出现这个问题。
首先提供一个最简单的解决方案:对于有线网络来说,重新插拔一下网线就可以了。
然后是一个软件的方案:每次出现这个故障,在终端里将问题网卡down掉,再重新启用。这个不赘述了,需要写脚本,每次操作也很麻烦啊。
最后是一个我尝试OK的workaround:在网络设置里,将对应的端口IPv6设置改成“仅本地链接”,如果是wifi端口,还可以设置“关闭”。除非你有特殊需要,否则目前IPv6还不流行,确实也没有打开的必要。跟踪了两天,用这个方法是能够解决问题。
Safari的代理设置问题
想必很多网友出于各种情况,需要为自己设置一些代理,现在用pac方式比较流行,因为非常灵活方便,只引导部分特别的网站走代理,而国内的网站仍然可以享受国内快捷的网络。Chrome和Firefox下,一般是通过插件来管理调用哪个代理,但Safari就不那么直观了,而且除了浏览器,还有些tweetbot之类的客户端怎么办呢?
OS X下实际上是提供了一个调用pac的地方,那就是在“网络设置——高级——代理——自动代理配置”。在OS X 10.9以前,支持两种方式:
-
一种是将pac文件放到Safari程序里(在应用程序里找到以后右键显示包内容,之后找个目录贴进去),然后在这里填上形如“file://localhost/Applications/Safari.app/Contents/Resources/proxy.pac”
-
另一种是将pac放在一个网站上,设置的地方就填这个pac文件的地址;或者是本地开个apache(OS X就自带了),在这里填上形如“http://127.0.0.1/proxy.pac”
好,回到要说的问题,一句话,上述方式一在10.9.1下部分失效。现象是,tweetbot等客户端是OK的,但是Safari就是不认,原因不明。解决方法:用方式二吧。