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

TERM environment variable not set.

7 réponses
Avatar
Nicolas Meaux
Bonjour,

J'ai ce message quand je veux executer la commande top par rsh.

$ rsh 127.0.0.1 top -n 1 -b
TERM environment variable not set.

Quand je fais une autre commande cela fonctionne.
Donc apparemment il faut definir la variable TERM quelque part.
Si effectivememnt, je fais un :
$ rsh 127.0.0.1 env
Je ne vois pas la variable TERM defini.

Comment puis-je donc definir cette fameuse variable ?

( Je suis sous debian testing )

Merci

Nicolas

7 réponses

Avatar
Qing Liu
Nicolas Meaux writes:

Bonjour,


Bonsoir,

J'ai ce message quand je veux executer la commande top par rsh.

$ rsh 127.0.0.1 top -n 1 -b
TERM environment variable not set.

Quand je fais une autre commande cela fonctionne.
Donc apparemment il faut definir la variable TERM quelque part.
Si effectivememnt, je fais un :
$ rsh 127.0.0.1 env
Je ne vois pas la variable TERM defini.


Et rsh 127.0.0.1 export TERM=linux ?

--
Liu

Avatar
TiChou
Dans l'article news:3ffc265c$0$19268$,
Nicolas Meaux écrivait :

Bonjour,


Bonjour,

J'ai ce message quand je veux executer la commande top par rsh.

$ rsh 127.0.0.1 top -n 1 -b
TERM environment variable not set.


rsh ne permet pas d'exporter un terminal vers le client.

Utilisez plutot ssh avec l'option -t qui permettra alors d'allouer un
terminal.

--
TiChou

Avatar
Nicolas Meaux
Et rsh 127.0.0.1 export TERM=linux ?
Ok, c marche si je fais un :


rsh 127.0.0.1 export TERM=linux;top -n 1 -b

Mais n y a t il pas moyen que la variable d environement TERM soit
automatiquement unitialisé lors de la connexion ?

Merci
Nicolas

Avatar
Nicolas Meaux
Utilisez plutot ssh avec l'option -t qui permettra alors d'allouer un
terminal.


J'ai des bessoins specfiques est utilise donc rsh.

A+

Avatar
TiChou
Dans l'article news:3ffd16ed$0$22330$,
Nicolas Meaux écrivait :

Et rsh 127.0.0.1 export TERM=linux ?
Ok, c marche si je fais un :


rsh 127.0.0.1 export TERM=linux;top -n 1 -b


Non, ça ne fonctionne pas comme vous le désirez.
Seul export TERM=linux est lancé dans le shell distant.
top -n 1 -b est lancé dans le shell courant. D'ailleurs, dans la liste des
process affichés par top, voyez vous les process rshd et shell distant ?

Si vous vouliez envoyer la séquence de commande export et top via rsh il
faut alors quoter :

rsh 127.0.0.1 export TERM=linux;top -n 1 -b
ou
rsh 127.0.0.1 'export TERM=linux;top -n 1 -b'

ou plus simplement rsh 127.0.0.1 TERM=linux top -n 1 -b

Mais l'on revient au problème initial, celui dont je parle dans mon post
précédent dans ce thread.

Mais n y a t il pas moyen que la variable d environement TERM soit
automatiquement unitialisé lors de la connexion ?


Si. Le shell distant est invoqué de façon intéractive et lance donc, s'il
existe, le fichier d'initialisation ~/.SHELLrc de votre shell, par exemple
si votre shell est bash, ça sera ~/.bashrc.
Placer alors dans votre ~/.bashrc la chose suivante :

[ "$TERM" == "dumb" ] && export TERM=linux

Mais même remarque, cela ne changera en rien le problème du terminal qui ne
peut être exporté par rsh.

--
TiChou


Avatar
Nicolas Meaux
TiChou wrote:
Ok, c marche si je fais un :

rsh 127.0.0.1 export TERM=linux;top -n 1 -b



Non, ça ne fonctionne pas comme vous le désirez.


Ok, autant pour moi ... je suis aller un peu trop vite

Si. Le shell distant est invoqué de façon intéractive et lance donc, s'il
existe, le fichier d'initialisation ~/.SHELLrc de votre shell, par exemple
si votre shell est bash, ça sera ~/.bashrc.
Placer alors dans votre ~/.bashrc la chose suivante :

[ "$TERM" == "dumb" ] && export TERM=linux


Ca ne marche pas la variable n'est jamais initialiser ...
Mais je ne veux pas lancer le shell de facon interactive, je veux juste
avoir la sortie de ma fameuse commande avec top ( top -n 1 -b )
j'ai essayer de remplire le .bash_profile, mais sans jamais plus de
succés ...

Mais même remarque, cela ne changera en rien le problème du terminal qui ne
peut être exporté par rsh.


Comme dis precedament, je veux juste lorsque j'excute ma commande rsh,
qu'il me renvoie le resultat de la comande afin que je puisse le traiter.
Je cherche juste, en definissant la variable d'envionement TERM, à
inhiber le message d'erreur renvoyé par top " TERM environment variable
not set.".

Merci

Nicolas


Avatar
TiChou
Dans l'article news:3ffeae1f$0$29083$,
Nicolas Meaux écrivait :

Si. Le shell distant est invoqué de façon intéractive et lance donc,
s'il existe, le fichier d'initialisation ~/.SHELLrc de votre shell,
par exemple si votre shell est bash, ça sera ~/.bashrc.
Placer alors dans votre ~/.bashrc la chose suivante :

[ "$TERM" == "dumb" ] && export TERM=linux


Ca ne marche pas la variable n'est jamais initialiser ...


:~$ rsh 127.0.0.1 env
SHELL=/bin/bash
USER=tichou
PATH=/usr/bin:/bin
PWD=/home/tichou
SHLVL=1
HOME=/home/tichou
_=/usr/bin/env
:~$ rsh 127.0.0.1 top
TERM environment variable not set.

:~$ vi ~/.bashrc

:~$ cat ~/.bashrc
[ "$TERM" == "dumb" ] && export TERM=linux
:~$ rsh 127.0.0.1 env
TERM=linux
SHELL=/bin/bash
USER=tichou
PATH=/usr/bin:/bin
PWD=/home/tichou
SHLVL=1
HOME=/home/tichou
_=/usr/bin/env
:~$ rsh 127.0.0.1 top
top: failed tty get


Mais je ne veux pas lancer le shell de facon interactive, je veux
juste avoir la sortie de ma fameuse commande avec top ( top -n 1 -b )
j'ai essayer de remplire le .bash_profile, mais sans jamais plus de
succés ...


Une lecture du man bash s'impose.

Bash attempts to determine when it is being run by the remote shell
daemon, usually rshd. If bash determines it is being run by rshd, it reads
and executes commands from ~/.bashrc, if that file exists and is readable.
It will not do this if invoked as sh. The --norc option may be used to
inhibit this behavior, and the --rcfile option may be used to force
another file to be read, but rshd does not generally invoke the shell with
those options or allow them to be specified.


Mais même remarque, cela ne changera en rien le problème du terminal
qui ne peut être exporté par rsh.


Comme dis precedament, je veux juste lorsque j'excute ma commande rsh,
qu'il me renvoie le resultat de la comande afin que je puisse le
traiter. Je cherche juste, en definissant la variable d'envionement
TERM, à inhiber le message d'erreur renvoyé par top " TERM
environment variable not set.".


On va répéter ce qui a été déjà dis et répété. rsh ne permet pas l'ouverture
de terminal distant ! Quand top est exécuté, il tente d'ouvrir un terminal.
Celui ci ne pouvant pas être ouvert il ne peut donc être exporté. Ce n'est
en aucun cas la variable TERM qui permettra d'aller contre ça. Et rappelons
que cette variable ne sert qu'à définir le type de terminal qui doit être
ouvert.

Maintenant je vous laisse dans votre entêtement. Tout a été dis et
inutilement. Surtout que ce thread n'a en fait rien à voir avec la charte du
groupe.

--
TiChou