Apa cara yang benar untuk membuat alias untuk mengambil paket di Ubuntu 16.04?

8

TL; DR

Bagaimana cara membuat paket alias seluruh sistem untuk snap di Ubuntu 16.04?

Keterangan lebih lanjut

Saya ingin menginstal Blender sebagai snap. Saya menemukan, bahwa ada paket blender-tpaw yang dapat diinstal. Sayangnya setelah menginstalnya, tersedia di terminal dengan nama blender-tpaw, tidak blender.

Menggunakan alias snap

Jadi pertama-tama saya sudah mencoba menjalankan perintah sudo snap alias blender-tpaw blender, menurut: https://insights.ubuntu.com/2017/01/28/ubuntu-core-how-to-enable-aliases-for-your-snaps-commands / . Tapi ini yang saya punya:

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

Buat tautan simbolis di / usr / local / bin

Lalu saya sudah mencoba membuat tautan simbolis sudo ln -s /snap/bin/blender-tpaw /usr/local/bin/blendertetapi dalam hal ini hal yang sangat aneh terjadi: sekarang ketika saya mengetikkan blenderterminal, saya mendapat output dari snapperintah ...

Masukkan alias di /etc/profile.d

Saya juga mencoba membuat alias di /etc/profile.d/alias.sh

alias blender='blender-tpaw'

Tetapi ini hanya berfungsi, pada Ubuntu 16.04 Server saya, tetapi tidak berfungsi di Ubuntu 16.04 Desktop.

Apa yang ingin saya capai?

Saya ingin agar alias ini menjadi sistem yang luas, untuk semua pengguna, tanpa mengubah secara manual .bashrcuntuk setiap pengguna secara terpisah. Dan saya ingin cara yang sama bekerja di Ubuntu Server, dan Ubuntu Desktop juga.

Piotr Ciążyński
sumber
Mungkin ini bisa membantu? insights.ubuntu.com/2017/01/28/…
edwinksl
@edwinksl Saya menggunakan perintah dari artikel ini, tetapi tampaknya tidak mungkin untuk mendeklarasikan alias Anda sendiri tanpa membangun kembali seluruh snap.
Piotr Ciążyński
Ah saya mengerti. Saya tidak benar-benar menggunakan buncis, jadi saya tidak membantu di sini, tetapi saya berharap ada solusi sederhana untuk ini; membangun kembali terkunci hanya untuk membuat alias berlebihan.
edwinksl
Setelah Anda membuat symlink /usr/local/bin/blender, apa output dari memasukkan perintah blender? Juga, apakah Anda memiliki sesuatu yang lain di jalur Anda bernama blender(gunakan type -a blenderuntuk mendaftar semua shell telah hash dengan nama itu)?
takatakatek

Jawaban:

1

Masalah apa pun yang ditemukan tahun lalu ketika mencoba mendaftar alias sekarang tampaknya sudah diperbaiki. Urutan yang sama bekerja pada 16,04, dan hampir dirilis 18,04 juga. Penggunaan versi dalam output.

$ 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

Referensi:

dpb
sumber
0

Untuk mengatur alias di luar snapmenggunakan fungsi bash-builtin aliasAnda perlu memanggil snapsecara eksplisit, jadi dalam kasus Anda perintahnya adalah:

alias blender='snap run blender-tpaw'

man bash mengatakan:

Ketika shell interaktif yang bukan shell login dimulai, bash membaca dan mengeksekusi perintah dari /etc/bash.bashrc dan ~ / .bashrc, jika file-file ini ada.

Jadi untuk membuat alias sistem yang tersedia luas, cukup tambahkan ke /etc/bash.bashrcfile:

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