#1 Le 15/09/2006, à 09:41
- sidney_v
Développer mais sous quel langage ?
Salut,
J'ai un script (dispo ici) codé en /bin/sh qui s'éxécute dans un terminal pour exécuter des commandes shell (supprimer des répertoires par exemple)
J'aimerai lui adjoindre une interface graphique, mais je suppose que ca nécessite de le redévelopper dans un autre langage non ?
J'ai pensé au langage python, mais quels outils utiliser pour créer l'interface graphique ? Et sera t-il possible de faire exécuter des commandes comme rm -Rf /var/tmp/ * ?
Inutile de le préciser, je débute. Mais j'ai tout mon temps pour apprendre et comprendre
Merci d'avance !
Dernière modification par sidney_v (Le 15/09/2006, à 09:42)
Membre de l'April - « promouvoir et défendre le logiciel libre » - www.april.org
Hors ligne
#2 Le 15/09/2006, à 10:01
- Pikachu_2014
Re : Développer mais sous quel langage ?
Salut,
je vois que "Mr Propre" se porte bien et poursuit sa croissance
Tu peux utiliser la commande zenity (je ne connais pas le paquet), qui te permettra d'utiliser des boîtes de dialogues, des menus et autres listes simples dans ton script sh.
Un exemple :
- Une boîte de dialogue de sélection d'un fichier ?
zenity --title="Sélectionnez un beau fichier" --file-selection
- une boîte de confirmation :
zenity --question --title "Serment" --text "Jurez-vous de n'utiliser que Linux jusqu'à la fin des temps ?"
- une boîte de saisie d'un texte ?
$ zenity --title "Tape ton nom" --entry-text "Mais oui c'est en-dessous que tu entres ton nom !"
Et plein d'autres exemples...
Au passage, la sortie de ces commande (pour récupéer les valeurs) est redirigée vers la sortie d'erreur
$ zenity --title "Tape ton nom" --entry-text "Mais oui c'est en-dessous que tu entres ton nom !" 2> monNom
$ echo $monNom
Pikachu_2014
P.S. : zenity est livré avec GNOME par défaut.
Sinon, il y a aussi la commande dialog, avec la même syntaxe, qui permet la même chose mais en mode texte (exactement comme le menu d'installation Debian/Ubuntu, avec le fond bleu, les boîtes, les menus, les boutons rouges...).
EDIT : correction de fautes d'orthographe hontuses. J'en profite pour glisser une doc.
http://www.agu3l.org/IMG/HowTo-Zenity.pdf
Dernière modification par Pikachu_2014 (Le 15/09/2006, à 10:09)
Hors ligne
#3 Le 15/09/2006, à 10:06
- sidney_v
Re : Développer mais sous quel langage ?
Salut Pikachu
Je suis impardonnable ; j'ai à plusieurs reprises indirectement utilisé zenity puisque j'ai quelques scripts nautilus d'installés.
Je pense que ce sera très adapté pour ce que je cherche à faire.
Merci (c'est sympa d'avoir mis des exemples)
Membre de l'April - « promouvoir et défendre le logiciel libre » - www.april.org
Hors ligne
#4 Le 15/09/2006, à 10:18
- ponsfrilus
Re : Développer mais sous quel langage ?
Selon regis_f de ce post: http://forum.ubuntu-fr.org/viewtopic.php?id=53483
Il y a-t-il un moyen simple d'avoir une interface graphique qui envoie des paramètres en entrée a un script shell?
Oui, en python :
import os
os.system("MonScripShell.sh")
En C:
#include <stdlib.h>
int main( int argc, char ** argv)
{
char * monscript = "MonScripShell.sh";
int result = 0;
result = system(monscript);
return 0;
}
++
ponsfrilus #4886 #424255 - http://blog.donax.ch - Mon del.icio.us - Ubuntu sur FlickR
Hors ligne
#5 Le 15/09/2006, à 15:29
- Bruc
Re : Développer mais sous quel langage ?
Que doit faire exactement le script python?
Je l'ai testé et le résultat est le même que le script shell lancé depuis la ligne de commande.
Par contre, zenity est pas mal du tout.
Hors ligne
#6 Le 15/09/2006, à 20:00
- sidney_v
Re : Développer mais sous quel langage ?
Le but est de remplacer le script shell qui s'exécute en ligne de commande par une interface graphique (exactement comme EasyUbuntu), plus accessible à l'utilisateur lambda.
Je pensais donc à developper tout ça en python, c'est à dire les même fonctionnalité que le script shell à savoir :
* vider les répertoires /tmp /var/log et /var/tmp
* exécuter les commandes apt-get autoclean et/ou apt-get clean
* nettoyer les fichiers de sauvegarde de chaque utilisateur
* nettoyer le dossier .thumbnails/ de chaque utilisateur
* ...
Membre de l'April - « promouvoir et défendre le logiciel libre » - www.april.org
Hors ligne
#7 Le 15/09/2006, à 20:08
- Pikachu_2014
Re : Développer mais sous quel langage ?
Non !
Ne vide surtout pas /tmp, /var/log et /var/tmp !
Normalement il y a une tâche programmée avec cron qui vide dans ces répertoires tout ce qui ne sert à rien (i.e. pas d'accès depuis une semaine je crois) : tmpwatch.
Pour vérifier si elle est présente :
$ locate tmpwatch
(c'est du moins le cas sous Fedora, mais je ne sais pas si cet outil pratique est présent par défaut également par d'autres distributions ; au pire je peux fournir mon crontab ).
JE te renvoie au fil «Mr Propre» pour le pourquoi du comment
Pour python : pas mal
C'est moins contraignant qu'en C (parce que GTK et C... je ne suis pas près de l'oublier, oui il y a QT mais C-plouf-plouf j'aime pas perso ).
Hors ligne
#8 Le 10/01/2007, à 00:03
- Bruc
Re : Développer mais sous quel langage ?
Par rapport à ce que tu souhaites faire, le bash devrait te suffire. Si tu veux une interface graphique, utilise zenity.
Il y a même un tutoriel en français très bien fait. Il est disponible en faisant une recherche sur zenity dans Système->Aide->Documentation du système
Hors ligne
#9 Le 27/02/2008, à 21:04
- yurek
Re : Développer mais sous quel langage ?
révéillez vous. le script maintenance ubuntu le fait déja regarder dans la doc
Dernière modification par yurek (Le 27/02/2008, à 21:04)
http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros
Hors ligne
#10 Le 27/02/2008, à 21:23
- yurek
Re : Développer mais sous quel langage ?
il ne faut jamais vider /var/log
http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros
Hors ligne