Jaki jest prawidłowy sposób tworzenia aliasu do przyciągania pakietu w Ubuntu 16.04?

8

TL; DR

Jak utworzyć systemowy alias do przystawki pakietu w Ubuntu 16.04?

Więcej szczegółów

Chciałbym zainstalować Blender w mgnieniu oka. Odkryłem, że istnieje pakiet blender-tpaw , który można zainstalować. Niestety po zainstalowaniu jest on dostępny w terminalu pod nazwą blender-tpaw, nie blender.

Używanie aliasu przyciągania

Przede wszystkim próbowałem uruchomić polecenie sudo snap alias blender-tpaw blender, zgodnie z: https://insights.ubuntu.com/2017/01/28/ubuntu-core-how-to-enable-aliases-for-your-snaps-commands / . Ale to mam:

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

Utwórz dowiązanie symboliczne w / usr / local / bin

Potem próbowałem utworzyć dowiązanie symboliczne, sudo ln -s /snap/bin/blender-tpaw /usr/local/bin/blenderale w tym przypadku zdarzyło się coś bardzo dziwnego: teraz, gdy piszę blenderw terminalu, mam wynik snappolecenia ...

Umieść alias w /etc/profile.d

Próbowałem także utworzyć alias w /etc/profile.d/alias.sh

alias blender='blender-tpaw'

Ale działa to tylko na moim Ubuntu 16.04 Server, ale nie działa na Ubuntu 16.04 Desktop.

Co chcę osiągnąć?

Chcę, aby ten alias był ogólnosystemowy dla wszystkich użytkowników, bez ręcznej zmiany .bashrcdla każdego użytkownika osobno. Chcę też w ten sam sposób pracować na Ubuntu Server i Ubuntu Desktop.

Piotr Ciążyński
źródło
Może to pomaga? insights.ubuntu.com/2017/01/28/…
edwinksl
@edwinksl Korzystam z polecenia z tego artykułu, ale wydaje się, że nie można zadeklarować własnych aliasów bez przebudowania całej przystawki.
Piotr Ciążyński
O, rozumiem. Tak naprawdę nie używam snapów, więc nie jestem tutaj pomocny, ale mam nadzieję, że istnieje proste rozwiązanie tego problemu; odbudowywanie snapów tylko po to, by tworzyć aliasy, to przesada.
edwinksl
Po utworzeniu dowiązania symbolicznego /usr/local/bin/blender, jaki jest wynik wprowadzenia komendy blender? Ponadto, czy na swojej ścieżce jest coś jeszcze o nazwie blender(użyj, type -a blenderaby wyświetlić listę wszystkiego, co powłoka hashuje pod tą nazwą)?
takatakatek

Odpowiedzi:

1

Jakikolwiek problem napotkał w ubiegłym roku podczas próby zarejestrowania aliasu, wydaje się teraz naprawiony. Ta sama sekwencja zadziałała 16.04, a także prawie wydana 18.04. Wersje zastosowań znajdują się w danych wyjściowych.

$ 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

Bibliografia:

dpb
źródło
0

Aby ustawić alias na zewnątrz snapza pomocą wbudowanej aliasfunkcji bash , musisz wywołać snapjawnie, więc w twoim przypadku polecenie to:

alias blender='snap run blender-tpaw'

man bash mówi:

Po uruchomieniu interaktywnej powłoki, która nie jest powłoką logowania, bash czyta i wykonuje polecenia z /etc/bash.bashrc i ~ / .bashrc, jeśli te pliki istnieją.

Aby alias był dostępny dla całego systemu, po prostu dodaj go do /etc/bash.bashrcpliku:

echo "alias blender='snap run blender-tpaw'" >> /etc/bash.bashrc
deser
źródło