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

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

原文:https://blog.csdn.net/mydo/article/details/52815749

原文地址:https://www.cnblogs.com/php-linux/p/11616759.html

时间: 2024-10-06 00:02:09

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

ffmpeg Operation not permitted 报错的解决过程记录

问题重现 由于视频的录制过程出现了一些小问题,需要重新将视频文件切割和合并,找了几个视频编辑软件来做这个事情,最终的结果都不是特别满意,当时已经挺晚的了,本来打算上床睡觉第二天再去想辙,从椅子上起身的时候忽然想到了 ffmpeg 这个工具,挺久之前在工作中用它做了一个视频切割相关的功能,于是赶紧把它安装和配置好,视频切割的时候倒还顺利,在进行视频合并的时候出现了题目中的这个问题: Operation not permitted 我把当时的相关文件都放在这里,如下图所示: 我需要把图中 27-en

Struts2中使用execAndWait后,在 Action中调用getXXX()方法报告java.lang.NullPointerException异常的原因和解决方法

使用 Struts2 编写页面,遇到一个要长时间运行的接口,因此增加了一个execAndWait ,结果在 Action 中调用 getContext()的时候报告异常 1 ActionContext context = ActionContext.getContext(); 2 ServletContext servletContext = (ServletContext) context.get(ServletActionContext.SERVLET_CONTEXT); //抛空指针异常

sublime text3编译C/C++系统提示丢失zlib1.dll解决办法

用g++ 编译C/C++程序时 出现如下系统提示: 解决办法如下: 1.下载zlib1.dll: http://www.pc6.com/softview/SoftView_81060.html 2.解压后放到系统目录中 32位系统:放到C:\Windows\System32\(此处为系统目录) 64位系统:放到C:\Windows\SysWOW64\ 3.然后win+R,输入cmd,编译C/C++,编译通过,如下图 在sublime text3中新建编译配置文件myC++.sublime-bul

Sublime Text3快捷方式与使用技巧

Sublime Text 3 快捷键精华版 Ctrl+Shift+P:  打开命令面板Ctrl+P:  搜索项目中的文件Ctrl+G: 跳转到第几行Ctrl+W: 关闭当前打开文件Ctrl+Shift+W: 关闭所有打开文件Ctrl+Shift+V: 粘贴并格式化Ctrl+D: 选择单词,重复可增加选择下一个相同的单词Ctrl+L: 选择行,重复可依次增加选择下一行Ctrl+Shift+L:  选择多行Ctrl+Shift+Enter:在当前行前插入新行Ctrl+X: 删除当前行Ctrl+M:

在Mac OS终端的Terminal 中使用Sublime Text3

查看环境变量: $ echo $PATH $ /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 创建软链接: $ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl OS X Command Line

Sublime text3 快捷方式(windows平台)

1.Goto Anything-快速查找(ctrl + P)   输入@+函数名可以快速找到函数 输入#+文本可以快速进行文件内文本匹配 2.命令模式 Ctrl+Shift+P:打开命令面板    Ctrl+P:搜索项目中的文件   Ctrl+W:关闭当前打开文件  Ctrl+Shift+W:关闭所有打开文件 Ctrl+Shift+V:粘贴并保持格式不变   Ctrl+D:选择单词,重复可增加选择下一个相同的单词 Ctrl+L:选择行,重复可依次增加选择下一行   Ctrl+Shift+L:选择

php json_encode中提示的中文总是返回"\u767b\u5f55\u6210\u529f\uff01"的解决办法

最近在练习使用 php 写一些简单的接口,但是在返回的消息中,如果有中文,在测试后总是返回: {"resultCode":200,"message":"\u767b\u5f55\u6210\u529f\uff01","data":{"user_id":"29","user_phone":"13918145846","user_name&q

hive中创建子表并插入数据过程初始化MR报错解决方法

本文继成上一篇通过hive分析nginx日志文章,详情参考下面链接: http://www.cnblogs.com/wcwen1990/p/7066230.html 接着来: 创建业务子表: drop table if exists chavin.nginx_access_log_comm; create table if not exists chavin.nginx_access_log_comm( host STRING, time STRING, request STRING, refe

sublime text3 报please wait a bit while pyV8 binary解决

使用Sublime_text_3,并安装了Emment插件,结果使用的时候报了please wait a bit while pyV8 binary is being downloaded,查找了一些资料,结果发现是PyV8的问题. 去gihub下载 PyV8,连接地址:https://github.com/emmetio/pyv8-binaries#readme 根据不同版本的sublime选择相应的版本下载,解压待用: 找到sublime的包目录(如C:\Users\Administrato