Parece que sua variável PATH é construída de forma diferente, dependendo de como entrar no shell.
Você pode verificar novamente com
echo $PATH
para as diferenças.
Não tenho experiência com o ambiente do Ruby, mas posso imaginar que exista um script sendo criado, que configura tudo (por exemplo, como com o nó / npm).
O Bash está potencialmente criando vários scripts, como / etc / profile, ~ / .profile ~ / .bash_rc, /etc/bash.bashrc.
Talvez sua configuração xterm faça uso de --noprofile ou --norc ou não seja invocada como shell de login e, portanto, não esteja obtendo uma parte relevante para configurar seu ambiente Ruby.
Do homem bash:
When bash is invoked as an interactive login shell, or as a non-
inter-active shell with the --login option, it first reads and
executes com-mands from the file /etc/profile, if that file exists.
After reading that file, it looks for ~/.bash_profile, ~/.bash_login,
and ~/.profile, in that order, and reads and executes commands from
the first one that exists and is readable. The --noprofile option
may be used when the shell is started to inhibit this behavior.
e
When an interactive shell that is not a login shell is started, bash
reads and executes commands from /etc/bash.bashrc and ~/.bashrc, if
these files exist. This may be inhibited by using the --norc option.
Edit: aqui está uma captura de tela mostrando o que precisa ser configurado para o xterm
Fonteoriginalaqui: