Je suis nouveau sur Linux et j'utilise Ubuntu 13.04. J'ai un programme C++ nommé "dictionnaire" (chemin complet: /home/anmol/Desktop/c++/dictionary
), que j'ai compilé avec Code :: Blocks IDE (et la version 4.7.3 de GCC).
J'ai configuré un raccourci clavier personnalisé en allant dans Paramètres système -> Clavier -> Raccourcis et en mettant la commande: gnome-terminal --disable-factory -x /home/anmol/Desktop/c++/dictionary
.
Maintenant, le problème que je rencontre est que les touches fléchées à l'intérieur du terminal ne fonctionnent pas ... Par exemple, chaque fois que j'appuie sur la flèche gauche, j'obtiens "^ [[D" ...] mais quand je gère un terminal normalement ( en appuyant Ctrl+Alt+T), les touches fléchées fonctionnent bien.
Maintenant, quand j'ai cherché le problème sur Google, j'ai découvert que cela pouvait arriver si le shell par défaut avait été changé de bash à sh.
Donc, dans mon programme c ++, pour voir quel shell était utilisé par défaut, j'ai ajouté la ligne system("chsh");
juste après la fonction main()
et constaté que le shell par défaut était uniquement bash! J'ai quand même essayé en ajoutant la ligne system("chsh -s /bin/bash")
mais le problème persiste ... (quand j'ai préfixé Sudo
à la commande, il a renvoyé une erreur chsh: PAM:Authentication Failure
)!
De plus, dans la page Paramètres de l'environnement Code :: Blocks, j'ai trouvé ces 2 paramètres:
/bin/sh -c
gnome-terminal --disable-factory -t $TITLE -x
J'ai changé le "Shell pour exécuter des commandes dans": /bin/bash -c
. Mais le problème persiste encore.
Installez d'abord l'outil rlwrap
(dans Ubuntu n'est pas installé par défaut) en exécutant la commande suivante dans terminal :
Sudo apt-get install rlwrap
Maintenant, configurez votre raccourci clavier personnalisé en utilisant la commande suivante:
gnome-terminal --disable-factory -x bash -c 'rlwrap -a /home/anmol/Desktop/c++/dictionary'