恢复MacOS默认终端 - MacOS restore default terminal application
- 阴的没边了,默认应用没法直接 GUI 改
Why
其实是用 Ghostty 的时候把默认终端改成了它,想改回去发现在设置里没有
How
其实 Ghostty 这个修改是改两项,一项是
public.shell-script 对应 .sh
文件的默认打开应用,另一项是
public.unix-executable,需要查看的话只需要
1 | /usr/bin/swift -e 'import CoreServices; import Foundation; let h = LSCopyDefaultRoleHandlerForContentType("public.unix-executable" as CFString, .all); if let r = h { print(r.takeRetainedValue() as NSString) } else { print("unknown") }' |
以及
1 | /usr/bin/swift -e 'import CoreServices; import Foundation; let h = LSCopyDefaultRoleHandlerForContentType("public.shell-script" as CFString, .all); if let r = h { print(r.takeRetainedValue() as NSString) } else { print("unknown") }' |
然后将其改回去,只需要
1 | /usr/bin/swift -e 'import CoreServices; let s = LSSetDefaultRoleHandlerForContentType("public.unix-executable" as! CFString, .all, "com.apple.Terminal" as! CFString); print(s == 0 ? "Success" : "Error: \(s)")' |
这个会给交互式弹窗,选择 Terminal.app 就行了,以及
1 | /usr/bin/swift -e 'import CoreServices; let s = LSSetDefaultRoleHandlerForContentType("public.shell-script" as! CFString, .all, "com.apple.Terminal" as! CFString); print(s == 0 ? "Success" : "Error: \(s)")' |