Is $PATH environment variable of a desktop environment different from that is a shell?
Pode ser.
O ambiente de um programa não vem de um arquivo, a menos que o programa faça todo o possível para ler as variáveis de ambiente de um arquivo. Cada processo herda o ambiente de seu pai. A leitura de variáveis de ambiente de um arquivo faz parte do trabalho do programa executado no login (um shell ao efetuar login no modo de texto, um gerenciador de sessão ou o programa que age como tal ao efetuar login em um ambiente gráfico). Então, normalmente, se você usar o ambiente de área de trabalho e abrir um shell em um terminal, esse shell terá o mesmo ambiente que o ambiente de área de trabalho.
No entanto, na prática, isso pode não ser o caso, porque há uma tonelada de conselhos na Web dizendo às pessoas para colocar as definições de variáveis de ambiente em .bashrc
. Essa é uma má idéia porque significa que essas variáveis de ambiente não estão disponíveis para programas iniciados diretamente da GUI, em vez de serem iniciados a partir de um terminal. Mas se você fez isso, você pode achar que você tem diferentes variáveis de ambiente em um terminal em comparação com o que você tem no ambiente de desktop e em programas não iniciados a partir de um terminal.
Colocar definições de variáveis de ambiente em ~/.profile
funciona na maioria dos sistemas. Eu acho que funciona para o Gnome no Ubuntu 16.04, desde que você não ative o Wayland (que quebra muitas coisas, incluindo configurações de login, e nem sempre oferece uma maneira de recuperar).
Em qualquer caso, os sintomas comuns de colocar variáveis de ambiente no local errado são que as variáveis de ambiente estão presentes em um terminal, mas ausentes no ambiente de área de trabalho. Para que seja o contrário, você teria que ter algo incomum em seus arquivos de inicialização do shell.
qtcreator is not in the variable $PATH of the shell.
Eu duvido muito, se estiver instalado. O Ubuntu envia qtcreator
em /usr/bin
, que é onde a maioria dos programas está localizada.
Mas observe que $PATH
não tem nada a ver com a localização do arquivo .desktop
. $PATH
é para programas aplicativos, não para .desktop
files. Se você está procurando o arquivo .desktop
para qtcreator
, e você tem o pacote qtcreator
instalado, você pode apenas procure o arquivo :
$ locate qtcreator.desktop
/usr/share/applications/qtcreator.desktop
/usr/share/applications
é o local padrão para .desktop
arquivos.
Se você instalou sua própria versão do QtCreator além da versão do Ubuntu, certifique-se de que qtcreator
esteja no caminho de pesquisa do comando, ou seja, $PATH
. Se você o instalou em todo o sistema, deverá disponibilizá-lo como /usr/local/bin/qtcreator
, que está no caminho de pesquisa do comando antes de /usr/bin
, para que você obtenha sua versão de preferência em relação à do sistema. Se você o instalou em sua conta, crie um link simbólico de onde o qtcreator
executável for para ~/bin/qtcreator
, ou seja, para o diretório bin
em seu diretório inicial (se esse diretório não existir, crie-o). O .profile
padrão do Ubuntu adiciona ~/bin
à frente de $PATH
.