参考:

参考:

总结

如何在 Ubuntu 16.04 中为 snap 包创建系统范围的别名?

更多细节

我想快速安装 Blender。我发现blender-tpaw可以安装的软件包。不幸的是,安装后,它在终端中的名称为blender-tpaw,而不是blender

使用 snap 别名

因此,首先我尝试运行命令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 桌面上无效。

我想要实现什么?

我希望这个别名是系统范围内的,适用于所有用户,而无需.bashrc为每个用户单独手动更改。我希望在 Ubuntu Server 和 Ubuntu Desktop 上也能以同样的方式工作。

答案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

参考:

答案2

snap要使用 bash-builtin函数在外部设置别名,alias您需要snap明确调用,因此在您的情况下,命令是:

alias blender='snap run blender-tpaw'

man bash说:

当启动非登录 shell 的交互式 shell 时,bash 会从 /etc/bash.bashrc 和 ~/.bashrc 读取并执行命令(如果这些文件存在)。

因此,为了使别名在系统范围内可用,只需将其添加到/etc/bash.bashrc文件中:

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

相关内容