0

我一直在设置一个 Karabiner (Launcher Mode) 快捷方式来打开一个新的 Sublime Text 窗口。

通常我subl -n从终端窗口调用以调出一个新的崇高窗口。Karabiner 允许您将 shell 脚本指定为运行的快捷方式,所以我尝试了/usr/local/bin/subl -n

它可以工作,但是,虽然subl -n从终端窗口(或/usr/local/bin/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

4

1 回答 1

0

我没有使用那个特定的软件(Karabiner)但是它可能正在打开一个临时文件,因为正在启动命令的用户(Karabiner)没有访问默认路径来存储临时文件,它创建一个独特的目录中命名的文件/tmp。您可以尝试添加以下su -u "your user without quotes" -c /use/local/bin/subl -n. 至于 (Karabiner) 的锁定,这很可能是由于 Karabiner 的内部结构以及它如何打开 subl 二进制文件的子进程以及停留在前台的崇高性质。&您可以在命令末尾尝试 a将其发送到后台,让 Karabiner 能够继续处理。

于 2016-11-29T06:34:55.037 回答