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


16

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

Mac OS X版本10.6.2

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

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

但是会显示相同的消息。

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

Answers:


10

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

我希望能够进行一些快速更新,以摆脱一些烦人的问题。


10

此值设置为/bin/bash。这里什么都没改变。我控制了这些首选项。我收到每个外壳此错误。

终于我找到了解决方案。在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文件,在信息对话框中更改权限。)

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


我发现我的帐户由于某种原因甚至无法看到/ etc / bin文件夹,尽管我也可以从计算机上的本地管理员帐户看到它们(我的主要帐户是公司域帐户)。考虑过从管理员帐户使用CHMOD更改对/ etc / bin目录的访问。
ScottCher 2011年

考虑接受您(或另一个)对这个问题的回答。
丹尼尔·贝克

5

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

我仅使用Finder就可以解决问题(每次要求输入密码):

  • 使用转到>转到文件夹转到“ /私人”
  • 选择“等”
  • Command-I弹出“信息”弹出窗口(在此过程结束之前,请不要再次关闭它)
  • 单击右下角的锁定符号以解锁权限
  • 记下“所有人”的权限设置
  • 单击“所有人”的权限设置,然后选择“读取和写入”
  • 使用“转到”>“转到文件夹”转到“ / private / etc”
  • 我发现“ shells”为空,但是其中有一个“ shells〜orig”,其中包含大量的shell
  • 删除“贝壳”
  • 选择“贝壳〜原始”
  • Command-C,Command-V复制并粘贴;这将创建“壳〜原始副本”
  • 选择“贝壳〜原版”
  • 再次单击以进入重命名模式,并将“ shells〜orig copy”的名称更改为“ shells”
  • 返回到信息弹出窗口,并将“每个人”的权限设置更改回其原始值
  • 关闭信息弹出窗口

现在,我有了一个带有有效shell列表的“ shells”文件,便可以再次打开Terminal。


4

在“系统偏好设置”的“帐户”窗格中右键单击您的帐户名称,然后选择“高级选项”。更改“登录外壳”的值-我使用/ bin / bash,但是您可以自由使用任何已安装的外壳。


4

我有同样的问题; 重新启动对我有用。不习惯在Mac上这样做:-P


和我一样(在Lion上)。其他应用程序正在运行(例如BBEdit),因此我认为我会先尝试重新启动,然后它才能正常工作。

3

我也有完全相同的问题。简单的解决方案:

只需使用Disk Utility :-)运行Repair Disk Permission。


3

通过“系统偏好设置”更改我的用户帐户密码对我来说已解决了这一问题(我将其更改为相同的值,这大概是迫使操作系统将一些用户帐户信息写入文件中)。我使用的是Mac OS X 10.7.3,/ etc中的文件似乎都没有更改。


2

结合蒂姆凯姆的回答 对我来说很有用。

我使用了Tim的方法来使用另一个Shell启动终端。然后,我编辑了/ etc / shells以包含首选的shell,然后再次使用Tim的方法在“高级选项”中还原了原始的shell路径。


2

我有同样的问题。/private/etc/shells在我的还原过程中,Time Machine由于某种原因变成了长度为零的文件。chemm的回答相当不错,但是对于像我这样的Mac新手来说却错过了一些步骤。

  • 为了达到目的,/private/etc您需要使用Finder菜单项Go -> Go to Folder选项并输入/private/etc
  • 然后找到外壳文件。
  • 它根本不允许我编辑文件,因此我删除了它。
  • 然后,我使用时间机器来还原该文件。
  • 如果您在Finder中输入时间机器,它将在该/private/etc文件夹中开始。
  • 还原时,我不知道如何将Time Machine定向到该文件夹​​(看不到转到文件夹选项),因此我将“外壳”还原到桌面,然后使用Finder将文件复制/粘贴到 /private/etc

您需要多次输入密码才能实现以上目的,并且我想您需要使用管理员帐户。


0

对我来说,标准答案都不是问题-一切都应按原样进行。

退出我的Aquamacs(emacs)会话可以解决该问题!当我重新启动Aquamacs时,终端继续正常运行。

我没有使用emacs shell命令,但是这些应用程序仍然以某种不幸的方式相互作用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.