Como configuro o ConEmu para executar o Cygwin Bash?

39

Eu criei uma nova tarefa

{Bash}

passou meu diretório inicial

/dir "C:\Users\TMB\"

e adicionado o bash como um aplicativo

C:\cygwin\bin\bash.exe

Quando eu abro o Bash, ele não consegue usar os utilitários básicos do UNIX / Cygwin. Como configuro o ConEmu para executar o Cygwin Bash?

    
por TMB 03.05.2013 / 20:52

6 respostas

45

Isso pode ajudar os outros.

Parece que a versão 140310 do ConEmu detecta automaticamente o CygWin Bash.

Se você instalou o Cygwin depois de instalar o ConEmu, precisará Atualizar ... sua lista de tarefas.

  1. Vá para Configurações ... (Win + Alt + P)
  2. Navegue até sua lista de Tarefas (inicialização > tarefas)
  3. Clique no botão Recarregar ... .

Agora você deve ver {CygWin bash} como uma das suas opções na lista de tarefas predefinidas:

PS - Se este método não funcionar, tente redefinir suas configurações ConEmu (clique no botão Redefinir ... na parte inferior de suas Configurações janela).

    
por 27.03.2014 / 17:33
6

Certifique-se de que o Bash esteja recebendo um valor sensato para $PATH ; geralmente ele herda isso de qualquer chamada, mas o ConEmu é um aplicativo do Windows, então tudo o que ele irá fornecer é o que você definiu para %Path% . Geralmente, isso não inclui os diretórios de caminho do Cygwin, portanto, o Bash não sabe onde procurar ls , & c.

A maneira que eu solucionaria isso seria, por qualquer meio que o ConEmu oferecesse, passando --login -i como argumentos de linha de comando para o Bash; isso dirá que você está executando como um shell de login interativo, por isso lerá /etc/profile , ~/.profile e ~/.bashrc no início. Na minha experiência, isso foi o suficiente para dar uma porcentagem razoável de$PATH; Se isso não funcionar para você, você poderia especificá-lo explicitamente com uma linha como PATH=/bin:/usr/bin:/usr/local/bin:[...]:$PATH em seu ~/.bashrc .

    
por 03.05.2013 / 22:47
6

ou em vez de

C:\cygwin\bin\bash.exe

use

C:\cygwin\Cygwin.bat
    
por 01.10.2013 / 01:20
2

Este é o meu caminho

Crie uma nova tarefa no ConEmu com o seguinte comando

set HOME=C:\Home & "C:\Home\Applications\cygwin64\bin\mintty.exe" -i /Cygwin-Terminal.ico -
    
por 16.04.2015 / 07:57
0

Eu sei que é uma pergunta muito antiga, mas eu queria compartilhar isso de qualquer maneira:

Para iniciar o bash dentro de um diretório de trabalho específico, basta configurar o comando, por exemplo, para SET CHERE_INVOKING=1 & "C:\cygwin\bin\bash.exe --login -i" -cur_console:t:"cygwin terminal" e especificar o diretório de trabalho normalmente via /dir "..." , conforme descrito aqui .

    
por 10.04.2015 / 10:31
0

Para disponibilizar comandos Cygwin a partir de bash , independentemente de como você os executa, bem como de cmd ou qualquer outro shell, verifique se sua variável de ambiente Path tem o diretório bin do Cygwin adicionado. > Vá para Control Panel > System and Security > System (tecla de atalho padrão Win+Pause ) e, em seguida, Advanced system settings > Environment variables . Para todos os usuários, edite a variável Path do sistema, apenas para seu usuário - edite (crie, se ela não existir) a variável user Path .
Assumindo que cygwin esteja instalado em C:\cygwin (pode ser cygwin64 para o Cygwin de 64 bits), adicione C:\cygwin\bin ao Path . Esteja ciente de que se você usar a variável Path do sistema, se você adicionar o bin do Cygwin no começo, algum comando do Cygwin irá sombrear os internos (por exemplo, find do Cygwin será usado em vez do Windows ' find ) . Eu prefiro fazê-lo, mas se você não o fizer, adicione bin do Cygwin no final do seu Path .

Como a maioria das outras respostas também fala sobre a configuração do ConEmu, também darei minha opinião pessoal.

Eu prefiro executar um shell de não-login. Por exemplo, no Linux, você obtém um shell de login quando efetua login no console de texto ou via ssh, e um shell interativo sem login quando você abre um emulador de terminal (xterm, konsole, etc.).

Minha tarefa {Bash} tem /dir "%CD%" parâmetros da tarefa para definir o diretório de trabalho para o diretório de trabalho da guia atual (por exemplo, se a tarefa bash de Far). O comando para iniciar o bash:% %ConEmuDrive%\cygwin\bin\bash.exe -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"

Observe que as opções --login -i são omitidas, o shell será iniciado como um shell interativo sem login (já que não possui argumentos de não opção e sem a opção -c, e seu stdin e stdout estão conectados aos terminais, consulte INVOCATION seção da manpage do bash para mais explicações). Ele lerá e executará comandos do usuário rcfile ~/.bashrc (não /etc/profile ou ~/.bash_profile como um shell de login faria, portanto, você não precisa set CHERE_INVOKING=1 , que é relevante apenas em relação a /etc/profile ). Portanto, coloque seus aliases de usuários, opções de shell, variáveis de ambiente extras, etc. em ~ / .bashrc, onde eles pertencem legalmente.

    
por 02.10.2016 / 21:21