Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#1 Le 02/04/2014, à 20:48

JujuLand

[Résolu] Petit problem avec un shell lancé depuis le menu

Ce shell permet de simplifier pour des utilisateurs primaires la récupération de pièces jointes envoyées par Outlook, j'ai nommé les winmail.dat.
J'utilise tnef.
Il fonctionne parfaitement dans une console, mais depuis une entrée de menu de alacarte, la fenêtre de visualisation est fermée.

Voici le script :

#!/bin/bash

cd ~/Téléchargements
if !(test -e winmail.dat); then
   echo " "
   echo Désolé, fichier winmail.dat non trouvé ...
   echo " "
   read
else
   mkdir winmail 2>/dev/null
   mv winmail.dat winmail
   cd winmail
   tnef -v winmail.dat 2>log.txt
   error=$(cat log.txt|grep "File exists"|wc -l)
      if test $error -gt 0;then
      echo " "
      echo Désolé, un fichier portant le même nom existe déjà ...
      echo " "
      read
      mv winmail.dat ..
   fi
   rm winmail.dat 2>/dev/null
   rm log.txt 2>/dev/null
   if test $error -eq 0;then
      ls -1 > ~/files
      fichier=$(cat ~/files)
      rm ~/files
      mv $fichier ~/Bureau
      echo $fichier posé sur votre bureau ...
#      xdg-open ~/Bureau/$fichier&
      xdg-open ~/Bureau/$fichier
      sleep 3
   fi
   rm *
fi

[Mise à jour]
Suite aux lumières apportées par tiramiseb, j'ai fini par trouver mon erreur : 'Lancer', et non 'Lancer dans un terminal' était la solution.
J'ai corrigé le source (pas besoin de &). Il fonctionne nickel ... peut être simplement à ajouter le passage de paramètre du chemin par défaut où se trouve le fichier winmail.dat (au cas où la sauvegarde de la piède jointe ne serait pas être Téléchargements).
[/Mise à jour]


Si quelqu'un a une idée pour que la fermeture du shell n'entraine pas la fermeture de la commande exécutée par le xdg-open

Merci
A+

Dernière modification par JujuLand (Le 04/04/2014, à 13:19)

Hors ligne

#2 Le 02/04/2014, à 21:29

tiramiseb

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

Salut,

Tu peux mettre un read à la fin...


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXe siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#3 Le 02/04/2014, à 21:45

JujuLand

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

Le read ne change rien, quand je ferme le shell, il me ferme evince (pour un pdf)
Ceci ne se produit que si j'utilise un raccourci dans le menu de gnome-shell

Peut-être que ceci est normal ?

Le problème est atténué, car je déplace le fichier extrait, et donc Raccourci => Documents permet de le réouvrir, mais bon, j'aurai préféré qu'il ne me ferme pas çà.

A+

Dernière modification par JujuLand (Le 02/04/2014, à 21:47)

Hors ligne

#4 Le 02/04/2014, à 22:14

nesthib

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

Tu peux utiliser nohup pour détacher le programme du shell :

nohup evince &

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#5 Le 03/04/2014, à 06:51

JujuLand

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

Merci, mais ç'est la même chose ... tout est fermé

A+

Hors ligne

#6 Le 03/04/2014, à 07:19

tiramiseb

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

Le read ne change rien, quand je ferme le shell, il me ferme evince (pour un pdf)

Oui ben au moment où j'ai répondu tu ne parlais pas d'appli graphiques, tu disais juste grosso modo que le terminal se fermait et que tu coup tu n'avais plus ton application, tu ne disais pas que tu tenais à fermer le terminal et que tu tenais à ce que l'appli en question reste lancée...
Moi je t'ai juste donné une astuce pour que le terminal ne se ferme pas...

Puis tu as changé ton message d'origine, ultérieurement à ma réponse. Et c'est qui qui passe pour un con ? C'est bibi lol

-----

Tu peux peut-être envoyer un signal à l'environnement de bureau avec dbus pour lui demander d'ouvrir le fichier en question... par contre je ne sais pas quel serait le signal à envoyer...


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXe siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#7 Le 03/04/2014, à 07:31

JujuLand

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

tiramiseb a écrit :

Puis tu as changé ton message d'origine, ultérieurement à ma réponse. Et c'est qui qui passe pour un con ? C'est bibi

Effectivement, j'ai précisé dans un deuxième temps que je pouvais le rouvrir depuis le menu.

tiramiseb a écrit :

Tu peux peut-être envoyer un signal à l'environnement de bureau avec dbus pour lui demander d'ouvrir le fichier en question... par contre je ne sais pas quel serait le signal à envoyer..

Je pensais à une solution simple, ou tout simplemnt si c'était possible ou pas.
Faut quand même pas trop ce casser le citron sur ce détail. On ne va pas utiliser une massue pour écraser une mouche smile
Je vais creuser un peu pour le fun, mais pas plus que çà ...

Merci
A+

Hors ligne

#8 Le 03/04/2014, à 07:40

JujuLand

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

C'est vite vu ... trop compliqué pour un aussi petit détail.

J'en reste à ma première version, je remplacerait simplement le sleep par un read, et çà ne fermera que lorsque l'utilisateur fermera la console.

Merci
A+

Hors ligne

#9 Le 03/04/2014, à 07:42

tiramiseb

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

Effectivement, j'ai précisé dans un deuxième temps que je pouvais le rouvrir depuis le menu.

Alors j'ai mal lu la première version du message et j'ai mérité de passer pour un con smile

Je pensais à une solution simple, ou tout simplemnt si c'était possible ou pas. [...] On ne va pas utiliser une massue

Bah dbus c'est pas une massue, c'est avec ça que ton environnement graphique gère pas mal de choses, c'est la base de l'interaction entre les logiciels sur un environnement de bureau récent...




... cela étant dit, je suis étonné qu'avec nohup ça ne fonctionne pas, vu que c'est exactement l'objectif de cette commande.

Dernière modification par tiramiseb (Le 03/04/2014, à 07:43)


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXe siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#10 Le 04/04/2014, à 09:46

JujuLand

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

Bon, en grattant un peu, j'ai réussi à le faire fonctionner, voici mes tests:

gedit toto.txt&
sleep 3 => la console se ferme => fermeture de gedit

nohup gedit toto.txt
sleep 3 => sleep n'est pas executé => la console ne se ferme pas => la fermeture manuelle de la console ne ferme pas gedit

nohup gedit toto.txt&
sleep 3 => la console se ferme => mais ne ferme pas gedit => ok

PS :Je n'avais pas remarqué le & dans le post de nesthib, c'était la solution au détail près que :
je ne connais pas le type de fichier caché derrière cette saloperie de winmail.dat

nohup xdg-open toto.txt&
sleep 3 => la console se ferme => fermeture de gedit

Donc, c'est xdg-open qui me fait caguer ...
xdg-open --manual donne xdg-open is for use inside a desktop session only
Perhaps the reason ...

A+

Dernière modification par JujuLand (Le 04/04/2014, à 09:54)

Hors ligne

#11 Le 04/04/2014, à 10:03

JujuLand

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

La solution est peut-être dans l'utilisation d'un utilitaire qui pourrait retourner le programme par défaut du fichier extrait.
Et ensuite exécuter celui-ci

prog=$(<prog> $fichier)
nohup $prog $fichier &

Est-ce que çà existe ?

A+

Hors ligne

#12 Le 04/04/2014, à 11:51

tiramiseb

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

xdg-open --manual donne xdg-open is for use inside a desktop session only
Perhaps the reason ...

Oui mais non : tu es bel et bien dans une session de bureau...

un utilitaire qui pourrait retourner le programme par défaut du fichier extrait.
Et ensuite exécuter celui-ci

prog=$(<prog> $fichier)
nohup $prog $fichier &

Est-ce que çà existe ?

Bah c'est le rôle de xdg-open smile


D'ailleurs il y a quelque chose de bizarre chez toi, car chez moi quand je lance xdg-open sur un fichier quelconque, il ouvre le fichier avec l'application qui va bien et il rend la main, je peux alors fermer le terminal, l'application reste ouverte.

Quand tu fais juste (à la main) xdg-open toto.txt, ça ouvre gedit... mais xdg-open ne te rend-il pas la main une fois que gedit est ouvert ?


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXe siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#13 Le 04/04/2014, à 12:11

JujuLand

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

Bah c'est le rôle de xdg-open

Non, je parle de retourner le nom du programme, pas de l'exécuter ...

quand je lance xdg-open sur un fichier quelconque, il ouvre le fichier avec l'application qui va bien et il rend la main, je peux alors fermer le terminal, l'application reste ouverte.

C'est pareil chez moi, mais insère la commande dans un shell et exécute le shell en double-cliquant dessus (c'est pareil avec les menus de gnome-shell), là, tu verras que quand tu fermes la console, le programme est fermé. Je parle bien sûr en utilisant xdg-open (ou gnome-open)

Essaye, et dis moi ce que tu as.

A+

Dernière modification par JujuLand (Le 04/04/2014, à 12:12)

Hors ligne

#14 Le 04/04/2014, à 12:33

tiramiseb

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

Quand je double-clic (enfin, simple-clic) sur un script, aucun terminal ne s'ouvre, le script s'exécute sans être rattaché à un terminal.
J'ai fait ce que tu as dit, le programme attendu s'ouvre sans problème.


Dans le script que tu montres en #1, as-tu essayé xdg-open sans le "&" à la fin ?


PS : on n'écrit pas "un shell", on écrit "un script" ou à la limite "un shellscript".


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXe siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#15 Le 04/04/2014, à 12:55

JujuLand

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

Bon, je ne comprenais pas ta remarque simple-clic, vu que le dernier petit exemple exécutait simplement la commande et un sleep

Je viens de comprendre pourquoi j'avais ce problème: j'utilisais 'Lancer dans un terminal', et non 'Lancer'
J'ai donc modifié le raccourci dans alacarte et remplacé 'Application dans un terminal' par Application.

Tout bêtement ... et c'est nickel sans le & et le nohup, xdg-open suffit

Merci
A+

Hors ligne

#16 Le 04/04/2014, à 13:07

tiramiseb

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

je ne comprenais pas ta remarque simple-clic

Chez moi j'ai configuré le système pour que ça se lance au simple-clic, pas au double-clic, c'est tout smile


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXe siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#17 Le 04/04/2014, à 13:11

JujuLand

Re : [Résolu] Petit problem avec un shell lancé depuis le menu

Ouais ... çà j'en veux pas wink

Merci
A+

Hors ligne

Haut de page ↑