Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

problème du mode shell avec /sw/bin/zsh

7 réponses
Avatar
frangi
Bonjour
J'ai modifié mon shell par défaut dans Gestionnaire NetInfo en y
mettant /sw/bin/zsh et en ajoutant ce chemin dans /etc/shells. Mais
quand je passe en mode shell dans emacs (v. 21.3.50 installée par
fink), j'obtiens ceci en gise de prompt:

^[[m^[[m^[[m^[[J^[[1m[frangi - 8 janvier 2006]^[[m^[[1mouvrir un cpte
ichat^[[m % ^[[K^[[40C^\
[[1m18:24^[[m^[[45D

Si je saisis la commande /bin/bash, je retrouve un prompt normal. Y
aurait-il un problème de compatibilité entre la version 4.2.6 de zsh
et ma version d'emacs? Mais j'ai le même problème avec les versions
Aqua et Carbon d'Emacs.
Ou faut-il ajouter quelque ligne dans ~/.emacs ?
Merci
--
====================================================
François GIRON -- Mac OS X 10.4.3 -- Tiger
http://homepage.mac.com/fgiron/fgaccueil/index.html
fgiron@mac.com
====================================================

7 réponses

Avatar
lhabert
François Giron :

quand je passe en mode shell dans emacs (v. 21.3.50 installée par
fink), j'obtiens ceci en gise de prompt:

^[[m^[[m^[[m^[[J^[[1m[frangi - 8 janvier 2006]^[[m^[[1mouvrir un cpte
ichat^[[m % ^[[K^[[40C^
[[1m18:24^[[m^[[45D



Tu dois avoir un .zshrc (ou alors c'est le /etc/zshrc global (enfin je sais
pas où il est sous macOSX)) qui définit un prompt qui met plein d'effets
graphiques (genre gras, couleur et cie, ça se fait en mettant des séquences
conventionelles de caractères commençant par le caractère echap (que emacs
t'affiche comme « ^[ »)), que le mode shell d'emacs n'interprète pas (il te
ressort juste les caractères tels quels). La solution consiste à mettre dans
ton .zshrc (à la fin si tu en as déjà un) quelque chose comme :

if test x"$TERM" = xdumb; then
PS1='%n@%m: %~ >'
fi

qui modifie la définition du prompt quand la variable TERM (qui est censée
décrire le type du terminal) vaut « dumb » (a priori, c'est le type que tu
as dans le mode shell d'emacs, enfin tu peux toujours vérifier).
Avatar
frangi
(Luc Habert) writes:

François Giron :

quand je passe en mode shell dans emacs (v. 21.3.50 installée par
fink), j'obtiens ceci en gise de prompt:

^[[m^[[m^[[m^[[J^[[1m[frangi - 8 janvier 2006]^[[m^[[1mouvrir un cpte
ichat^[[m % ^[[K^[[40C^
[[1m18:24^[[m^[[45D



Tu dois avoir un .zshrc (ou alors c'est le /etc/zshrc global (enfin je sais
pas où il est sous macOSX)) qui définit un prompt qui met plein d'effets
graphiques (genre gras, couleur et cie, ça se fait en mettant des séquences
conventionelles de caractères commençant par le caractère echap (que emacs
t'affiche comme « ^[ »)), que le mode shell d'emacs n'interprète pas (il te
ressort juste les caractères tels quels). La solution consiste à mettre dans
ton .zshrc (à la fin si tu en as déjà un) quelque chose comme :

if test x"$TERM" = xdumb; then
PS1='%n@%m: %~ >'
fi

qui modifie la définition du prompt quand la variable TERM (qui est censée
décrire le type du terminal) vaut « dumb » (a priori, c'est le type que tu
as dans le mode shell d'emacs, enfin tu peux toujours vérifier).



Merci pour votre réponse.
J'ai essayé ces deux lignes, mais ça ne semble rien changer. J'ai bien
un fichier de configuration de zsh qui est
~/Library/init/zsh/env_interactif dans lequel j'ai mis effectivement
des effets.
L'hypothèse des effets est intéressante. Mais ce qui me surprend,
c'est qu'en passant de /bin/zsh à /sw/bin/zsh, je n'ai rien modifié à
la configuration de mon environnement de shell, que ça fonctionnait
parfaitement avec emacs auparavant, et plus maintenant.
--
====================================================
François GIRON -- Mac OS X 10.4.3 -- Tiger
http://homepage.mac.com/fgiron/fgaccueil/index.html

====================================================
Avatar
lhabert
François Giron :

J'ai essayé ces deux lignes, mais ça ne semble rien changer.



Bon, déjà vérifie que $TERM vaut bien dumb dans M-x shell. Ensuite, vérifie
que ce .zshrc est effectivement lu (genre en mettant un « echo PLOUM »
dedans...).

L'hypothèse des effets est intéressante. Mais ce qui me surprend,
c'est qu'en passant de /bin/zsh à /sw/bin/zsh, je n'ai rien modifié à
la configuration de mon environnement de shell, que ça fonctionnait
parfaitement avec emacs auparavant, et plus maintenant.



Bah le zshrc global doit être différent...
Avatar
frangi
(François Giron) writes:

(Luc Habert) writes:


Tu dois avoir un .zshrc (ou alors c'est le /etc/zshrc global (enfin je sais
pas où il est sous macOSX)) qui définit un prompt qui met plein d'effets
graphiques (genre gras, couleur et cie, ça se fait en mettant des séquences
conventionelles de caractères commençant par le caractère echap (que emacs
t'affiche comme « ^[ »)), que le mode shell d'emacs n'interprète pas (il te
ressort juste les caractères tels quels). La solution consiste à mettre dans
ton .zshrc (à la fin si tu en as déjà un) quelque chose comme :

if test x"$TERM" = xdumb; then
PS1='%n@%m: %~ >'
fi

qui modifie la définition du prompt quand la variable TERM (qui est censée
décrire le type du terminal) vaut « dumb » (a priori, c'est le type que tu
as dans le mode shell d'emacs, enfin tu peux toujours vérifier).



Merci pour votre réponse.
J'ai essayé ces deux lignes, mais ça ne semble rien changer. J'ai bien
un fichier de configuration de zsh qui est
~/Library/init/zsh/env_interactif dans lequel j'ai mis effectivement
des effets.
L'hypothèse des effets est intéressante. Mais ce qui me surprend,
c'est qu'en passant de /bin/zsh à /sw/bin/zsh, je n'ai rien modifié à
la configuration de mon environnement de shell, que ça fonctionnait
parfaitement avec emacs auparavant, et plus maintenant.



En fait je viens d'essayer en revenant au prompt par défaut. Pas de
changement. Il me semble donc qu'il faille pencher vers un problème
lié à la version du shell installé par fink, à moins qu'emacs ait une
quelconque incompatibilité avec la base de donnée NetInfo. J'avoue je
ne comprends pas bien ce qui se passe.
--
====================================================
François GIRON -- Mac OS X 10.4.3 -- Tiger
http://homepage.mac.com/fgiron/fgaccueil/index.html

====================================================
Avatar
frangi
(Luc Habert) writes:

François Giron :

J'ai essayé ces deux lignes, mais ça ne semble rien changer.



Bon, déjà vérifie que $TERM vaut bien dumb dans M-x shell. Ensuite, vérifie
que ce .zshrc est effectivement lu (genre en mettant un « echo PLOUM »
dedans...).

L'hypothèse des effets est intéressante. Mais ce qui me surprend,
c'est qu'en passant de /bin/zsh à /sw/bin/zsh, je n'ai rien modifié à
la configuration de mon environnement de shell, que ça fonctionnait
parfaitement avec emacs auparavant, et plus maintenant.



Bah le zshrc global doit être différent...



J'ai deux fichiers zshrc ici :
/sw/share/doc/zsh/zshrc
/sw/src/zsh-4.2.4-11/zsh-4.2.4/StartupFiles/zshrc
Il ne me semble pas que cela puisse avoir une incidence. Pour qu'il
soit pris en compte, il me semble qu'il devrait se trouver dans le
répertoire /sw/etc/
Dans les deux zshrc nommés, le prompt est défini comme suit :

PROMPT='%m%# ' # default prompt
RPROMPT=' %~' # prompt for right side of screen

Et dans mon fichier de configuration personnel, j'ai mis ceci:

% echo $PROMPT
%B[%n - %D{%e %B %Y}]%b%B%c%b %#

% echo $RPROMPT
%B%D{%H:%M}%b

--
====================================================
François GIRON -- Mac OS X 10.4.3 -- Tiger
http://homepage.mac.com/fgiron/fgaccueil/index.html

====================================================
Avatar
Sébastien Kirche
Le 8 January 2006 à 18:49, Luc Habert s'est exprimé ainsi :

François Giron :

> quand je passe en mode shell dans emacs (v. 21.3.50 installée par
> fink), j'obtiens ceci en gise de prompt:
>
> ^[[m^[[m^[[m^[[J^[[1m[frangi - 8 janvier 2006]^[[m^[[1mouvrir un
> cpte ichat^[[m % ^[[K^[[40C^ [[1m18:24^[[m^[[45D

Tu dois avoir un .zshrc (ou alors c'est le /etc/zshrc global (enfin je
sais pas où il est sous macOSX)) qui définit un prompt qui met plein
d'effets graphiques



Votre discussion m'a permis de comprendre l'origine d'un problème
similaire pas en mode shell mais avec tramp et l'accès distant via ssh :
impossible d'éditer un fichier sur un MacOS distant alors que ça
fonctionne avec mes divers GNU/Linuces.

Au passage, M-x shell avec zsh définit $TERM à eterm-color.

Voici comment ça fonctionne avec un xterm classique et comment sont
définis mes prompts :

19:31 ~% ssh zebigbos
Password:
Last login: Wed Jan 11 17:28:51 2006
Welcome to Darwin!
Darwin zebigbos 8.3.1 Darwin Kernel Version 8.3.1: Tue Nov 8 01:02:00
PST 2005; root:xnu-792.7.59.obj~2/RELEASE_I386 i386 i386
20:56 up 3:28, 2 users, load averages: 0,00 0,00 0,00
20:56 ~% echo $TERM
xterm
20:57 ~% echo $PROMPT
%{%}%T%{%} %{%}%n%{%}@%{%}%m %{%}%~%{%}%#%{%}
20:59 ~% echo $RPROMPT
<rien>

Je précise que les fichiers d'environnement sont repris de la formation
Debian d'Alexis de Lattre, et que le prompt utilisait des codes de
couleur que j'ai supprimés car je trouvais ça peu lisible façon arbre de
noël.

Mais ça ne fonctionne toujours pas, tramp semble ne pas voir le prompte
retourné. Quand je regarde dans les tampons de tramp, je vois qu'il
reçoit ceci (j'ai transformé les caractères de contrôle en caractères
imprimables) :

Last login: Wed Jan 11 20:59:03 2006^M
Welcome to Darwin!
Darwin zebigbos 8.3.1 Darwin Kernel Version 8.3.1: Tue Nov 8 01:02:00
PST 2005; root:xnu-792.7.59.obj~2/RELEASE_I386 i386 i386
21:17 up 3:49, 4 users, load averages: 0,00 0,00 0,00
^ 210211~210211%210211

On voit notamment deux ^M parasites, cependant ce que je ne comprends
pas c'est la suppression de l'heure et le remplacement de mon login et
de l'hôte par ces séquences 210211...

[après pas mal de temps à tester]

J'ai repris le sshd_config d'un de mes linux (car je me suis rendu compte
que le fichier n'avait jamais été configuré pour osx) et j'ai même
essayé d'installer la version d'openssh de fink mais je n'ai toujours
pas de résultat.

Maintenant tramp se plaint de ne pas pouvoir exécuter cette commande
correctement : exec env 'ENV=' 'PS1=$ ' /bin/sh

Une idée ?

--
Sébastien Kirche
Avatar
frangi
Sébastien Kirche writes:

Le 8 January 2006 à 18:49, Luc Habert s'est exprimé ainsi :

.../...
Une idée ?



Hélas non, et mes compétences en informatique me laissent penser que
vous aurez résolu votre problème avant que je mette un terme au mien.
--
====================================================
François GIRON -- Mac OS X 10.4.3 -- Tiger
http://homepage.mac.com/fgiron/fgaccueil/index.html

====================================================