Presumibilmente un buon metodo per cambiare la shell predefinita in Cygwin non funziona per me. Perché?


-1

Sto cercando di ottenere Cygwin (CYGWIN_NT-6.1 / 2.11.1 (0.329 / 5/3)) per iniziare tcshcome shell predefinita su Windows 7. Ho letto questa domanda e risposte lì ma ho avuto alcuni problemi con il metodo conio menzionato in questa risposta particolare :

Se avvii Cygwin con mintty , aggiungi la shell come parametro. mintty /usr/bin/zsh -

Questo è ciò che succede:

  • usando il trattino finale per invocare una shell interattiva (?), fa lampeggiare una finestra e scompare di nuovo (anche se non uso -l)
  • mintty /bin/tcshsenza il trattino finale o -l, viene aperta una finestra della shell Cygwin, ma molti comandi incorporati generano "errore irreversibile - viene rilevata la mancata corrispondenza della base cygwin ...". Ho cercato e trovato una versione precedente di cygwin1.dll(in ConEmu / wsl) come indicato dal messaggio di errore, l'ho rinominata, ma invano - Continuo a ricevere lo stesso errore
  • mintty /bin/tcsh -lfornisce i risultati migliori, ma inizia con la home directory come Windows% USERPROFILE%. Ciò significa che ignora anche il mio .tcshrcnella mia home directory cygwin ( <CygwinDir>/home/<account>), ma stranamente, elabora .aliasesda lì. Stranamente, il punto sopra ( minttysenza trattino finale o -l) inizia nella directory home cygwin corretta.
  • Ho anche provato a modificare /etc/nsswitch.conf, come suggerito da una risposta diversa, ma questo non ha fatto differenza.
  • L'impostazione di Windows SHELL env var su /usr/bin/tcsh, come suggerito da un'altra risposta alla domanda di riferimento, ha funzionato all'avvio dal collegamento sul desktop, ma non credo sia il modo "corretto" di farlo. Quando eseguo mintty dalla riga di comando di Windows, ricevo un messaggio di errore "Failed to run '/usr/bin/tcsh': No such file or directory".

Perché la presunta buona risposta non funziona per me? Qualcuno può dire come farlo correttamente? Inoltre, qualcuno può spiegare i misteri del trattino finale, errore fatale, nsswitch o SHELL var?


Esiste /usr/bin/zsh?
matzeri,

@matzeri No, non l'ho installato. Usando tcsh
Neil,

C'è una chat . Hai bisogno di un po 'più di reputazione per usarlo. Vedi i privilegi , cerca "chat" lì.
Kamil Maciorowski,

Risposte:


0

Per avviare la shell TC da Mintty il comando è:

mintty /bin/tcsh -l

Per avviare la shell di accesso predefinita, di solito bash

mintty -

Il formato mintty /usr/bin/zsh -è sbagliato


Aha! Funziona bene quando assegnato a un collegamento, ma non dalla riga di comando DOS. Penso che questa risposta appartenga anche alla domanda di riferimento. Ora sembra che la mia domanda riguardi effettivamente il metodo di esecuzione di Mintty: collegamento o riga di comando, quindi dovrebbe essere completamente riscritto?
Neil,

funziona anche dalla linea CMD. L'hai eseguito da cygwin/bin?
matzeri,

Aggiornamento: Sì, funziona dalla riga di comando, ma è iniziato con la home directory di Windows% USERPROFILE% (bypassando ~ / .tcshrc, ma eseguendo stranamente ~ / .aliases). Dopo aver giocherellato un po ', mi resi conto che il problema era che stavo lanciando da cmder (ConEmu + stuff), che aveva impostato la variabile di ambiente HOME e che mintty si stava adattando a quello. Quindi tutto bene ora. Devo riformulare completamente la domanda o forse è completamente obsoleta
Neil,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.