Escolhendo shell para o xterm no Cygwin

0

Basicamente, minha pergunta está intimamente relacionada a esta:

link

Eu também quero definir o bash como o shell padrão para o xterm (estou trabalhando no Cygwin). Algum tempo atrás bash era o padrão para o xterm, recentemente ele mudou por algum motivo.

Agora, eu tenho o arquivo / etc / shells com o conteúdo dado no link acima. Isso não ajudou.

A maneira mais fácil de reproduzir o comportamento que estou insatisfeito é apenas digitar "xterm" em um shell (digamos, bash). O novo terminal começa com sh e não bash.

Eu sei que se pode fazer 'xterm -e bash', mas não é bem satisfatório porque esta bandeira tem que ser dada toda vez.

Espero que alguém possa ajudar.

    
por user3556729 22.04.2014 / 10:19

1 resposta

1

Descobri que depois que a pergunta foi postada aqui, uma nova resposta foi postada em

link

qual é o link dado na questão em si. Esta última resposta me ajudou a resolver o problema. Então, essa é toda a lista de coisas que podem ser importantes:

Para sistemas Linux genuínos, pode-se usar "chsh -s" para definir seu shell padrão. No entanto, o comando "chsh" parece estar ausente no Cygwin.

Para ter certeza de que o bash é o shell padrão do xterm no Cygwin, você precisa (pelo menos) fazer o seguinte:

1) certifique-se de que o bash está instalado (apenas verifique por "which bash")

2) certifique-se de que o bash esteja listado em / etc / shells (este arquivo deve ser criado se ausente, cf. link acima para encontrar um exemplo para / etc / shells)

3) verifique se em / etc / passwd o shell padrão do usuário em questão está configurado corretamente, incluindo o caminho, por exemplo, / bin / bash

No entanto, tudo isso não me ajudou. É apenas o último bit que realmente fez o xterm iniciar com o bash por padrão:

4) o arquivo / bin / bash (alteração para caminho válido, se necessário) deve ser configurado para chmod 755 em vez de 700. Isso significa que todos os usuários devem ser capazes de executá-lo. Observe que a permissão chmod no Cygwin não é necessariamente derivada das permissões do Windows definidas na pasta cygwin nas janelas.

Então eu apenas digitei "chmod 755 / bin / bash" e ele fez o que deveria!

Parece que, durante uma das atualizações recentes do Cygwin, as permissões chmod para / bin / bash foram alteradas, levando ao comportamento estranho descrito acima.

Espero muito ajudar alguém com tudo isso, então minha dor não foi em vão.

P.S. para verificar qual shell você está usando atualmente, use "echo $ SHELL" ou "ps -p $$" Se os resultados forem diferentes, o segundo deve ser confiável. Por exemplo. quando você inicia um novo shell no terminal $ SHELL pode não mudar, mas a saída de "ps -p $$" mudaria

    
por 12.05.2014 / 21:30