Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

Appel à contributeurs pour la doc.

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.

#1 Le 02/01/2017, à 11:49

marius76

[Réglé] rendre script exécutable au démarrage

Bonjour à tous,
Je suis sous xubuntu 15.10 avec 2 écrans. J'utilise ArandR pour configurer l'affichage en bureau étendu. Tout fonctionne parfaitement. Le script généré par ArandR est exécutable. Quand je l'exécute manuellement la configuration est parfaite.
J'ai donc voulu automatiser la procédure. Je suis donc allé dans "Session et démarrage"=> "Démarrage automatique de l'application".
C'est là qu'on arrive à mes limites sur linux. Au niveau de la commande j'ai donc sélectionné le script en question dans l'arborescence.
Ce qui donne dans mon cas l'élément suivant au niveau de la commande :

/home/ameflo/Bureau/configuration2.sh

Ce chemin correspond bien évidemment au script en question. Mais malheureusement rien ne se passe...
La commande est-elle bonne ???? Certainement que non puisque le script fonctionne parfaitement... Ca ressemble plus à un chemin d'ailleurs qu'à une commande. Il doit manquer un petit quelque-chose...
Merci pour vos retours !!

Dernière modification par marius76 (Le 03/01/2017, à 19:28)


Linux ? Il y a moins bien mais c'est plus cher !!

Hors ligne

#2 Le 02/01/2017, à 12:35

Sciensous

Re : [Réglé] rendre script exécutable au démarrage

ok:
ton fichier est un fichier texte pour le moment; il faudrait le rendre executable (+x) dans un terminal

chmod +x /home/ameflo/Bureau/configuration2.sh

ou modifier ta ligne de commande par:

sh /home/ameflo/Bureau/configuration2.sh

n'hesite pas si ça ne marche pas
cool

EDIT: perso, j'éviterais de mettre le fichier sur le bureau mais au mieux dans ton home

Dernière modification par Sciensous (Le 02/01/2017, à 12:36)

Hors ligne

#3 Le 02/01/2017, à 13:11

marius76

Re : [Réglé] rendre script exécutable au démarrage

merci beaucoup pour ta réponse.
J'ai fait les 2 modifications indiquées mais ça ne fonctionne toujours pas.
Au démarrage du pc je me retrouve systématiquement en clone avec le cairo-dock mal positionné.
Je prends donc mon script configuration2.sh qui est sur le bureau. Clic droit=>exécuter. Une seconde après la config est parfaite...
Le script fonctionne donc visiblement. Il est bien exécutable.
Je pense que le problème vient de la commande au démarrage ???
Je ne sais pas...
Merci encore.


Linux ? Il y a moins bien mais c'est plus cher !!

Hors ligne

#4 Le 02/01/2017, à 14:55

bruno

Re : [Réglé] rendre script exécutable au démarrage

Bonjour,

Tu peux essayer ceci :
Tu crées un fichier /home/ameflo/.config/autostart/configuration.desktop, contenant :

[Desktop Entry]
Type=Application
Exec=/home/ameflo/Bureau/configuration2.sh

(réf. https://specifications.freedesktop.org/ … test.html)

Hors ligne

#5 Le 02/01/2017, à 16:19

Sciensous

Re : [Réglé] rendre script exécutable au démarrage

@bruno: ce n'est qu'un dépannage nécessitant un clic de l'utilisateur

@marius76: je ne suis pas sous Xubuntu mais Lubuntu; les chemins sont un peu différents mais les principes identiques;
si le script fonctionne, il faudrait trouver le fichier de config qui lance les applications au démarrage (ex: dans /home/ameflo/.config/autostart/autostart <- ce fichier existe-t-il ?)
tu peux aussi ajouter à la fin de ton fichier de script un

echo test > ~/test.log

ce qui devrait creer un fichier test.log dans ton home si le programme a bien été lancé au démarrage de session

edit: si tu es d'ac, tu peux mettre le contenu de ton fichier pour vérifier

Dernière modification par Sciensous (Le 02/01/2017, à 16:20)

Hors ligne

#6 Le 02/01/2017, à 16:29

marius76

Re : [Réglé] rendre script exécutable au démarrage

merci à vous deux pour vos réponses.
Alors oui, en effet, le fichier en question existe bien dans
/home/ameflo/.config/autostart/
Ce dernier s'appelle : double_ecran_ok.desktop soit le nom que je lui ai donné dans "Session et démarrage"=> "Démarrage automatique de l'application"
Voici donc le contenu du fichier en question.

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=double_ecran_ok
Comment=
Exec=sh /home/ameflo/Bureau/configuration2.sh
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false

En attendant de vous lire, encore merci !!


Linux ? Il y a moins bien mais c'est plus cher !!

Hors ligne

#7 Le 02/01/2017, à 16:50

Sciensous

Re : [Réglé] rendre script exécutable au démarrage

Ok.
si tu as rendu le fichier executable (un x doit apparaitre avec un ls -alh /home/ameflo/Bureau/configuration2.sh), alors tu peux enlever le sh du Exec=

mais ça devrait marcher.

par contre c'est le contenu de /home/ameflo/Bureau/configuration2.sh qu'il me faudrait
(déjà pour voir la première ligne qui doit commencer par #! )

Hors ligne

#8 Le 02/01/2017, à 17:00

Hizoka

Re : [Réglé] rendre script exécutable au démarrage

Salut,

je sais que parfois je rencontre des problèmes de lancement au démarrage, comme si le script était lancé trop tôt...

du coup j'utilise crontab :

crontab -e
@reboot sleep 30 && sh /home/ameflo/Bureau/configuration2.sh

30secondes, c'est peut être trop, à tester avec moins.

On peut peut être ajouter un sleep à ta commande sans utiliser cron...

Ton fichier est bien en sh et non en bash dans son contenu ?

Dernière modification par Hizoka (Le 02/01/2017, à 17:00)

Hors ligne

#9 Le 02/01/2017, à 17:08

marius76

Re : [Réglé] rendre script exécutable au démarrage

Merci encore !
J'ai bien un x dans le ls -alh /home/ameflo/Bureau/configuration2.sh :

ls -alh /home/ameflo/Bureau/configuration2.sh
-rwx--x--x 1 ameflo ameflo 188 janv.  2 10:29 /home/ameflo/Bureau/configuration2.sh

Je peux donc enlever le sh c'est bien ça ???
Alors voici le contenu du fichier nommé configuration2.sh en question :

#!/bin/sh
xrandr --output HDMI1 --primary --mode 1280x1024 --pos 0x0 --rotate normal --output VIRTUAL1 --off --output DP1 --off --output VGA1 --mode 1680x1050 --pos 1280x0 --rotate normal

Merci à vous.


Linux ? Il y a moins bien mais c'est plus cher !!

Hors ligne

#10 Le 02/01/2017, à 17:38

erresse

Re : [Réglé] rendre script exécutable au démarrage

marius76 a écrit :

Je peux donc enlever le sh c'est bien ça ???

Il ne vaudrait mieux pas...
Si ton bureau n'est pas dans le $PATH, ça ne fonctionnera pas, alors que l'activation du script en appelant "sh" ou "bash" doit fonctionner à tous coups !


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#11 Le 02/01/2017, à 17:45

marius76

Re : [Réglé] rendre script exécutable au démarrage

Ok,
je le laisse donc.
Ça ne fonctionne toujours pas alors que tout semble OK visiblement ???
Par conséquent, l'explication de Hizoka est peut-être la bonne ??? Problème de timing dans l'exécution du script ???
Merci.


Linux ? Il y a moins bien mais c'est plus cher !!

Hors ligne

#12 Le 02/01/2017, à 18:06

spad35

Re : [Réglé] rendre script exécutable au démarrage

Salut ,
essaye d'enregistrer ton script sous la forme :

/home/ameflo/.screenlayout/45x11-xrandr.sh

Hors ligne

#13 Le 02/01/2017, à 18:10

Sciensous

Re : [Réglé] rendre script exécutable au démarrage

marius76 a écrit :

Ok,
je le laisse donc.
Ça ne fonctionne toujours pas alors que tout semble OK visiblement ???
Par conséquent, l'explication de Hizoka est peut-être la bonne ??? Problème de timing dans l'exécution du script ???
Merci.

essaye ce que j'ai proposé avant:

echo test > ~/test.log

à la fin de ton fichier configuratuion2 et regarde si le fichier est créé à l'ouverture de session

@spad35: tu penses vraiment que renommer le script changera le comportement d'Xubuntu ?

Dernière modification par Sciensous (Le 02/01/2017, à 18:12)

Hors ligne

#14 Le 02/01/2017, à 18:15

Sciensous

Re : [Réglé] rendre script exécutable au démarrage

erresse a écrit :
marius76 a écrit :

Je peux donc enlever le sh c'est bien ça ???

Il ne vaudrait mieux pas...
Si ton bureau n'est pas dans le $PATH, ça ne fonctionnera pas, alors que l'activation du script en appelant "sh" ou "bash" doit fonctionner à tous coups !

?? le script est appelé avec son chemin complet - tu confirmes ?

Hors ligne

#15 Le 02/01/2017, à 18:25

Hizoka

Re : [Réglé] rendre script exécutable au démarrage

erresse => On s'en fiche du PATH je pense si l'adresse est absolue, non ?

Sciensous => le echo peut marcher mais pas la commande xrandr.
Dans mon cas perso, la création du fichier test fonctionnait mais ce qui avait un impacte sur l'interface graphique ne fonctionnait pas si c'était lancé trop rapidement.

Hors ligne

#16 Le 02/01/2017, à 18:25

spad35

Re : [Réglé] rendre script exécutable au démarrage

@ Sciensous : oui

pour rendre le script persistant il faut le renommer en 45x11-xrandr.sh et le placer dans le dossier /home/ameflo/.screenlayout

Hors ligne

#17 Le 02/01/2017, à 18:35

erresse

Re : [Réglé] rendre script exécutable au démarrage

Effectivement, avec le chemin complet indiqué, le script s'exécute même sans la commande "sh"...
De même, avec "./le_script" lorsqu'on est dans le dossier qui le contient. C'est dans le cas où on appelle "le_script" dans ce même dossier que l'exécution ne se fait pas.


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#18 Le 02/01/2017, à 22:44

marius76

Re : [Réglé] rendre script exécutable au démarrage

merci à tous de vous préoccuper de mon problème.
J'avoue que je perds un peu le fil et je ne veux pas faire de bêtise... Je vais donc faire ceci :
1) Renommer mon script : 45x11-xrandr.sh
2) Le placer dans : /home/ameflo/.screenlayout/
3) modifier la commande d'exécution au démarrage :

Exec=sh /home/ameflo/.screenlayout/45x11-xrandr.sh

Si ça ne fonctionne pas je reviens encore vers vous.
Merci.
Merci.


Linux ? Il y a moins bien mais c'est plus cher !!

Hors ligne

#19 Le 02/01/2017, à 22:56

marius76

Re : [Réglé] rendre script exécutable au démarrage

Il y a quelque-chose que je ne comprends vraiment pas. Ce que je viens de faire ne fonctionne pas. En même temps ce n'est pas étonnant car le script ainsi généré n'est pas exécutable.
J'ai pourtant fait un :

chmod +x /home/ameflo/.screenlayout/45x11-xrandr.sh

et la commande de vérification me renvoie ce qu'il faut à savoir :

ls -alh /home/ameflo/.screenlayout/45x11-xrandr.sh
-rwxrwxr-x 1 ameflo ameflo 188 janv.  2 21:45 /home/ameflo/.screenlayout/45x11-xrandr.sh

Pourtant lorsque je fais un clic droit dessus je n'ai pas la possibilité de faire "exécuter" contrairement à mon configuartion2.sh qui se trouve sur mon bureau...
Je n'y comprends rien...


Linux ? Il y a moins bien mais c'est plus cher !!

Hors ligne

#20 Le 02/01/2017, à 23:47

Sciensous

Re : [Réglé] rendre script exécutable au démarrage

j'avoue que moi non plus sad

as-tu essayé la proposition (temporairement) de bruno en post #4 ?
[ça oblige à cliquer à chaque fois mais juste pour voir si ça marche (ça devrait)]

Hors ligne

#21 Le 03/01/2017, à 07:57

le-peyo

Re : [Réglé] rendre script exécutable au démarrage

¡ Holà !

Dans ta "session et démarrage", comme au post #1 essaye d'écrire ta commande comme ceci :

sh -c "sleep 8; sh /home/ameflo/.screenlayout/45x11-xrandr.sh"

Ça devrait le faire.


À plus.

Dernière modification par le-peyo (Le 03/01/2017, à 10:49)


Sous Linux depuis 2009 | Packard Bell EasyNote TR 85
Windows 95 - XP - Vista | Ubuntu 09.04 | Ubuntu 10.04 LTS | Voyager 12.04 LTS 32 bits 64 bits | Voyager 14.04.4 LTS 64 bits + Switch Kwin
Lire du Flash... sans Flash... C'est par là =>

Hors ligne

#22 Le 03/01/2017, à 09:10

bruno

Re : [Réglé] rendre script exécutable au démarrage

Il faut modifier le script pour indiquer le chemin complet de l’exécutable :

#!/bin/sh
/usr/bin/xrandr …

Hors ligne

#23 Le 03/01/2017, à 10:41

le-peyo

Re : [Réglé] rendre script exécutable au démarrage

Pour info, sur mon ordi, mon script d'affichage double moniteur est le suivant. Je l'ai placé dans mon /home/peyo/.config :

#! /bin/bash

xrandr --output VGA-0 --mode 1680x1050 --left-of LVDS-0
xrandr --output LVDS-0 --mode 1366x768

exit

La commande xrandr seule suffit (car elle est dans le PATH : paragraphe 7.1)


marius76 a écrit :

Pourtant lorsque je fais un clic droit dessus je n'ai pas la possibilité de faire "exécuter" contrairement à mon configuartion2.sh qui se trouve sur mon bureau...
Je n'y comprends rien...

As-tu essayé : Clic droit => Propriétés => Permissions => Autoriser ce fichier à être exécuté comme un programme ?

À plus.

Dernière modification par le-peyo (Le 03/01/2017, à 11:00)


Sous Linux depuis 2009 | Packard Bell EasyNote TR 85
Windows 95 - XP - Vista | Ubuntu 09.04 | Ubuntu 10.04 LTS | Voyager 12.04 LTS 32 bits 64 bits | Voyager 14.04.4 LTS 64 bits + Switch Kwin
Lire du Flash... sans Flash... C'est par là =>

Hors ligne

#24 Le 03/01/2017, à 19:34

marius76

Re : [Réglé] rendre script exécutable au démarrage

Merci à TOUS pour votre aide.
Mention spéciale pour le-peyo !!!
La solution proposée consistant à mettre la commande suivante :

sh -c "sleep 8; sh /home/ameflo/.screenlayout/45x11-xrandr.sh"

a réglé le problème !!!
J'ai bien évidemment depuis le début coché ce qu'il fallait dans Clic droit => Propriétés => Permissions => Autoriser ce fichier à être exécuté comme un programme. Pour autant quand je fais un clic droit sur mon fichier 45x11-xrandr.sh il n'est pas possible de faire exécuter alors que sur mon fichier configuration2.sh il y a cette possibilité en faisant un clic droit... Bref ! Ca fonctionne c'est l'essentiel...
Si j'ai bien compris c'était simplement un problème de script qui s'exécute trop tôt ???? Ce qui confirme les dires de Hizoka aussi !!
Merci à tous !!


Linux ? Il y a moins bien mais c'est plus cher !!

Hors ligne

#25 Le 03/01/2017, à 19:37

Hizoka

Re : [Réglé] rendre script exécutable au démarrage

Ouais comme je le disais, j'ai déjà rencontré ce problème...

Content pour toi.

Hors ligne