I caratteri non echo nel terminale OS X a meno che non premo il tasto Canc

3

Come dice il titolo, quando apro il terminale per digitare un comando, non riesco a vedere cosa sto scrivendo, è come se il terminale fosse congelato. Posso ancora eseguire comandi quando torno a tornare, non riesco a vedere cosa sto scrivendo.

La parte strana è che quando premo il tasto Canc, sono improvvisamente in grado di vedere cosa sto scrivendo, e il terminale funziona normalmente finché non eseguo il comando.

Inoltre, quando premo cancella l'intestazione nella parte superiore della finestra del terminale cambia da:

nome - bash - 80x24

a:

nome - 37m - bash - 80x24

Qualsiasi aiuto sarebbe molto apprezzato. Grazie

modifica: Grazie per tutto l'aiuto, ho provato alcuni dei suggerimenti. La creazione di un nuovo account Admin e il terminale di apertura sembravano fare il trucco; Posso digitare il terminale in questo nuovo account senza premere elimina. Qualche idea per il mio account principale?

Ecco cosa ottengo quando corro: / usr / bin / env

$ / usr / bin / env
TERM_PROGRAM = Apple_Terminal
SHELL = / bin / bash
TERM = xterm-256color
TMPDIR = / var / cartelle / h5 / rp872k9n0zq2lkl0kbbykjx00000gn / T /
Apple_PubSub_Socket_Render = / tmp / lanciare-KfwCn3 / Render
TERM_PROGRAM_VERSION = 326
TERM_SESSION_ID = F81718AA-A3FC-4FB9-9FF4-00037406DBAF
USER = derekbogdanoff
SSH_AUTH_SOCK = / tmp / lancio-qQfC1a / ascoltatori
__CF_USER_TEXT_ENCODING = 0x1F5: 0: 0
PATH = / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin
__CHECKFIX1436934 = 1
PWD = / Users / derekbogdanoff
LANG = en_CA.UTF-8
PS1 = $ [\ 033] 0; 37m]
SHLVL = 1
Home = / Users / derekbogdanoff
LOGNAME = derekbogdanoff
_ = / usr / bin / env

    
posta user3749625 19.06.2014 - 05:45
fonte

2 risposte

2

La tua richiesta è incasinata, in particolare PS1:

PS1=$[3]0;37m]

mancano un sacco di caratteri di escape ( \e[ ) necessari per i colori (e i parametri più utili per una PS1). Questo è anche il motivo per cui ottieni 37m nel titolo della finestra terminale. Prova a impostarlo su qualcosa di diverso eseguendo:

export PS1="\e[0;31m[\h:\W \u]\$\e[m "

e vedi se funziona. Dovrebbe dare un prompt rosso (thats \e[0;31m ) che mostra il nome host ( \h ), la directory di lavoro corrente ( \W ) e l'utente registrato ( \u ) tra parentesi [] e lo stato di uscita bash del precedente comando ( \$ ). Nota che alla fine il colore viene ripristinato al valore predefinito della sessione con \e[m .

Se quanto sopra ha funzionato, devi solo scoprire da quale file di configurazione proviene il tuo PS1 "cattivo": cerca una riga " export PS1= " in ~/.profile , ~/.bash_profile , ~/.bashrc , (come MK ha già suggerito in la sua risposta ) e inserito la versione precedente.

Ci sono molte risposte qui intorno con codici colore utili e input per la configurazione della PS1, come questo per esempio.

    
risposta data 19.06.2014 - 23:23
fonte
1

In primo luogo, guarda le preferenze di Terminale ( Cmd + , ) per le impostazioni di font, testo e colore e modificale in modo appropriato. Questo potrebbe non essere il problema, ma potrebbe semplificare la risoluzione dei problemi.

Può darsi che tu abbia qualche script di profilo che cambia i colori. All'interno di Terminal.app , digitare il seguente comando per avviare bash su una lavagna pulita (senza eseguire script di profilo):

bash --noprofile --norc

Se non affronti più il problema di visibilità del testo, controlla tutti gli script del profilo (alcuni potrebbero non essere presenti) come /etc/profile , ~/.profile , ~/.bash_profile , ~/.bashrc , cerca eventuali sequenze di escape ANSI e rimuovi quelli.

    
risposta data 19.06.2014 - 07:01
fonte

Leggi altre domande sui tag