MacOS中创建Sublime Text3快捷方式返回Operation not permitted的原因及解决

2016-10-18 07:58:52来源:CSDN作者:mydo人点击

在类Unix系统中我们可以很随心的添加一些程序在终端里快捷方法,比如将一些常用的工具放在/usr/bin下面

Sublime Text3是一个小巧精致而又功能强大的程序,而且本猫也安装了Swift语言的语法包,对于一些天马行空一闪而过的的创意再也不用动用Xcode了.所幸的是在Sublime Text的程序包中作者早就添加了终端支持,其相对目录为:

Contents/SharedSupport/bin/subl

我们只要将该文件做一个软连接到/usr/bin里就可以实现对任何文件快速用sublime text打开了.指令如下:

ln -s "/Applications/Sublime Text 3.app/Contents/SharedSupport/bin/subl" /usr/bin/subl

可是结果却是:操作不被允许:

ln: /usr/bin/subl: Operation not permitted

使用管理员sudo命令,依旧失败!

原来MacOS 10.11开始apple引入了Rootless机制,你再也不能随心所欲的改写很多关键路径了,就算你是Root用户也不行,除非是Apple自身签名的软件(含命令行工具)才可以!用Apple的话来说:

Rootless机制将成为对抗恶意程序的最后防线

有兴趣的童鞋可以参考下面的链接:

在 OS X 10.11 中引入的 Rootless 是如何实现的?有什么优势与缺陷?

Mac OS X 11中的/usr/bin 的“Operation not permitted”

如果要关闭Rootless必须重启Mac进入恢复模式,然而关闭它意味着你的MacOS安全大门变得有些薄弱,这并不是什么好消息!!!!!

那么有没有什么办法即可以不用关闭Rootless又可以设置Sublime Text3的快捷方式呢!?

答案是:必须的!!!

我们只需要将其路径添加到/usr/local/bin下即可,Rootless并没有限制该目录的修改,而且bash也会从该目录中寻找可执行的bin!YES!!!

问题得以完美解决!以后打开任何swift文件,我们只需要在终端的任意路径中敲:

subl xxx.swift

即可!骚年,你值得拥有!!! ;)

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台