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.


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:


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.