Mac OS X-Terminal.appを起動できませんでした-シェルに無効な値があります


16

タイムマシンからシステムをロールバックした後、Terminal.appを実行できません。

Mac OS Xバージョン10.6.2

次のエラーが表示されます。「このアプリケーションを実行する権限がありません」「管理者がシェルを不正な値に設定しました」

その後、ファイル〜/ Library / Preferences / com.apple.Terminal.plistを削除しました

ただし、同じメッセージが表示されます。

DiskUtilityを使用してすべてのシステム権限を修復しましたが、助けにはなりませんでした。

回答:


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にはさらに手順が必要です。空のシェルファイルを削除し、情報ダイアログで権限を変更します。)

これで、/bin/bashもう一度Terminal.appを起動できます。


マシン上のローカル管理者アカウントからも見ることができますが(私のメインアカウントは企業ドメインアカウントです)、何らかの理由で私のアカウントが/ etc / binフォルダーを見ることができないこともわかりました。adminアカウントからCHMODを使用して/ etc / binディレクトリへのアクセスを変更することについて考えました。
-ScottCher

この質問に対する(または別の)回答を受け入れることを検討してください。
ダニエルベック

5

Time Machineの復元後も同じ問題が発生しました。この場合、MacBook Proからのバックアップを使用してMacBookに復元します。

Finderを使用するだけで問題を解決できました(要求されるたびにパスワードを入力してください):

  • 「移動」>「フォルダーへ移動」を使用して「/ private」に移動します
  • 「etc」を選択します
  • Command-Iを押して情報ポップアップを表示します(この手順が終了するまで再び閉じないでください)
  • 権限のロックを解除するには、右下隅のロック記号をクリックします
  • 「全員」の許可設定をメモします
  • 「全員」の権限設定をクリックし、「読み取りと書き込み」を選択します
  • 「移動」>「フォルダーに移動」を使用して「/ private / etc」に移動します
  • 「shells」は空であることがわかりましたが、シェルの良いリストを含む「shells〜orig」がありました
  • 「シェル」を削除
  • 「shells〜orig」を選択します
  • Command-C、Command-Vでコピーアンドペーストします。これは「shells〜orig copy」を作成します
  • 「shells〜orig copy」を選択します
  • もう一度クリックして名前変更モードに入り、「shells〜orig copy」の名前を「shells」に変更します
  • [情報]ポップアップに戻り、[全員]のアクセス許可設定を元の値に戻します
  • 情報ポップアップを閉じます

有効なシェルのリストを含む「シェル」ファイルができたので、ターミナルを再度開くことができました。


4

「システム環境設定」の「アカウント」パネルでアカウント名を右クリックし、「詳細オプション」を選択します。「ログインシェル」の値を変更します-/ bin / bashを使用しますが、インストールされているシェルは自由に使用できます。


4

同じ問題がありました。再起動は私のためのトリックをしました。Macでそれをしなければならないことに慣れていません:-P


私と同じ(Lionで)。他のアプリ(BBEditなど)が機能していたので、最初に再起動してみて、うまくいったと思いました。
ネヴァンキング

3

私もまったく同じ問題を抱えていました。シンプルなソリューション:

ディスクユーティリティで修復ディスクのアクセス許可を実行するだけです:-)。


3

システム環境設定を介してユーザーアカウントのパスワードを変更すると、これが修正されました(同じ値に変更したため、OSがユーザーアカウント情報をファイルに書き込むように強制したのでしょう)。Mac OS X 10.7.3を使用していますが、/ etc内のファイルは変更されていないようです。


2

私の場合、ティムケムからの回答を組み合わせることは役に立ちました。

私は、Timのアプローチを使用して、別のシェルを使用して端末を立ち上げました。次に、/ etc / shellsを編集して優先シェルを含め、「高度なオプション」で元のシェルパスを復元するために再度Timのアプローチを使用しました。


2

同じ問題がありました。何らかの理由でTime Machineが/private/etc/shells復元中に長さゼロのファイルになりました。chemmの答えはかなり良いのですが、私のようなMacの初心者向けのいくつかの手順を逃しています。

  • 取得/private/etcするには、Finderメニュー項目Go -> Go to Folderオプションを使用して入力する必要があります/private/etc
  • 次に、shellsファイルを見つけます。
  • ファイルを編集することはまったくできないため、削除しました。
  • 次に、タイムマシンを使用してそのファイルを復元しました。
  • Finderでタイムマシンに入ると、その/private/etcフォルダで起動します。
  • 復元したときに、Time Machineをそのフォルダーに移動する方法がわからなかった(フォルダーに移動するオプションが表示されなかった)ため、デスクトップに「シェル」を復元し、Finderを使用してファイルをコピー/貼り付けしました /private/etc

上記を実現するには、パスワードを数回入力する必要があります。管理者アカウントを使用する必要があると思います。


0

私にとっては、標準的な答えはどれも問題ではありませんでした-すべてがそのままでした。

Aquamacs(emacs)セッションを終了すると、問題が修正されました!Aquamacsを再起動したとき、ターミナルは引き続き正常に動作しました。

私はemacsシェルコマンドを使用していませんでしたが、どういうわけかこれらのアプリケーションは依然として不幸な方法で対話しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.