Ative o ambiente conda no atalho da área de trabalho do Ubuntu
Eu tenho um atalho na área de trabalho que tem a seguinte Execlinha:
Exec=conda activate my_env && my_command
 
    No entanto, este atalho não inicia. Para tentar depurar isso, executei o mesmo comando em um prompt do bash sem .bashrc(uma vez .bashrcque não é fornecido para atalhos de desktop),
user@pc:~$ bash --norc bash-4.4$ conda activate my_env
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run
$ conda init <SHELL_NAME>
Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell
See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
 
    O problema é que o conda não detecta que já foi inicializado. conda initcria uma entrada em .bashrc:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/user/anaconda/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then eval "$__conda_setup"
else
    if [ -f "/home/user/anaconda/etc/profile.d/conda.sh" ]; then
        . "/home/user/anaconda/etc/profile.d/conda.sh"
    else
        export PATH="/home/user/anaconda/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<
 
    Tentei copiar esta entrada para o meu .profilee relogar, mas ainda não funcionou. Em vez disso, tentar conda initdentro .profileapenas duplica a entrada acima em .bashrc.
É possível ativar um ambiente conda a partir de um atalho na área de trabalho do Linux?
Respostas
Supondo que as linhas de inicialização do conda já estejam em um .bashrcarquivo, pode-se executar um comando em um ambiente ativado iniciando uma nova sessão bash:
Exec=bash -c "source ~/.bashrc && conda activate matlab_env && matlab"