Domanda Come imposto il fish come shell di default?


C'è un modo per impostare il pesce come shell di default nel remix di ubuntu netbook? Ho inserito il mio .bashrc per eseguire fish, che funziona bene, ma Ubuntu lo riconosce come pesce in esecuzione all'interno di bash, il che significa che quando provo a chiudere la shell mi avverte che un'attività è ancora in esecuzione.

Non appare come una nuova applicazione, quindi non posso inserirlo nella mia barra come una normale app.


94
2018-02-15 02:35


origine


Dalle FAQ ufficiali: Come faccio a rendere la mia shell di default? - Dennis


risposte:


È possibile impostare il pesce come shell predefinita eseguendo

chsh -s `which fish`

Per farlo per un altro utente, basta aggiungere il nome utente alla fine del comando e utilizzare sudo.

Quindi disconnettiti e torna indietro.

(Per riportarlo a bash, è necessario utilizzare la sintassi di Fish, ovviamente, in questo modo chsh -s (which bash))


131
2018-02-15 02:58



Questo non sembra funzionare per me. Non dà un errore, ma non sembra funzionare, anche se apro solo una nuova scheda. qualche idea? - Xodarap
Potrebbe essere necessario disconnettersi e tornare indietro - Ho appena provato su una macchina virtuale pulita e ha funzionato. - ajmitch
Come lo rimetti? - knutole
Dovrebbe essere chsh -s /bin/bash. - lindhe
Non eseguire questo comando accidentalmente sudo o cambierai invece la shell di root. - Stephen Niedzielski


usermod -s /usr/bin/fish username

Deve essere eseguito come root però.

Questo cambierà la shell in modo permanente per l'utente specificato.


28
2018-02-15 09:12



So che non è Ubuntu, ma volevo commentare: ero su CentOS, e stavo ottenendo un Authentication Failed errore nel tentativo di cambiare la shell con un utente non-root e dopo una ricerca estesa per cercare di capirlo, questa era l'unica cosa che funzionava. Grazie! - CWSpear
Sì, funzionerà con la maggior parte dei sapori unix che hanno usermod e pesce per una shell, o cambierà la shell con qualsiasi gusto tu voglia - sweetfa
L'ho fatto e ora il terminale non parte più. Viene visualizzato il messaggio "Errore durante la creazione del processo figlio per questo terminale", "Impossibile eseguire il processo figlio" / usr / bin / fish "(errore di input / output)". Come posso annullare quello? - Patrick
Emetti lo stesso comando di root ma usa bash invece di fish come shell. - sweetfa


Ho appena aggiunto la linea fish alla fine del mio .bashrc.


14
2018-01-08 16:08



Questa è la soluzione più semplice e migliore, IMO;) - Ben Marten
Ci dispiace, ma non è efficiente. :) Caricherà la tua conchiglia di pesce, ma in cima alla tua bash in esecuzione. - M. Junaid Salaat
Perché bash deve essere efficiente? @ M.JunaidSalaat - codenamejames
A prima vista sembra un trucco sporco, ma dopo un po 'di utilizzo del mio pc con fish set come shell di default con chsh sono tornato a questa soluzione. Alcuni programmi presumono che stai usando bash e si bloccherà a causa dell'uso della sintassi di bash sul pesce. Finora ho affrontato tali problemi in i3wm e MATLAB. - Naheel


Sono d'accordo con il chsh è la risposta corretta. Però:

Se corri chsh e ottieni un errore

/usr/local/bin/fish: non-standard shell

semplicemente aggiungi la posizione binaria del pesce a /etc/shells.

Trovato Qui.


12
2018-06-06 16:17





In /etc/shells, Inserisci /usr/local/bin/fish:

# 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
/usr/local/bin/fish

Poi chsh -s /usr/local/bin/fish.


0
2018-04-16 14:18