Script démarrage

  • Auteur de la discussion Julien
  • Date de début
J

Julien

Ouvrier
Bonjour,

Je suis récemment passé de grbl à linux cnc, jusque l’a j’ai réussi à tout installer mais maintenant, vu que je suis vraiment débutant sur linux je bute sur un ptit problème, je pense que les personnes plus familières avec pourront m’aider facilement.


Je souhaite faire automatiquement 3 choses au démarrage du pc :


1. Inverser l’affichage de l’écran par exemple avec la commande :

xrandr –o –inverted (fonctionne très bien quand je la tape moi-même dans la console)

(parceque j’ai accroché l’écran tête en bas sur ma machine… )


2. Lancer automatiquement antimicro (c’est pour pouvoir utiliser le joystick pour bouger la machine)


3. Lancer automatiquement axis (Chez moi ça s’appelle « lancer Alcer753 »)



J’ai donc créé un fichier que j’appelle lctauto dans le dossier /etc/init.d avec le programme GEdit en tapant dans le terminal :

sudo gedit /etc/init.d/lctauto

Dans ce fichier j’ai mis, un peu naïvement :

#!/bin/sh
antimicro


linuxcnc
xrandr -o inverted


Ensuite pour lui donner les droits nécessaires j’ai mis dans la console:

chmod +x /etc/init.d/lctauto

Apparament ça ne marche pas, il me dit :

Chmod : modification des permissions de « /etc/init.d/lctauto » : opération non permise


Ensuite je me suis dit j’essaye quand même d’ajouter ce script au démarrage en tapant :

Sudo update-rc.d lctauto defaults


Et devinez quoi? Ben non ça ne marche pas:

Update-rc.d : using dependency based boot sequencing
Insserv warning : script ‘lctauto’ missing LSB tags and overrides



Alors voila ce que j’ai essayé en trouvant des bouts d’infos avec google mais je me doute que ce n’est pas trop au point, si quelqu’un pouvait m’éclairer…
 
Dernière édition:
O

osiver

Compagnon
chmod +x /etc/init.d/lctauto
...

Chmod : modification des permissions de « /etc/init.d/lctauto » : opération non permise
Il faudrait un sudo pour chmod. Ce répertoire (/etc/init.d) n'est accessible en écriture que pour root et les su :wink:
 
O

osiver

Compagnon
#!/bin/shantimicro
Je ne sais pas si vous l'avez mis exactement comme ça mais en principe "#!/bin/sh" est tout seul sur sa ligne, ça indique l'interprêteur qui exécutera le script. Linux peut se montrer tolérant ou très strict sur certaines conventions, mieux vaut les respecter.

D'autre part, votre script ne comprend pas les entêtes prévus pour les scripts de démarrage d'où le message "insserv ..." et le paramètre "defaults" n'assure pas le rang dans la séquence de démarrage où votre script sera lancé. Ça peut poser problème.
Un article sur le thème : http://www.pihomeserver.fr/2013/01/...aspberry-limportance-des-scripts-dans-init-d/
 
J

Julien

Ouvrier
Non désolé c'est une erreur de mise en page, je l'avais bien mis sur 2 lignes! j'ai édité le 1er post

Après pour chmod, j'ai essayé en mettant sudo devant, mais la il ne se passe rien, il me rend la main sans rien dire...
 
O

osiver

Compagnon
Après pour chmod, j'ai essayé en mettant sudo devant, mais la il ne se passe rien, il me rend la main sans rien dire...
Il a du faire son boulot.
Tapez ls -All /etc/init.d/lct*
Vous devriez voir votre script avec ses flags :wink:
 
J

Julien

Ouvrier
Ok, alors suite des essais:

quand je regarde les droits avec ls -All /etc/init.d/lctauto
il me dit:
-rwxr-xr-x 1 root root 492 déc. 9 09:52 /etc/init.d/lctauto

donc je suppose que si il y a le -x c'est que c'est bon?

ensuite je teste les liens dans /etc/rc2.d en faisant:
ls -l /etc/rc2.d/

et j'obtiens, entre autres:
lrwxrwxrwx 1 root root 16 déc. 9 09:29 S18alcera -> ../init.d/lctauto

donc je suppose que c'est ok... mon script est le suivant:

#! /bin/sh
### BEGIN INIT INFO
# Provides: lctauto
# Should-Start: console-screen kbd acpid dbus hal consolekit
# Required-Start: $local_fs $remote_fs x11-common
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: demarrage auto
# Description: lance antimicro, linuxcnc et tourne l ecran
### END INIT INFO

antimicro

j'ai mis pour l'instant juste antimicro pour tester, ça a fonctionné une fois mais depuis ça veut pas...
 
J

Julien

Ouvrier
Ayé c'est bon!
En fait je me suis fait ch... à essayer de faire ça avec des scripts, alors que dans les paramètres de linux il y a une rubrique qui s'appelle "qqch et démarrage" où on peut très facilement ajouter des programmes qui doivent se lancer au démarrage.
Même la rotation de l'écran marche du premier coup!
 
S

speedjf37

Compagnon
Ayé c'est bon!
En fait je me suis fait ch... à essayer de faire ça avec des scripts, alors que dans les paramètres de linux il y a une rubrique qui s'appelle "qqch et démarrage" où on peut très facilement ajouter des programmes qui doivent se lancer au démarrage.
Même la rotation de l'écran marche du premier coup!

Bonjour,

Super mais cela manque de détails !
Quelles modifs ?

JF
 
J

Julien

Ouvrier
Dès que je suis rentré ce soir je regarde pour détailler la procédure, si jamais ça peut servir à d'autres...
 
J

Julien

Ouvrier
Voila comment faire :

Cliquer sur Menu des application -> paramètres -> Session et démarrage

Dans l’onglet démarrage automatique :

Cliquer sur ajouter et dans le champ Commande, entrer « antimicro ». Compléter le nom et la description comme vous voulez, l’important est de s’y retrouver.

Voila pour le logiciel « antimicro » qui sert à intercepter les mouvements du joystick et à les retranscrire en action sur le clavier.


Pour lancer axis :

Faire un clic droit sur le raccourci que vous utilisez d’habitude pour lancer axis (chez moi il s’appelle « lancer Alcera 753 »), clic droit sur propriétés et copier l’adresse qui se trouve dans l’onglet lanceur, case commande.

Chez moi ça donne « linuxcnc/home/julien/linuxcnc/configs/Alcera753/Alcera753.ini »

Comme précédemment ; ajouter un nouveau démarrage automatique et coller cette adresse dans « commande ».


Dernier point, pour pivoter l’écran de 180°, ajouter encore un nouveau démarrage automatique et dans commande, inscrire « xrandr –o inverted »

Si il vous faut une autre orientation, utiliser xrandr-o left / xrandr –o left / ou encore xrandr –o right. Xrandr –o normal pour revenir à la normale.


Rédémarrez… et normalement tout se lance tout seul !
 

Sujets similaires

01power
Réponses
3
Affichages
13 742
01power
01power
speedfender
Réponses
3
Affichages
2 495
speedfender
speedfender
Haut