web-dev-qa-db-ja.com

Ubuntu 16.04でパッケージをスナップするエイリアスを作成する正しい方法は何ですか?

TL; DR

Ubuntu 16.04でパッケージをスナップするためのシステム全体のエイリアスを作成するにはどうすればよいですか?

詳細

Blenderを簡単にインストールしたいと思います。インストールできるblender-tpawパッケージがあることがわかりました。残念ながら、インストール後は、blenderではなく、blender-tpawという名前で端末で使用できます。

スナップエイリアスの使用

したがって、まず、次のようにコマンド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でも同じ方法で作業したいです。

8

エイリアスを登録しようとしたときに昨年発生した問題はすべて修正されたようです。同じシーケンスが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

参照:

1
dpb

Bash-builtin snap関数を使用してaliasの外部にエイリアスを設定するには、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
0
dessert