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?

È stato utile?

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ì.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top