Как правильно создать псевдоним для привязки пакета в Ubuntu 16.04?

8

TL; DR

Как создать общесистемный псевдоним для привязки пакета в Ubuntu 16.04?

Подробнее

Я хотел бы установить Blender в качестве оснастки. Я обнаружил, что есть пакет blender-tpaw , который можно установить. К сожалению, после установки он доступен в терминале под именем blender-tpaw, а не blender.

Использование псевдонима привязки

Итак, прежде всего я попытался выполнить команду sudo snap alias blender-tpaw blender, в соответствии с: https://insights.ubuntu.com/2017/01/28/ubuntu-core-how-to-enable-aliases-for-your-snaps-commands / . Но вот что у меня есть:

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

Создайте символическую ссылку в / usr / local / bin

Затем я попытался создать символическую ссылку, sudo ln -s /snap/bin/blender-tpaw /usr/local/bin/blenderно в этом случае произошла очень странная вещь: теперь, когда я печатаю blenderв терминале, я получаю вывод snapкоманды ...

Поместите псевдоним в /etc/profile.d

Я также пытался создать псевдоним в /etc/profile.d/alias.sh

alias blender='blender-tpaw'

Но это работает только на моем сервере Ubuntu 16.04, но не работает в Ubuntu 16.04 Desktop.

Чего я хочу добиться?

Я хочу, чтобы этот псевдоним был общесистемным для всех пользователей без изменения вручную .bashrcдля каждого пользователя в отдельности. И я хочу одинаково работать с Ubuntu Server, а также с Ubuntu Desktop.

Петр Чижинский
источник
Может это поможет? insights.ubuntu.com/2017/01/28/…
edwinksl
@edwinksl Я использую команду из этой статьи, но кажется, что невозможно объявить ваши собственные псевдонимы, не восстанавливая всю привязку.
Петр Чижинский
Ах я вижу. Я на самом деле не использую снимки, поэтому мне здесь не поможет, но я надеюсь, что есть простое решение для этого; перестраивать оснастки только для того, чтобы сделать псевдонимы - это излишне.
edwinksl
После того, как вы сделаете символическую ссылку /usr/local/bin/blender, каков результат ввода команды blender? Кроме того, есть ли у вас что-нибудь еще в вашем пути по имени blender(используйте, type -a blenderчтобы перечислить все, что оболочка хэширует под этим именем)?
Такатакатек

Ответы:

1

Какая бы проблема ни возникала в прошлом году при попытке зарегистрировать псевдоним, теперь кажется исправленной. Та же самая последовательность работала 16.04, и почти выпущенная 18.04 также. Версии используются в выводе.

$ 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

Ссылки:

РОП
источник
0

Чтобы настроить внешний псевдоним snapс помощью встроенной aliasфункции bash, вам нужно snapявно вызвать ее , поэтому в вашем случае команда выглядит так:

alias blender='snap run blender-tpaw'

man bash говорит:

Когда запускается интерактивная оболочка, которая не является оболочкой входа в систему, bash читает и выполняет команды из /etc/bash.bashrc и ~ / .bashrc, если эти файлы существуют.

Итак, чтобы сделать псевдоним доступным для всей системы, просто добавьте его в /etc/bash.bashrcфайл:

echo "alias blender='snap run blender-tpaw'" >> /etc/bash.bashrc
Десерт
источник