我想将iTerm2而不是terminal.app设置为默认终端。
例如,使用Go2Shell可以在Finder中打开一个指向当前目录的终端。我想让我能够使用terminal.app的iterm2 instad。
我没有在官方文档中找到任何答案。
谢谢你的帮助。
更新:ShellTo是Go2Shell的绝佳替代品,并支持iTerm2
我想将iTerm2而不是terminal.app设置为默认终端。
例如,使用Go2Shell可以在Finder中打开一个指向当前目录的终端。我想让我能够使用terminal.app的iterm2 instad。
我没有在官方文档中找到任何答案。
谢谢你的帮助。
更新:ShellTo是Go2Shell的绝佳替代品,并支持iTerm2
Answers:
Terminal.app
宣布自己的处理程序ssh
,telnet
以及x-man-page
URL方案。
它还将文件扩展名.term
(会话),.terminal
(设置).tool
和.command
(脚本)及其自身注册为这些文件的编辑器/查看器。
除此之外,OS X中没有默认终端。它只是一个可以处理URL方案和文件类型的应用程序。
除Terminal.app特定于.term
/ 以外,iTerm能够处理所有这些内容.terminal
。
对于文件类型,只需打开“ 获取信息”对话框,然后将所有此类文件与iTerm关联。对于URL方案,您可以下载并安装首选项窗格“ 默认应用”,然后在此处更改关联。您也可以将其用作更改文件类型关联的替代方法。
所有这些设置都是用户特定的,并存储在中~/Library/Preferences/com.apple.LaunchServices.plist
。您当然可以自己在合适的编辑器中进行编辑。这很简单。的Xcode 4的屏幕截图示出了改变的结果x-man-page
在默认应用偏好窗格:
Terminal.app还为其他应用程序提供以下服务:
与Terminal.app的关联是硬编码的。您需要创建自己的服务,例如使用Automator和/或AppleScript替换它们。
如果Terminal通过其AppleScript API使用,则无法在所有情况下仅将其替换为iTerm,因为它们的API完全不同。这通常需要对执行此操作的程序或脚本进行实质性更改。
您应该能够iTerm.app
通过从菜单栏中选择“默认设置”来设置默认终端。
或者,您可以使用键盘快捷键。
⌃+ ⇧+ ⌘+\
如以上注释中所述,可以告诉Go2Shell使用iTerm2
要打开配置窗口,请按照以下步骤操作:
- 启动您喜欢的终端程序。
- 输入:open -a Go2Shell --args配置
- 按[返回]。
正如ma.ttias.be博客上所发现的那样,iTerm2可以将自己注册为某些常见URL方案的默认终端:您只需从iTerm偏好设置中检查当前配置文件“常规”选项卡最底部的相应方案即可。
提供现有答案的实用摘要:
macOS(OS X)不支持默认终端的概念。
iTerm2
本身在某种程度上误导了提供一个名为iTerm2 > Make iTerm2 Default Term
(如Halfcube的答案所示)的菜单项,但是唯一要做的是使Finder运行在iTerm2中从其打开的外壳脚本(更具体地说,它将shell
UTI 的角色分配public.unix-executable
给Finder)- 不是典型的用例。因此,应用程序必须单独配置为使用iTerm2而不是终端,如果他们支持:
Go2Shell
应用程序确实具有一个支持iTerm2(的配置对话框,但自OSX 10.11.6起open -a Go2Shell -- config
,该应用程序似乎根本无法工作(从v2.23起单击工具栏按钮,这是唯一的即使单击,也不会出现配置对话框Install Go2Shell to Finder
。ShellTo
- 原则上也支持iTerm2 ,但是截至本文撰写时,尚不支持当前版本v3 +。您可以在终端应用程序运行后运行任何命令,因此为了运行iterm2而不是终端应用程序,您可以创建一个脚本,该脚本在每次打开终端时运行,此脚本应打开iterm并终止终端应用程序
创建脚本的步骤
复制以下命令并将其粘贴到脚本中
#! /bin/bash
open -a iTerm.app
killall Terminal
保存文件
Chmod 755 /应用程序/run_iterm.sh
现在我们的脚本已经准备好了,最后一步是每次打开终端应用程序时运行它。运行终端转到首选项->常规->使用->选择命令“完整路径”打开shell并粘贴/Applications/./run_iterm。在教科书内最后关闭终端应用程序,然后再次运行它, 在此处输入图像描述