您的位置:首页 > Web前端 > Node.js

[Mac]解决Yosemite下iNode客户端上网问题

2016-01-13 08:57 681 查看
前几天,Yosemite出了正式版,凌晨开始下载,早上起来下载完成,由于之前有网友说在提示还有一分钟(七分钟?)的地方卡了四十多分钟,于是在开始更新的时候我就去健身房了。等回来重新启动了一遍,发现iNode无法登陆了。网上去iNode吧、MacBook吧走了一圈,都有人在喊校园网客户端无法登陆/闪退/崩溃。没办法,把笔记本从实验室背回来,给我的MBA开无线……



昨天凌晨,闲得无聊,又搜索了一下,发现有人发了解决办法:
sudo /Library/StartupItems/iNodeAuthService/iNodeAuthService start


但是这个要在每次开机之后运行一次才有效。虽然说Mac不用经常关机,但是手动运行这个命令也是让人很不爽的。

网上搜索Mac Startup,大部分是说这个路径,还有说利用系统偏好设置的。但是都不好用。

发现StartupItems路径下还有一个MySQL的文件夹,于是到SOF去搜索。虽然iNode的用户不多,但是用MySQL的可是一堆一堆的啊,照猫画虎也成啊。

以“Yosemite MySQL”为关键词搜索,得到不少答案如这里这里。至于为什么StartupItems不起作用,是因为

Deprecation Note: Startup items are a deprecated technology. Launching of daemons through this process may be removed or eliminated in a future release of OS X.

Unless your software requires compatibility with OS X v10.3 or earlier, use the
launchd
facility instead. For more information, see Creating
Launch Daemons and Agents.

——Startup Items

好了,在V2EX提问,L大 @Livid 给出了我一个链接: launchd.info。参照SOF上关于MySQL的设置方法,将Program的String指向了iNodeAuthService那个脚本,重启之后没有反应。

查看那个脚本,最重要的是下面几句:
IfExist=`ps -Ac -o command|grep -x AuthenMngService`
if [ "$IfExist" != "" ]
then
echo "AuthenMngService already running"
else
sudo /Applications/iNodeClient/AuthenMngService &
fi

IfExist=`ps -Ac -o command|grep -x iNodeMon`
if [ "$IfExist" = "" ]
then
sleep 5
sudo /Applications/iNodeClient/iNodeMon &
fi


意思是,启动/Applications/iNodeClient/AuthenMngService 和/Applications/iNodeClient/iNodeMon 。其中iNodeMon要延迟5s启动。

Mac下iNode的资料不多,但是Windows下的资料多啊。iNodeMon一看就知道是干什么的,而且在Windows下干掉也没有副作用。试了一下,AuthenMngService验证信息服务如果不启动,iNode是无法登陆的。也好,只写一个就好了。





其中,com.h3c.iNode是我自己根据域名倒转的规则起的名字。懒得动手的人点击这里

将plist文件保存到如下路径:





如果本身是通过sudo命令创建的话,不存在权限问题。如果不是,则需要手动将权限更改为 root:wheel 644权限:
sudo chown root:wheel /Library/LaunchDaemons/com.h3c.iNode.plist
sudo chmod 644 /Library/LaunchDaemons/com.h3c.iNode.plist


之后执行launchctl命令:
sudo launchctl load -w /Library/LaunchDaemons/com.h3c.iNode.plist


好了,重启一下使用 ps –Ac –o command |grep Authen 看看命令是否已经执行:





AuthenMngService 服务已经启动了。可以把 /Library 下的 StartupItems 删除了,因为 Yosemite 已经不再使用 Startup Items 了。

现在可以打开 iNode 客户端正常上网了。

原文地址:http://delbert.me/archives/701.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: