我一直在设置一个Karabiner(启动器模式)快捷方式来打开一个新的Sublime Text窗口。
通常,我从终端窗口调用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 的问题,并试图通过使用 Automator 和 Applescript 为 shell 脚本创建包装器来解决它,但它们都有相同的问题,在/tmp/subl stdin random.txt
我没有使用过那个特定的软件(Karabiner),但是由于启动命令的用户(Karabiner)无法访问默认路径来存储临时文件,它可能会打开一个临时文件,它在/tmp
目录中创建一个唯一的命名文件。您可以尝试添加以下su -u "your user without quotes" -c /use/local/bin/subl -n
。至于(Karabiner)的锁定,这很可能是由于Karabiner的内部结构以及它如何向subl二进制打开子进程以及保持在前台的崇高性质。您可以在命令末尾尝试&
将其发送到后台,从而使 Karabiner 能够继续处理。