Arrêt de fonctionnement Forerunner 910 XT [Réglé]
Montre Garmin ANT +, utilisation mageia 7.1
Système et matériels / Autres matériels et périphériques

arte-naki Membre non connecté
-
- Voir le profil du membre arte-naki
- Inscrit le : 03/11/2020
Reprise du message précédent
arte-naki :
vous devez spécifier sudo -H pour utiliser la variable d'environnement root au lieu de celle de l'utilisateur
J'ai créé un alias dans le fichier ~/.bash_aliases
Code :
alias sudo='/usr/bin/sudo -H'
Apparemment, bash_aliases a la priorité la plus élevée et remplace PATH.
Édité par arte-naki Le 02/12/2020 à 20h53

arte-naki Membre non connecté
-
- Voir le profil du membre arte-naki
- Inscrit le : 03/11/2020

Mieux vaut utiliser des liens symboliques. Par exemple :
Code :
sudo ln -s /usr/bin/python3.8 /usr/local/bin/python
au lieu de :

Code :
alias python='/usr/bin/python3.8'
Édité par arte-naki Le 04/12/2020 à 00h46

funix Membre non connecté
-
- Voir le profil du membre funix
- Inscrit le : 17/12/2012
- Site internet
- Groupes :

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron
funix :
ils ne sont pas ignorés, cela dépend de l'ordre des répertoires de la variable PATH, si /usr/bin est en premier c'est /usr/bin/python qui sera utilisé en premier
Il me semble que c'est plus compliqué que ça. Pour avoir déjà testé un alias qui changeait le PATH, ça ne fonctionnait pas du tout. Je n'ai pas tout compris mais l'expansion des alias ne se fait pas dans un script shell. Il semble que les alias ne soient pas utilisables directement dans un shell non interactif. Il faut utiliser la commande shopt. De la même manière la commande source en bash (ou . en sh) n'est pas utilisable facilement dans un script bash. Surtout si on doit l'utiliser de multiple fois. Il faut définir des environnements séparés dans le script.

funix Membre non connecté
-
- Voir le profil du membre funix
- Inscrit le : 17/12/2012
- Site internet
- Groupes :

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron
Code BASH :
alias r2d2='uneCommandeDejaExistanteQuelconque'
Si tu fais un script monScript
Code BASH :
#!/bin/bash
r2d2
Puis que tu le lances avec ./monScript. Tu auras une réponse Command r2d2 not found. Car l'alias n'est pas reconnu par le script.
De même si tu defini dans ton bashrc
Code BASH :
alias t1='source ~/bin/mySuperSoftware/bashrc' alias t1='source ~/bin/myOtherSoftware/bashrc'
Et supposons qu'ils ont les mêmes commandes (disons r2d2) puisque ce sont deux versions différentes d'un même logiciel. Puis que tu lances dans un terminal :
Code BASH :
t1 r2d2 t2 r2d2
Ça fonctionne. Tu auras d'abord la commande venant de mySuperSoftware puis celle de myOtherSoftware
Maintenant si tu fais la même chose dans un script
Code BASH :
#!/bin/bash source ~/bin/mySuperSoftware/bashrc r2d2 source ~/bin/myOtherSoftware/bashrc r2d2
Ça ne fonctionnera pas. La deuxième source sera ignorée. Dans ton script il faut définir les environnements dans lesquels ces commandes sont valables. Par exemple avec des parenthèses.
Code BASH :
#!/bin/bash ( source ~/bin/mySuperSoftware/bashrc r2d2 ) ( source ~/bin/myOtherSoftware/bashrc r2d2 )

funix Membre non connecté
-
- Voir le profil du membre funix
- Inscrit le : 17/12/2012
- Site internet
- Groupes :

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
funix :
ok compris, dans ce cas là généralement je crée un script plutôt qu'un alias que je mets sous /usr/local/bin pour pouvoir être appelé d'un autre script
si tu ne souhaites pas modifier tout le système et ne rendre la chose uniquement accessible pour l'unique utilisateur, tu peux mettre dans :
/home/${USER}/bin
ou si tu ne souhaites pas avoir encore un dossier supplémentaire visible dans le répertoire de l'utilisateur :
/home/${USER}/.local/bin
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron
funix :
ok compris, dans ce cas là généralement je crée un script plutôt qu'un alias que je mets sous /usr/local/bin pour pouvoir être appelé d'un autre script
C'est en effet la méthode souvent recommandée sur internet pour faire ça. Créer un script ou une fonction qu'on appellera dans les scripts dont on a besoin. Mais la première fois qu'on essaie, on ne comprend pas pourquoi les alias ne fonctionnent pas.

arte-naki Membre non connecté
-
- Voir le profil du membre arte-naki
- Inscrit le : 03/11/2020
Code :
PATH="/usr/local/bin:$PATH"
PATH="/home/denis/.local/bin:$PATH"
PATH="/home/denis/.bin:$PATH"
PATH="/home/denis/bin:$PATH"
PATH="/home/denis/.bin/python:$PATH"
PATH="/home/denis/.bin/ffmpeg:$PATH"
PATH="/home/denis/.bin/build:$PATH"
PATH="/home/denis/.bin/media:$PATH"
PATH="/home/denis/.bin/tool:$PATH"
PATH="/home/denis/.bin/apps:$PATH"
PATH="/home/denis/.bin/cmake:$PATH"
PATH="/home/denis/.bin/gcc:$PATH"
Je suppose que je suis un maniaque

C'est drôle, mais dans Ubuntu, vous devez éditer le fichier ~/.profile et dans Magee/Debian ~/.bashrc.
Debian et Mageia ont ~/.local/bin et ~/bin spécifiés par défaut, mais ils ne fonctionnent pas sans paramètres spéciaux. Je ne sais pas pourquoi. Tout fonctionne dans Ubuntu.
Mon fichier /etc/ld.so.conf.d/libc.conf
Code :
# libc default configuration
/usr/local/lib
/home/denis/.local/lib
/home/denis/.local/lib/ffmpeg
/home/denis/.local/lib/ffmpeg-extra
/home/denis/.local/lib/gimp
/home/denis/.local/lib/gcc

Pour enregistrer vos modifications, vous devez entrer sudo ldconfig ou redémarrer.
Les bins ne sont appliqués qu'après un redémarrage, ou vous devez à chaque fois spécifier source ~/.profile dans le terminal
Édité par arte-naki Le 04/12/2020 à 18h43

funix Membre non connecté
-
- Voir le profil du membre funix
- Inscrit le : 17/12/2012
- Site internet
- Groupes :
Jybz :
si tu ne souhaites pas modifier tout le système et ne rendre la chose uniquement accessible pour l'unique utilisateur, tu peux mettre dans :
/home/${USER}/bin
ou si tu ne souhaites pas avoir encore un dossier supplémentaire visible dans le répertoire de l'utilisateur :
/home/${USER}/.local/bin
si tu ne souhaites pas modifier tout le système et ne rendre la chose uniquement accessible pour l'unique utilisateur, tu peux mettre dans :
/home/${USER}/bin
ou si tu ne souhaites pas avoir encore un dossier supplémentaire visible dans le répertoire de l'utilisateur :
/home/${USER}/.local/bin
j'ai également des scripts sous ~/bin, ça dépend de leur usage

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
arte-naki :
Debian et Mageia ont ~/.local/bin et ~/bin spécifiés par défaut, mais ils ne fonctionnent pas sans paramètres spéciaux. Je ne sais pas pourquoi. Tout fonctionne dans Ubuntu.
Pouvez vous préciser ce qui ne fonctionne pas ?
Pouvez vous préciser les paramètre spéciaux ?
Ici, ça fonctionne par défaut.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

arte-naki Membre non connecté
-
- Voir le profil du membre arte-naki
- Inscrit le : 03/11/2020
Jybz :
Pouvez vous préciser ce qui ne fonctionne pas ?
Pouvez vous préciser ce qui ne fonctionne pas ?
Les binaires qui se trouvent dans ~ /.local/bin (par exemple, ~/.local/bin/nasm) ne démarrent pas lorsqu'ils sont accédés par leur nom depuis un terminal (c'est-à-dire nasm).
Jybz :
Pouvez vous préciser les paramètre spéciaux ?
Pouvez vous préciser les paramètre spéciaux ?
Mettez PATH="/home/denis/.local/bin:$PATH" dans ~ /.bashrc et redémarrez votre ordinateur.
Jybz :
Ici, ça fonctionne par défaut
Ici, ça fonctionne par défaut
Probablement parce que j'ai XFCE / LXDE et lightdm, non KDE.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Code BASH :
mkdir ~/bin echo '#!/bin/bash echo tralala exit 0' >~/bin/nasm chmod +x ~/bin/nasm
redémarrage de la machine :
Code BASH :
nasm
j'ai en résultat tralala
Quand j'ai le temps je retesterai avec xfce / lightdm.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
urpmi lightdm
urpmi task-xfce
drakconf → startup → DM
redémarrage
avec lightdm, démarrant xfce, quand je tape nasm dans un terminal, j'ai bien "tralala".
Par défaut, ça marche.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

arte-naki Membre non connecté
-
- Voir le profil du membre arte-naki
- Inscrit le : 03/11/2020
Je n'utilise pas ~/bin car c'est une horreur (dossier supplémentaire toujours en vue).
Je vais installer Mageia 7 LXDE avec lxdm et le vérifier aussi.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie