Os aplicativos Snap não aparecem após o login novamente usando o shell de peixe

1

No Ubuntu 18.04 eu mudei meu shell para pescar via

chsh -s 'which fish'

Eu instalei os aplicativos de snap do Maillspring e do Visual Studio Code, eles foram instalados corretamente e podem ser lançados do painel inicialmente, mas depois de fazer login e fazer logout, nenhum deles apareceu mais no painel.

Pesquisando-os em programas de armazenamento de software que estão instalados e posso iniciá-los a partir daí.

Por que o shell padrão é importante para isso?

    
por Calin 06.05.2018 / 00:29

2 respostas

2

O comando que você tinha originalmente em sua pergunta chsh -s which bash foi como você diz um erro de digitação que causou uma grande confusão em torno de sua pergunta. Mesmo se tivesse sido devidamente formado com os 'símbolos em torno dos quais bash como mostrado abaixo.

mudariaoshellparabash(opadrão).Paraalteraroshellparafishuse

ousimplesmenteuseocomandochshedigiteocaminhoparaoshellquevocêdesejausar.Vejaabaixo:

me@zippy-64bit:~$chshPassword:ChangingtheloginshellformeEnterthenewvalue,orpressENTERforthedefaultLoginShell[/bin/bash]:

Paramaisinformaçõessobreaconchadepeixe,veja esta

EDIT: Com relação aos pacotes de snap: o shell padrão será importante? a resposta é possivelmente , pois depende das suposições feitas e da abordagem adotada pelo programador. Consulte as diferenças em como bash e como os peixes lidam com as coisas no link anterior. Por exemplo, o fish não possui uma subshell implícita que pode causar efeitos colaterais surpreendentes na atribuição de variáveis para o programador que espera um comportamento semelhante ao bash. Há um bom exemplo de uma expectativa de um subshell implícito na pergunta aqui.

Por quê? Em uma tentativa de esclarecer, parece que o conceito de herança é tratado de maneira diferente entre os peixes e outras conchas mais comuns, como o bash. Meu entendimento é que isso pode resultar em comportamento inesperado de pipes, loops e funções (todos os quais são estratégias de programação comumente usadas).

O programador também pode confiar em shell builtins que não pode existir no peixe ou pode ser implementado de forma inesperada.

Fontes:

por Elder Geek 09.05.2018 / 16:08
-1

Os snaps que você instalou podem ser encontrados em / snap / bin / Você precisa ter esse diretório em seu $ PATH.

O Ubuntu adiciona automaticamente / snap / bin ao seu $ PATH. Isso acontece em /etc/profile.d/apps-bin-path.sh que é executado quando você obtém um shell de login.

Eu verifiquei e fish também adiciona /snap/bin em $ PATH, então normalmente ele deve ficar bem.

Você pode nos mostrar a saída do comando

echo $PATH

Se a saída tiver /snap/bin , então parabéns você encontrou um bug no Ubuntu e você pode enviar um relatório no Launchpad para ele.

addition : O Ubuntu internamente provavelmente usa $ SHELL para alguns dos scripts. O shell fish não é 100% compatível com bash e parece que essa é a causa do problema. É um problema comum quando você altera seu shell de login para algo diferente de bash . Veja, por exemplo, o link do relatório com os usuários mudando o shell para /bin/tcsh .

Você precisa enviar um relatório de erro para o Ubuntu para que alguém investigue e corrija o script interno para trabalhar com fish . Se você realmente ama fish , é isso que precisa fazer. ; -)

    
por Simos 13.05.2018 / 23:01