#1 Le 02/04/2014, à 21: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, à 14:19)
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#2 Le 02/04/2014, à 22: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 - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 02/04/2014, à 22: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, à 22:47)
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#4 Le 02/04/2014, à 23: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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#5 Le 03/04/2014, à 07: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+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#6 Le 03/04/2014, à 08: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
-----
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 - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#7 Le 03/04/2014, à 08:31
- JujuLand
Re : [Résolu] Petit problem avec un shell lancé depuis le menu
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.
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
Je vais creuser un peu pour le fun, mais pas plus que çà ...
Merci
A+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#8 Le 03/04/2014, à 08: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+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#9 Le 03/04/2014, à 08: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
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, à 08:43)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#10 Le 04/04/2014, à 10: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, à 10:54)
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#11 Le 04/04/2014, à 11: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+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#12 Le 04/04/2014, à 12: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-ciprog=$(<prog> $fichier)
nohup $prog $fichier &Est-ce que çà existe ?
Bah c'est le rôle de xdg-open
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 - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#13 Le 04/04/2014, à 13: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, à 13:12)
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#14 Le 04/04/2014, à 13: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 - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#15 Le 04/04/2014, à 13: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+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#16 Le 04/04/2014, à 14: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
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#17 Le 04/04/2014, à 14:11
- JujuLand
Re : [Résolu] Petit problem avec un shell lancé depuis le menu
Ouais ... çà j'en veux pas
Merci
A+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne