Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/04/2017, à 15:21

etienne51etoile

Lancement automatique de gnome-terminal avec la crontab n'affiche rien

Bonjour à tous !

J'ai un problème en essayant de lancer un script .sh en automatique avec la crontab. Ce script s'appelant script.sh est typiquement le suivant :

#!/bin/bash

export LANG="fr_FR.UTF-8"

gnome-terminal --command="bash -c 'cat fichier ; sleep 10'"

Ce script ne fait donc qu'afficher un texte dans un nouveau terminal, attendre (et fermer le terminal). Ma commande crontab est

06 15 * * * DISPLAY=:0 ~/.CodesPerso/script.sh 2>~/.cron.log

Comme vous pouvez le voir, je récupère les erreurs dans cron.log. Ca donne ça :

Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Impossible de se connecter : Connexion refusée

En bref, ça ne m'affiche rien. Quelqu'un a une idée ?

Hors ligne

#2 Le 12/04/2017, à 15:37

helias

Re : Lancement automatique de gnome-terminal avec la crontab n'affiche rien

Bonjour Etienne,
Je n'ai pas la solution a ton problème mais j'ai trouver ceci j'espère que ça pourra t'aider :
Solved
et
resolu

Bonne continuation,
Hélias

Hors ligne

#3 Le 12/04/2017, à 15:46

etienne51etoile

Re : Lancement automatique de gnome-terminal avec la crontab n'affiche rien

Excuse-moi, mais je ne comprend pas en quoi le choix de la langue locale semble influer sur un refus de permission ...

En tout cas, ça n'a pas marché, j'avais déjà FR Utf8 et c'est même renseigné dans le .sh.

Hors ligne

#4 Le 18/04/2017, à 09:20

etienne51etoile

Re : Lancement automatique de gnome-terminal avec la crontab n'affiche rien

Je remet un peu plus haut. Personne n'a une idée ?

Hors ligne

#5 Le 18/04/2017, à 10:01

MicP

Re : Lancement automatique de gnome-terminal avec la crontab n'affiche rien

Bonjour

06 15 * * * env DISPLAY=:0 gnome-terminal --command="/bin/bash -c 'cat fichier; sleep 10'"

=======
ou bien,

si /home/etienne51etoile/.CodesPerso/script.sh est exécutable et que son contenu est :

#!/bin/bash
cat fichier
sleep 10
06 15 * * * env DISPLAY=:0 gnome-terminal --command="/home/etienne51etoile/.CodesPerso/script.sh"

ou bien,

06 15 * * * export PATH="$PATH:/home/etienne51etoile/.CodesPerso"; export DISPLAY=:0; gnome-terminal --command="script.sh"

Dernière modification par MicP (Le 18/04/2017, à 10:44)

Hors ligne

#6 Le 18/04/2017, à 10:12

lynn

Re : Lancement automatique de gnome-terminal avec la crontab n'affiche rien

Bonjour,

J'ai testé ta commande et elle fonctionne... La fenêtre du terminal s'affiche 10 secondes avec le contenu du texte choisi.

Tu as quelle version d'Ubuntu?

Dernière modification par lynn (Le 18/04/2017, à 10:12)


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#7 Le 18/04/2017, à 10:17

MicP

Re : Lancement automatique de gnome-terminal avec la crontab n'affiche rien

Bonjour lynn

J'utilise une machine virtuelle dans laquelle j'ai installé hier la version Ubuntu 16.04.2 LTS (64b) en utilisant le fichier image ISO ubuntu-16.04.2-desktop-amd64.iso

Dernière modification par MicP (Le 18/04/2017, à 10:19)

Hors ligne

#8 Le 18/04/2017, à 10:20

lynn

Re : Lancement automatique de gnome-terminal avec la crontab n'affiche rien

Comme l'a indiqué helias en #2, il y a une commande à effectuer pour éventuellement régler ce problème; Tu pourrais commencer par ça.

sudo locale-gen --purge

«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#9 Le 18/04/2017, à 11:09

etienne51etoile

Re : Lancement automatique de gnome-terminal avec la crontab n'affiche rien

Bon, j'ai fais tout ce ce qu'il faut pour les encodages et configurations locales (donc locale-gen purge) et rien de tout ça n'a marché. D'autant plus que je ne comprend toujours pas ce que ça peut changer puisque je le rappelle, la commande fonctionne lorsque je la lance dans le bash sans utiliser la cron.

J'utilise une version 16.04 LTS 64bit de Ubuntu.

MicP, merci pour tes détails, mais tes propositions ont été testés et n'ont rien donnés :s

Est-ce que quelqu'un peut m'expliquer le problème que me sort la cron ?

Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Impossible de se connecter : Connexion refusée

Hors ligne

#10 Le 18/04/2017, à 11:27

MicP

Re : Lancement automatique de gnome-terminal avec la crontab n'affiche rien

J'essaye de comprendre…

Est-ce qu'il n'y aurait pas une ligne avant et après ce message d'erreur
dans laquelle on pourrait récupérer un code d'erreur ?

Quel est la version ubuntu utilisée ?

Quel est l'environnement de bureau utilisé ?

Est-ce la crontab du compte utilisateur qui est utilisée
ou bien celle du compte root ?

Pour quelle raison y-a-t-il nécessité de redéfinir la variable locale LANG dans le script ?

Pourquoi lancer gnome-terminal depuis le script et pas depuis la crontab ?

Quel est le message d'erreur retourné avec la ligne de commande suivante dans le crontab du compte utilisateur etienne51etoile ?

06 15 * * * export PATH="$PATH:/home/etienne51etoile/.CodesPerso"; export DISPLAY=:0; gnome-terminal --command="script.sh" 2>/home/etienne51etoile/.cron.log

=======
Voir aussi :

man 5 crontab

Dernière modification par MicP (Le 18/04/2017, à 12:03)

Hors ligne

#11 Le 18/04/2017, à 12:02

etienne51etoile

Re : Lancement automatique de gnome-terminal avec la crontab n'affiche rien

Non, il n'y a pas de message d'erreur autre que celui que je vous ai donné. J'ai testé des redirections de message d'erreur dans le script, mais comme celui-ci fonctionne dans le bash, il n'a rien donné. Ca coince vraiment dans la commande du cron.

La version Ubuntu est 16.04 LTS 64bit.
L'environnement est Unity.

C'est une crontab utilisateur (preuve : /var/spool/cron/crontabs/etienne et non root).

J'ai redéfinit LANG car (cf autres réponses) nombre solutions proposées allaient dans ce sens.

Sur les conseils de MicP, j'ai remodifié le programme en appelant gnome-terminal dans la cron, mais ça ne change rien.

La ligne de commande que tu m'as proposé renvoie toujours la même erreur.

-------
Et pour info, j'ai remplacé les ~

Hors ligne

#12 Le 18/04/2017, à 12:03

MicP

Re : Lancement automatique de gnome-terminal avec la crontab n'affiche rien

Merci pour tes réponses

Je viens de tester avec le script et la ligne crontab de ton premier message
et la fenêtre s'ouvre bien en affichant le fichier, puis se ferme 10 s après
Aucun message d'erreur n'a été créé dans le fichier ~/.cron.log

J'avais dû me planter quelque part.
Désolé.

=======
Peut-être que si l'on utilise >> au lieu de >
un code d'erreur sera affiché avant ou après le message d'erreur

06 15 * * * DISPLAY=:0 ~/.CodesPerso/script.sh 2>>~/.cron.log

=======
Concernant le message d'erreur retourné, j'ai trouvé le lien suivant :
https://wiki.gnome.org/Apps/Terminal/FAQ

=======

etienne51etoile a écrit :

…Et pour info, j'ai remplacé les ~ …

contrairement à ce que j'avais pensé le tilde est correctement interprété.

Dernière modification par MicP (Le 19/04/2017, à 01:06)

Hors ligne