Как создать общесистемный псевдоним для привязки пакета в Ubuntu 16.04?
Я хотел бы установить Blender в качестве оснастки. Я обнаружил, что существует пакет blender-tpaw , который можно установить. К сожалению, после установки он доступен в терминале под именем blender-tpaw
, а не blender
.
Итак, прежде всего я попытался запустить команду sudo snap alias blender-tpaw blender
, согласно: https://insights.ubuntu.com/2017/01/28/ubuntu -core-хау для включения-псевдонимы-для-вашей-щелкает-команду / . Но вот что у меня есть:
error: cannot perform the following tasks:
- Enable aliases for snap "blender-tpaw" (cannot enable alias "blender" for "blender-tpaw", no such alias)
Затем я попытался создать символическую ссылку sudo ln -s /snap/bin/blender-tpaw /usr/local/bin/blender
, но в этом случае очень странная вещь: теперь, когда я набираю blender
в терминале, я получаю вывод команды snap
...
Я также пытался создать псевдоним в /etc/profile.d/alias.sh
alias blender='blender-tpaw'
Но только эта работа, на моем сервере Ubuntu 16.04, но не работает в Ubuntu 16.04 Desktop.
Я хочу, чтобы этот псевдоним был общесистемным для всех пользователей, без изменения вручную .bashrc
для каждого пользователя в отдельности. И я хочу, чтобы так же работал на Ubuntu Server и Ubuntu Desktop.
Какая бы проблема ни встречалась в прошлом году при попытке зарегистрировать псевдоним, теперь кажется исправленной. Та же самая последовательность работала 16 апреля, и почти выпущенная 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
Чтобы установить псевдоним вне snap
с помощью встроенной функции bash alias
, вам нужно явно вызвать snap
, поэтому в вашем случае команда будет:
alias blender='snap run blender-tpaw'
man bash
говорит:
Когда запускается интерактивная оболочка, которая не является оболочкой входа в систему, bash читает и выполняет команды из /etc/bash.bashrc и ~ / .bashrc , если эти файлы существуют.
blockquote>Чтобы сделать псевдоним доступным для всей системы, просто добавьте его в файл
/etc/bash.bashrc
:echo "alias blender='snap run blender-tpaw'" >> /etc/bash.bashrc