Mac OS X - Tidak dapat memulai Terminal.app - shell memiliki nilai ilegal

16

Saya tidak dapat menjalankan Terminal.app setelah memutar kembali sistem saya dari mesin waktu.

Mac OS X Versi 10.6.2

Ini menampilkan kesalahan berikut. "Anda tidak berwenang menjalankan aplikasi ini" "Administrator telah menetapkan shell Anda ke nilai ilegal"

Setelah itu saya menghapus file ~ / Library / Preferences / com.apple.Terminal.plist

Tetapi pesan yang sama ditampilkan.

Saya telah memperbaiki semua hak sistem dengan DiskUtility tetapi itu tidak membantu.

chemm
sumber

Jawaban:

10

Rebooting adalah jawabannya di OS X Lion. Jika Anda kehilangan kemampuan untuk menulis ke USB atau drive jaringan, solusinya sama.

Saya berharap untuk beberapa pembaruan cepat untuk menyingkirkan beberapa masalah yang mengganggu ini.

Rune Smistad
sumber
10

Nilai ini diatur ke /bin/bash. Tidak ada yang berubah di sini. Saya telah mengendalikan preferensi ini. Saya mendapatkan kesalahan ini untuk setiap shell.

Akhirnya saya menemukan solusinya. Di Finder saya buka folder /etc. Di sana saya menemukan file /private/etc/shells, yang kosong. Saya mengganti file /private/etc/shellsdengan file cadangan /private/etc/shells~orig.

Sekarang / private / etc / shells berisi yang berikut:

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

(Ada lebih banyak langkah yang diperlukan dalam Finder, menghapus file shell kosong, mengubah izin dalam dialog informasi.)

Sekarang saya dapat memulai Terminal.app dengan /bin/bashlagi.

chemm
sumber
Saya menemukan bahwa akun saya bahkan tidak dapat melihat folder / etc / bin untuk beberapa alasan meskipun saya dapat melihatnya dari akun admin lokal juga di mesin (akun utama saya adalah akun domain perusahaan). Berpikir tentang menggunakan CHMOD dari akun admin untuk mengubah akses ke direktori / etc / bin.
ScottCher
Pertimbangkan untuk menerima (atau yang lain) jawaban Anda untuk pertanyaan ini.
Daniel Beck
5

Saya memiliki masalah yang sama setelah pengembalian Time Machine, dalam hal ini, menggunakan cadangan dari MacBook Pro untuk memulihkan ke MacBook.

Saya dapat menyelesaikan masalah hanya menggunakan Finder (masukkan kata sandi Anda setiap kali diminta):

  • Gunakan Go> Go to Folder untuk membuka "/ private"
  • Pilih "dll"
  • Command-I untuk membuka pop-up Informasi (jangan tutup lagi sampai akhir prosedur ini)
  • Klik simbol kunci di sudut kanan bawah untuk membuka kunci izin
  • Catat pengaturan izin untuk "Semua Orang"
  • Klik pengaturan izin untuk "Semua Orang" dan pilih "Baca & Tulis"
  • Gunakan Go> Go to Folder untuk membuka "/ private / etc"
  • Saya menemukan bahwa "kerang" kosong, tetapi ada "kerang ~ orig" dengan daftar kerang yang baik di dalamnya
  • Hapus "kerang"
  • Pilih "kerang ~ orig"
  • Command-C, Command-V untuk menyalin dan menempelnya; ini menciptakan "kerang ~ salinan asli"
  • Pilih "kerang ~ salinan asli
  • Klik lagi untuk masuk ke mode rename dan ubah nama "shell ~ orig copy" menjadi "shells"
  • Kembali ke pop-up Informasi dan ubah pengaturan izin untuk "Semua Orang" kembali ke nilai aslinya
  • Tutup sembulan Informasi

Sekarang saya memiliki file "kerang" dengan daftar kerang yang valid, saya dapat membuka Terminal lagi.

Lindsay
sumber
4

Klik kanan nama akun Anda di panel Akun Preferensi Sistem dan pilih Opsi Tingkat Lanjut. Ubah nilai untuk "Login shell" - Saya menggunakan / bin / bash, tetapi Anda bebas untuk menggunakan shell yang diinstal.

Tim
sumber
4

Saya memiliki masalah yang sama; reboot melakukan trik untuk saya. Tidak terbiasa harus melakukan itu pada Mac :-P

atraudes
sumber
Sama dengan saya (di Singa). Aplikasi lain sedang beraksi (seperti BBEdit) jadi saya pikir saya akan mencoba restart dulu dan itu berhasil.
raja nevan
3

Saya juga memiliki masalah yang sama persis. Solusi sederhana:

Cukup jalankan Izin Perbaikan Disk dengan Disk Utility :-).

hobbes3
sumber
3

Mengubah kata sandi akun pengguna saya melalui System Preferences memperbaiki ini untuk saya (saya mengubahnya ke nilai yang sama, yang mungkin hanya memaksa OS untuk menulis beberapa info akun pengguna ke file). Saya menggunakan Mac OS X 10.7.3 dan tidak ada file di / etc yang tampaknya telah diubah.

Adam Nohejl
sumber
2

Menggabungkan jawaban dari Tim dan chemm berguna dalam kasus saya.

Saya menggunakan pendekatan Tim untuk membuka terminal menggunakan shell yang berbeda. Saya kemudian mengedit / etc / shell untuk memasukkan shell yang disukai dan kemudian menggunakan pendekatan Tim lagi untuk mengembalikan path shell asli di "Opsi Lanjutan".

jujur
sumber
2

Saya memiliki masalah yang sama. Time Machine karena suatu alasan berubah /private/etc/shellsmenjadi file dengan panjang nol selama pemulihan saya. jawaban chemm cukup bagus, tetapi melewatkan beberapa langkah untuk noobies Mac seperti saya.

  • Untuk mencapai /private/etcAnda perlu menggunakan Go -> Go to Folderopsi dan jenis item menu Finder/private/etc
  • Kemudian cari file shells.
  • Itu tidak memungkinkan saya untuk mengedit file sama sekali, jadi saya menghapusnya.
  • Lalu saya menggunakan mesin waktu untuk mengembalikan file itu.
  • Jika Anda memasukkan mesin waktu saat berada di Finder, itu akan memulai Anda dalam /private/etcfolder itu.
  • Ketika saya mengembalikannya, saya tidak tahu cara mengarahkan Time Machine ke folder itu (tidak melihat opsi buka folder), jadi saya mengembalikan "kerang" ke desktop saya dan kemudian menggunakan Finder untuk menyalin / menempelkan file ke /private/etc

Anda harus memberikan kata sandi beberapa kali untuk mencapai hal di atas, dan saya kira Anda harus menggunakan akun administrator.

pengguna33466
sumber
0

Bagi saya, tidak ada jawaban standar yang menjadi masalah - semuanya seperti apa adanya.

Berhenti dari sesi Aquamac (emacs) saya telah memperbaiki masalahnya! Ketika saya me-restart Aquamacs, Terminal terus bekerja dengan baik.

Saya TIDAK pernah menggunakan perintah shell emacs, tetapi entah bagaimana aplikasi ini masih berinteraksi dengan cara yang tidak menguntungkan.

Howard Nebeck
sumber