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 08/02/2011, à 11:16

Laufey

Executer fichier .sh en terminal

Bonjour smile

Voilà je débute un peu sur ubuntu et j'ai un soucis que je ne peux surmonter malgré des heures de recherches sur google et ici même.
J'ai crée un fichier start.sh qui execute un fichier .jar avec quelques variables.

Ce fichier fonctionne parfaitement quand je le lance mais il me pose deux problèmes.

1) Lors de son ouverture, j'ai une invit' qui me demande de lancer dans un terminal, d'afficher, d'annuler ou de lancer. Je voudrais que le fichier se lance systématiquement en mode terminal sans que cette question soit posée.

2) J'aimerais que ce fichier s'exécute automatiquement au démarrage.

Donc en gros je voudrais que ce .sh s'execute au démarrage et que le terminal soit automatiquement affiché sans que j'ai quoique ce soit a faire. En effet c'est pour lancer un serveur et j'aimerais ne pas avoir a me connecter au serveur à chaques reboot ou problèmes pour relancer ce script.

Merci beaucoup pour toute l'aide que vous apportez,

Laufey

Hors ligne

#2 Le 08/02/2011, à 13:29

Nemesis

Re : Executer fichier .sh en terminal

1) Je vois plusieurs solutions.
- Raccourci vers /bin/bash /chemin/vers/ton/sh
- Ou alors click droit ouvrir avec -> choisir /bin/bash et cocher la case pour utiliser toujours ce programme pour ce type de fichiers

2) Ca dépend si tu as besoin du serveur X
Si oui :
- Le rajouter dans applications au démarrage
- Le rajouter dans Presession
Si non
- rc.local
- le rajouter comme service

Hors ligne

#3 Le 08/02/2011, à 14:10

Laufey

Re : Executer fichier .sh en terminal

Merci pour ta réponse smile
J'ai essayé les 2 premiers de ta solution 1 et ca n'a rien donné. Rien ne se lance hmm

J'ai essayé de le rajouter aux applications au démarrage mais ca ne fait rien du tout. A moins de me tromper dans le chemin ou autre je vois pas.
Pour le reste, presession, rc local et le rajouter comme service, c'est... comment dire... je ne comprends pas/ne sais pas faire wink

Hors ligne

#4 Le 08/02/2011, à 18:09

Nemesis

Re : Executer fichier .sh en terminal

Tu utilises des chemins relatifs ou absolus dans ton start.sh?
(posée différemment, si tu restes à la racine de ton home et que tu tapes le chemin complet vers start.sh, la console te dit quoi?)

Pour le reste, presession, rc local et le rajouter comme service, c'est... comment dire... je ne comprends pas/ne sais pas faire

Déjà est ce que ton programme utilise une interface graphique (auquel cas tu es probablement condamné à attendre que la session soit ouverte) ou non (auquel cas on pourrait même le démarrer avant que tu ne sois connecté).

Dernière modification par Nemesis (Le 08/02/2011, à 18:13)

Hors ligne

#5 Le 08/02/2011, à 18:15

Laufey

Re : Executer fichier .sh en terminal

Unable to access jarfile MONFICHIER.jar
Mon programme doit s'exécuter dans la console sous forme de commandes classiques, pas d'interface.

Merci encore pour ton aide

Edit : L'idéal pour moi serait qu'il se lance en tant que service au démarrage et basta sad

Dernière modification par Laufey (Le 08/02/2011, à 18:21)

Hors ligne

#6 Le 09/02/2011, à 11:18

Nemesis

Re : Executer fichier .sh en terminal

Laufey a écrit :

Unable to access jarfile MONFICHIER.jar

Bon ben voilà le problème, tu utilises des chemins relatifs sans être dans le répertoire.
Donc soit il faut qu'en début de script tu fasses un
cd /chemin/vers/répertoire/du/script
je pense.
(pour faire plus propre tu peux t'amuser avec un truc du genre : cd `dirname $0`)

Mon programme doit s'exécuter dans la console sous forme de commandes classiques, pas d'interface.

Ok on pourra mettre un raccourci dans /etc/init.d et le planifier au démarrage de la machine avec update-rc.d.
(ou l'appeler dans /etc/rc.local pour faire plus simple, à condition qu'il supporte d'être arrêter brutalement)

Hors ligne