Impossibile attivare Zsh installato da MacPorts
Domanda
Ho inserito Zsh senza successo installato da MacPorts come shell di accesso impostando il seguente percorso su Impostazioni
/opt/local/bin/zsh
L'ho messo anche nelle Opzioni avanzate negli account Utente. Ottengo il seguente errore alt text http://dl.getdropbox.com/u/175564/macportsError.png
Ho inserito il seguente percorso senza successo in Impostazioni
/opt/local/var/macports/software/zsh/4.2.7_0+mp_completion
Ricevo il seguente errore quando riavvio la shell
login: /opt/local/var/macports/software/zsh/4.2.7_0+mp_completion: Permission denied
[Process completed]
Come puoi attivare Zsh come shell di accesso?
Soluzione
Come dice Norbert, penso che la risposta sia in / etc / shells. Il mio ha questo:
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
Aggiungi / opt / local / bin / zsh
a quell'elenco e dovresti andare bene. Dovresti quindi essere in grado di cambiare la shell (individualmente per ogni utente) usando chsh
.
Altri suggerimenti
Hai inserito la shell in / etc / shells. Sembra che Mac OS gestisca le shell valide. Non posso dirlo esattamente perché non sono su Mac
So che questa domanda è stata contrassegnata come risposta, ma
/opt/local/var/macports/software/zsh/4.2.7_0+mp_completion
non è nemmeno un file eseguibile in macports. Ecco perché hai ricevuto l'errore. Le shell devono essere eseguibili.
Volevi impostare la shell su / opt / local / bin / zsh.
Questo ha funzionato per me sia nel leopardo che nel leopardo delle nevi. OSX in realtà non utilizza / etc per la gestione della configurazione, utilizza NetInfo (Leopard) e ora utilizza Directory Services (Snow Leopard). Volevi impostarlo facendo clic destro sul tuo utente in Preferenze di Sistema > Account, (S.L.) o utilizzando Netinfo Manager (Leopard)
EDIT:
Snow Leopard: sudo dscl. -create / Users / chiggsy UserShell / opt / local / bin / zsh
(crea crea o aggiorna)
EDIT: per favore, immaginami coperto di vergogna puzzolente e puzzolente. Sto usando iTerm e il cambio della shell nel mio account ha funzionato perfettamente. In Terminal ho ottenuto lo stesso risultato dell'OP e l'ho risolto modificando / etc / shells. Ora, mi sembra che non dovrei essere in grado di aggirare la restrizione / etc / shells semplicemente usando un terminale di terze parti, ma sembra che sia così.