我已经设置了一个Karabiner (启动器模式)快捷方式来打开一个新的Sublime文本窗口。
通常,我会从终端窗口调用subl -n来打开一个新的超凡窗口。Karabiner允许您将shell脚本指定为要运行的快捷方式,因此我尝试了/usr/local/bin/subl -n
它是有效的,但是,从终端窗口(或/usr/local/bin/subl -n)调用subl -n会打开一个带有“空白”文件的新窗口,而通过Karabiner调用它会在新窗口中打开一个位于tmp/subl stdin YEd3Bc.txt (YEd3Bc是六个随机数字/数字)的临时文件
它还会阻止Karabiner启动其他任何程序,直到您关闭窗口,就好像我调用了subl -n -w "tmp/subl stdin YEd3Bc.txt"一样
我认为这是Karabiner的问题,并试图通过使用自动化和Applescript为shell脚本创建包装器来解决这个问题,但它们都有相同的问题,在/tmp/subl stdin random.txt打开临时文件
发布于 2016-11-29 14:34:55
我没有使用过那个特定的软件(Karabiner),但是它可能会打开一个临时文件,因为启动命令的用户(Karabiner)不能访问默认路径来存储临时文件,它会在/tmp目录中创建一个唯一的命名文件。您可以尝试添加以下su -u "your user without quotes" -c /use/local/bin/subl -n。至于( Karabiner )的锁定,这很可能是因为Karabiner的内部结构,以及它如何向subl二进制打开一个子进程,以及保持在前台的升华性质。您可以尝试在命令末尾使用&将其发送到后台,从而使Karabiner能够继续处理。
https://stackoverflow.com/questions/40859141
复制相似问题