使用另一个服务中的崇高文本 3 CLI 打开一个新窗口会创建一个临时文件



我一直在设置一个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 能够继续处理。

相关内容

最新更新