Postez ici vos trucs & astuces.
Répondre

Pas de valeur pour $TERM (abandon)

#1Messageil y a 10 ans

:bjr:
j'ai monté un script, on va dire nommé "script"
je pose mon script dans /usr/local/bin
dans le terminal, quand je tape

script

ça fonctionne très bien.

maintenant je veux faire un cron, pour qu'il s'applique toutes les minutes
je lance

crontab -e

puis je rentre dans l'éditeur :

*/1 * * * * script

en vérifiant :
sudo systemctl status cronie
j'obtiens : CMDOUT (tput: No value for $TERM and no -T specified)

Mon seul terminal installé est terminator.
si je lance :

/bin/bash -c 'echo $TERM'

j'obtiens : xterm

Vous auriez une idée pour régler ce souci de variable d'environnement ?
Dernière modification par Otaconil y a 10 ans, modifié au total 1 fois.

Pas de valeur pour $TERM (abandon)

#2Messageil y a 10 ans

peut-être un "export TERM=xterm" en début de script ? parce que j'ai jamais compris pourquoi, mais Cron a un peu de mal à respecter les variables d'environnement...

Pas de valeur pour $TERM (abandon)

#3Messageil y a 10 ans

Merci Loubrix. Mon script corrigé :

#!/bin/bash
export TERM=xterm
export DISPLAY=:0.0
export XAUTHORITY=/home/clement/.Xauthority
nombre=`yaourt -Qu | wc -l`
if $nombre > /dev/null 2>&1
then :
else notify-send -u critical "$nombre mises à jour disponibles"
fi

mon crontab utilisateur :

*/1 * * * * /home/clement/Documents/scripts/notify

mais ça ne s'affiche toujours pas.

Pas de valeur pour $TERM (abandon)

#4Messageil y a 10 ans

Salut,

A la louche, et la variable spécifique à terminator qui apparait en tapant env ?
Qui n'en est pas vraiment une...

Pas de valeur pour $TERM (abandon)

#5Messageil y a 10 ans

celle là ?

[clement@arch ~]$ env | grep terminator
GIO_LAUNCHED_DESKTOP_FILE=/home/clement/.local/share/applications/terminator.desktop

tu crois que je colle un export dans mon script avec ça ?

comment exporter toutes les variables dans mon script ?
je n'ai pas de .profile

Pas de valeur pour $TERM (abandon)

#6Messageil y a 10 ans

Je suis en mode "à la louche" comme toi, attends l'avis du doc :clindoeil:

Pas de valeur pour $TERM (abandon)

#7Messageil y a 10 ans

vu que ton script est prévu pour afficher une notification (notify-send), je suis pas sûr qu'une variable pour le terminal soit utile (d'ailleurs j'ai un script fonctionnel qui n'a pas cette variable).
je suis plus géné par le reste, j'aurais fait comme ça:

#!/bin/bash
export DISPLAY=:0
export XAUTHORITY=/home/clement/.Xauthority
nombre=`yaourt -Qu | wc -l`

if [ $nombre -eq 0 ]
  then
    echo "Aucune mise à jour"
  else
    echo "$nombre mises à jour disponibles" | notify-send -u normal -t 10000 "$(cat)"
  fi

exit 0

Pas de valeur pour $TERM (abandon)

#8Messageil y a 10 ans

Marche pas chez moi, ça non plus.

benjarobin proposait sur arch :

#!/bin/bash

export TERM=xterm
export DISPLAY=:0

nb=$(package-query -Qu -f "%n" | wc -l)
if [[ $nb -gt 0 ]] ; then
    notify-send -u critical "$nb mises à jour disponibles"
else
    notify-send -u critical "Aucune mise à jour disponible"
fi

qui n'a pas fonctionné non plus.

j'abandonne pour le moment, je me rabat sur la ligne de conky :

${if_match ${execi 3601 yaourt -Qu | wc -l }==0}${color}A jour$else${color ff2300}Mise à jour disponible$endif

merci messieurs ! :merci:

Pas de valeur pour $TERM (abandon)

#9Messageil y a 10 ans

je crois qu'avec Cron, c'est un peu problèmatique; où est ta Crontab ?

Pas de valeur pour $TERM (abandon)

#10Messageil y a 10 ans

ma crontab est en utilisateur.

Pas de valeur pour $TERM (abandon)

#11Messageil y a 10 ans

un indice: ton script ne s'affiche pas non plus chez moi, mais un script que j'ai fait avant s'affiche bien, à ceci près que la crontab avait été générée par Kcron dans /var/spool/cron sous le nom de mon utilisateur.
donc le fichier /var/spool/cron/david contient:

30 18 * * *   /home/david/saveforum.sh


# Fichier généré par KCron le dimanche 15 décembre 2013 17:31.

les permissions du fichier:

-rw------- 1 david users 106 28.04.2014 12:41 david

sachant que les variables d'environnements de ce script sont les mêmes que celles que je t'ai données (uniquement DISPLAY), essaie de faire le même genre de truc, pour voir si ça marche (moi j'ai pas le temps de tester ça tout de suite)...
et regarde aussi si l'extension en *.sh du script change quelque chose...

Pas de valeur pour $TERM (abandon)

#12Messageil y a 10 ans

:bien merci Loubrix
je teste ça dès que je peux et je fais un retour.
Répondre