Quelle est la bonne façon de créer un alias pour snaper un package dans Ubuntu 16.04?

8

TL; DR

Comment créer un alias à l'échelle du système pour capturer un package dans Ubuntu 16.04?

Plus de détails

Je voudrais installer Blender en un clin d'œil. J'ai trouvé qu'il existe un package blender-tpaw qui peut être installé. Malheureusement, après l'avoir installé, il est disponible dans le terminal sous son nom blender-tpaw, non blender.

Utiliser l'alias de capture

J'ai donc tout d'abord essayé d'exécuter la commande sudo snap alias blender-tpaw blender, selon: https://insights.ubuntu.com/2017/01/28/ubuntu-core-how-to-enable-aliases-for-your-snaps-commands / . Mais voici ce que j'ai:

error: cannot perform the following tasks:
- Enable aliases for snap "blender-tpaw" (cannot enable alias "blender" for "blender-tpaw", no such alias)

Créer un lien symbolique dans / usr / local / bin

Ensuite, j'ai essayé de faire un lien symbolique, sudo ln -s /snap/bin/blender-tpaw /usr/local/bin/blendermais dans ce cas, une chose très étrange se produit: maintenant, lorsque je tape blenderun terminal, j'ai une sortie de snapcommande ...

Mettez l'alias dans /etc/profile.d

J'ai également essayé de créer un alias dans /etc/profile.d/alias.sh

alias blender='blender-tpaw'

Mais cela ne fonctionne que sur mon serveur Ubuntu 16.04, mais ne fonctionne pas sur le bureau Ubuntu 16.04.

Que veux-je réaliser?

Je veux que cet alias soit à l'échelle du système, pour tous les utilisateurs, sans changer manuellement .bashrcpour chaque utilisateur séparément. Et je veux que la même manière fonctionne sur Ubuntu Server, et Ubuntu Desktop également.

Piotr Ciążyński
la source
Peut-être que cela aide? insights.ubuntu.com/2017/01/28/…
edwinksl
@edwinksl J'utilise la commande de cet article, mais il semble qu'il ne soit pas possible de déclarer vos propres alias sans reconstruire le composant logiciel enfichable entier.
Piotr Ciążyński
Ah, je vois. Je n'utilise pas vraiment de snaps, donc je ne suis d'aucune utilité ici, mais j'espère qu'il y a une solution simple à cela; reconstruire des snaps juste pour créer des alias est exagéré.
edwinksl
Après avoir créé le lien symbolique vers /usr/local/bin/blender, quelle est la sortie de la saisie de la commande blender? De plus, avez-vous autre chose dans votre chemin nommé blender(utilisez type -a blenderpour lister tout ce que le shell a haché sous ce nom)?
takatakatek

Réponses:

1

Quel que soit le problème rencontré l'année dernière lors de la tentative d'enregistrement de l'alias, il semble désormais résolu. La même séquence a fonctionné le 16.04, et le 18.04 presque sorti également. Les versions utilisées sont dans la sortie.

$ sudo snap install blender-tpaw
[sudo] password for dpb: 
blender-tpaw 2.78c-tpaw0 from 'tpaw' installed
$ sudo snap alias blender-tpaw blender
Added:
  - blender-tpaw as blender
$ sudo snap aliases
Command                  Alias         Notes
aws-cli.aws              aws           -
blender-tpaw             blender       manual
conjure-up.conjure-down  conjure-down  -
lxd.lxc                  lxc           -
$ snap version
snap    2.32.3.2+18.04
snapd   2.32.3.2+18.04
series  16
ubuntu  18.04
kernel  4.15.0-15-generic

Références:

dpb
la source
0

Pour configurer un alias à l'extérieur en snaputilisant la fonction bash-builtin alias, vous devez appeler snapexplicitement, donc dans votre cas, la commande est:

alias blender='snap run blender-tpaw'

man bash dit:

Lorsqu'un shell interactif qui n'est pas un shell de connexion est démarré, bash lit et exécute les commandes depuis /etc/bash.bashrc et ~ / .bashrc, si ces fichiers existent.

Donc, pour rendre l'alias disponible à l'échelle du système, ajoutez-le simplement au /etc/bash.bashrcfichier:

echo "alias blender='snap run blender-tpaw'" >> /etc/bash.bashrc
dessert
la source