zoukankan      html  css  js  c++  java
  • MacOS中创建Sublime Text3快捷方式返回Operation not permitted的原因及解决

     

    在类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

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

  • 相关阅读:
    UVA 125 Numbering Paths
    UVA 515 King
    UVA 558 Wormholes
    UVA 10801 Lift Hopping
    UVA 10896 Sending Email
    SGU 488 Dales and Hills
    HDU 3397 Sequence operation
    数据库管理工具navicat的使用
    javascript封装animate动画
    关于webpack没有全局安装下的启动命令
  • 原文地址:https://www.cnblogs.com/brady-wang/p/11616759.html
Copyright © 2011-2022 走看看