Ajout de la commande `export` dans` .bashrc` pour mettre à jour PATH avec un emplacement binaire - les applications graphiques ne connaissent pas la mise à jour, même si le terminal le fait?

0

Je devais ajouter un:

export PATH="/path/to/my/bin:$PATH"

à mon bash.rc, pour progAl'emplacement de la bibliothèque binaire. Maintenant, chaque fois que je démarre une instance de terminal GNOME, je peux taper progAet appuyer sur return et le bon binaire est exécuté.

Cependant, si je progAlance une application lancée par une interface graphique, mon système cherche et ne sait pas où se progAtrouve bin.

Que devrais-je faire?


la source

Réponses:

1

Le ~/.bashrcfichier n’est traité que pour les shells interactifs autres que les identifiants : il serait probablement préférable de définir le chemin.~/.profile

Pour une portabilité maximale, vous pouvez suivre le paradigme existant du ~/binrépertoire de l'utilisateur dans ~/.profile(éviter exportet tester l’existence du répertoire): quelque chose comme:

if [ -d "/path/to/my/bin" ] ; then
    PATH="/path/to/my/bin:$PATH"
fi

Comme il ~/.profilen’est lu que pour les shells de connexion, vous devrez vous déconnecter et vous reconnecter pour que cela prenne effet (ou au moins, démarrer un nouveau shell de login, par exemple en utilisant su - username). À partir de là, le nouveau PATH devrait se propager à tous les shells enfants, y compris les shells interactifs sans connexion de vos terminaux gnome.

Steeldriver
la source
1

Premièrement, tout ce qui est à l'intérieur .bashrcne s'applique qu'à la bashcoquille. À moins que cette mystérieuse application à interface graphique à laquelle vous faites référence utilise également .bashrc(pour laquelle je ne vois aucune raison du tout), elle ne saura pas où se trouve votre progA. Même le dialogue d'exécution (qui est Alt + F2 si vous ne le saviez pas) dashne l' utilise pas bash, ce .bashrcqui ne signifie rien pour lui. C'est pour un.

Deuxièmement, si vous voulez avoir un raccourci sur le bureau ou le lanceur, vous devez avoir un myAppName.desktopfichier avec le contenu suivant:

[Desktop Entry]
Name=myAppName
Type=Application
Exec=/path/to/the/progA
Terminal=false
Icon=/path/to/some/icon.png

Maintenant, lorsque vous avez cela et que le fichier est exécutable, vous pouvez double-cliquer sur ce .desktopfichier et lancer l'application (à condition que progA ait la propriété correctement définie, les autorisations et le jeu de bits de l'exécutable). Icon=une partie est facultative, vous pouvez donc la laisser de côté.

Sergiy Kolodyazhnyy
la source