Mac OS X - 无法启动 Terminal.app - shell 具有非法值

Mac OS X - 无法启动 Terminal.app - shell 具有非法值

从时间机器回滚系统后,我无法运行 Terminal.app。

Mac OS X 版本 10.6.2

它显示以下错误。“您无权运行此应用程序”,“管理员已将您的 shell 设置为非法值”

之后我删除了文件 ~/Library/Preferences/com.apple.Terminal.plist

但显示的是相同的消息。

我已经使用 DiskUtility 修复了所有系统权限,但这没有帮助。

答案1

在 OS X Lion 中,答案是重新启动。如果您无法写入 USB 或网络驱动器,解决方案也是一样的。

我希望能够快速更新以解决一些令人烦恼的问题。

答案2

此值设置为/bin/bash。这里无需更改。我已控制这些首选项。我在每个 shell 上都会收到此错误。

最后我找到了解决方案。在 Finder 中,我打开文件夹/etc。在那里我找到了一个文件/private/etc/shells,它是空的。我/private/etc/shells用备份文件替换了该文件/private/etc/shells~orig

现在 /private/etc/shells 包含以下内容:

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

(Finder 中需要更多步骤,删除空 shell 文件,在信息对话框中更改权限。)

现在我可以再次启动 Terminal.app /bin/bash

答案3

我在 Time Machine 恢复后遇到了同样的问题,在这种情况下,使用 MacBook Pro 的备份恢复到 MacBook。

我仅使用 Finder 即可解决问题(每次请求时输入密码):

  • 使用“前往”>“前往文件夹”前往“/private”
  • 选择“等”
  • Command-I 调出信息弹出窗口(在此过程结束前不要再次关闭它)
  • 点击右下角的锁符号解锁权限
  • 记下“所有人”的权限设置
  • 点击“所有人”的权限设置,并选择“读写”
  • 使用“前往”>“前往文件夹”前往“/private/etc”
  • 我发现“shells”是空的,但是有一个“shells~orig”,里面有一个很好的 shell 列表
  • 删除“shell”
  • 选择“shells~orig”
  • Command-C、Command-V 复制并粘贴;这将创建“shells~orig copy”
  • 选择“shells~orig copy
  • 再次点击进入重命名模式,将“shells~orig copy”的名称更改为“shells”
  • 返回信息弹出窗口并将“所有人”的权限设置改回其原始值
  • 关闭信息弹出窗口

现在我有一个包含有效 shell 列表的“shells”文件,我可以再次打开终端了。

答案4

我也遇到了同样的问题;重启一下就好了。在 Mac 上不习惯这么做 :-P

相关内容