Qual è il modo corretto di creare un alias per lo snap pacchetto in Ubuntu 16.04?


8

TL; DR

Come creare un alias a livello di sistema per agganciare il pacchetto in Ubuntu 16.04?

Più dettagli

Vorrei installare Blender in un attimo. Ho scoperto che esiste un pacchetto blender-tpaw che può essere installato. Sfortunatamente dopo averlo installato, è disponibile nel terminale sotto il nome blender-tpaw, non blender.

Usando lo pseudonimo

Quindi prima di tutto ho provato a eseguire il comando sudo snap alias blender-tpaw blender, secondo: https://insights.ubuntu.com/2017/01/28/ubuntu-core-how-to-enable-aliases-for-your-snaps-commands / . Ma questo è quello che ho:

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

Crea un collegamento simbolico in / usr / local / bin

Poi ho provato a creare un collegamento simbolico, sudo ln -s /snap/bin/blender-tpaw /usr/local/bin/blenderma in questo caso succede qualcosa di molto strano: ora quando scrivo blenderun terminale ho l'output del snapcomando ...

Inserisci l'alias in /etc/profile.d

Ho anche provato a creare un alias in /etc/profile.d/alias.sh

alias blender='blender-tpaw'

Ma funziona solo sul mio server Ubuntu 16.04, ma non funziona sul desktop Ubuntu 16.04.

Cosa voglio ottenere?

Voglio che questo alias sarà esteso al sistema, per tutti gli utenti, senza cambiare manualmente .bashrcper ogni utente separatamente. E voglio lavorare allo stesso modo su Ubuntu Server e anche su Ubuntu Desktop.



@edwinksl Uso il comando di questo articolo, ma sembra che non sia possibile dichiarare i propri alias senza ricostruire l'intero snap.
Piotr Ciążyński,

Ah capisco In realtà non uso gli snap, quindi non sono di aiuto qui, ma spero che ci sia una soluzione semplice a questo; ricostruire gli snap solo per creare alias è eccessivo.
edwinksl

Dopo aver effettuato il collegamento simbolico a /usr/local/bin/blender, qual è l'output dall'immissione del comando blender? Inoltre, hai qualcos'altro nel tuo percorso chiamato blender(usa type -a blenderper elencare tutto ciò che la shell ha sotto hash con quel nome)?
Takatakatek,

Risposte:


1

Qualunque problema si sia verificato l'anno scorso durante il tentativo di registrare l'alias ora sembra risolto. La stessa sequenza ha funzionato il 16.04 e anche il quasi 18.04. Le versioni utilizzate sono nell'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

Riferimenti:


0

Per impostare un alias all'esterno snapusando la aliasfunzione built-in bash devi chiamare snapesplicitamente, quindi nel tuo caso il comando è:

alias blender='snap run blender-tpaw'

man bash dice:

Quando viene avviata una shell interattiva che non è una shell di accesso, bash legge ed esegue i comandi da /etc/bash.bashrc e ~ / .bashrc, se esistono questi file.

Quindi, per rendere l'alias disponibile a livello di sistema, basta aggiungerlo al /etc/bash.bashrcfile:

echo "alias blender='snap run blender-tpaw'" >> /etc/bash.bashrc
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.