Eu sou novo no Linux e estou usando o Ubuntu 13.04.
Eu tenho um programa em C ++ chamado "dicionário" (caminho completo: /home/anmol/Desktop/c++/dictionary
), que eu compilei com Code :: Blocks IDE (e GCC versão 4.7.3).
Eu configurei um atalho de teclado personalizado para ele indo em Configurações do Sistema - > Teclado - > Atalhos e colocando o comando: gnome-terminal --disable-factory -x /home/anmol/Desktop/c++/dictionary
.
Agora, o problema que enfrento é que as teclas de seta dentro do terminal não estão funcionando ... Por exemplo, sempre que pressiono a tecla de seta para a esquerda, recebo "^ [[D" ...
Mas quando eu executo um terminal normalmente (pressionando Ctrl + Alt + T ), as teclas de seta funcionam bem.
Agora, quando eu pesquisei o problema no Google, descobri que isso poderia acontecer se, de alguma forma, o shell padrão fosse alterado de bash para sh.
Então, no meu programa c ++, para ver qual shell estava sendo usado como padrão, adicionei a linha system("chsh");
logo após a função main()
e descobri que o shell padrão era apenas bash!
Ainda tentei adicionando a linha system("chsh -s /bin/bash")
mas o problema persistiu ... (quando prefixei sudo
para o comando que jogou um erro chsh: PAM:Authentication Failure
)!
Além disso, na página de configurações do Code :: Blocks Environment, encontrei estas duas configurações:
- Shell para executar comandos em:
/bin/sh -c
- Terminal para iniciar programas de console:
gnome-terminal --disable-factory -t $TITLE -x
Eu mudei o "Shell para executar comandos em": /bin/bash -c
. Mas o problema ainda persistia.