Quando eu inicio o XTerm, meu .bashrc não é obtido

1

Meu ~/.bashrc : link

Meu ~/.Xresources : link

Como eu faço o XTerm automaticamente fonte .bashrc quando ele inicia? Atualmente, sempre que abro uma nova janela do XTerm, ela não obtém ~/.bashrc .

Meu sistema operacional é o Ubuntu 18.04.

    
por 盧芹達 24.11.2018 / 07:10

2 respostas

4

No seu arquivo ~/.Xresources , você tem a linha

xterm*loginShell: true

Isso faria o XTerm iniciar a sessão do shell como um shell de login. Quando bash é executado como um shell de login, ele lê seu arquivo ~/.bash_profile , mas não lê ~/.bashrc (esse arquivo é lido por sessões interativas sem login), a menos que ~/.bash_profile leia com source explicitamente.

Você tem duas opções:

  1. Remova a linha de ~/.Xresources que especifica que o shell deve ser um shell de login. Você provavelmente terá que sair de sua sessão de login gráfica para que este arquivo seja relido e para que as alterações entrem em vigor.
  2. Crie o arquivo ~/.bash_profile file source your ~/.bashrc , certificando-se de que o arquivo ~/.bashrc não esteja obtendo o arquivo ~/.bash_profile ao mesmo tempo (o que criaria um loop infinito).

    Um exemplo de como você pode fazer isso (isso seria adicionado ao arquivo ~/.bash_profile ):

    if [ -o interactive ] && [ -f ~/.bashrc ]; then
       source ~/.bashrc
    fi
    

    Talvez seja necessário fazer algo semelhante para /etc/profile vs /etc/bash.bashrc ou sempre que o bashrc do sistema estiver em seu sistema, se ainda não tiver sido feito pelo seu sistema. No entanto, como /etc/profile é lido por todos os shells parecidos com Bourne, não apenas bash , ele precisa ser adaptado um pouco:

    if [ -n "$BASH" ] &&
       [ "$BASH" != /bin/sh ] &&
       [ -o interactive ] &&
       [ ! -o posix ] &&
       [ -f /etc/bash.bashrc ]
    then
      source /etc/bash.bashrc
    fi
    
por 24.11.2018 / 09:21
0

Eu faria o seguinte:

  • Certifique-se de que o .bashrc esteja na sua pasta pessoal
  • Certifique-se de que é de sua propriedade

    xterm -e bash --rcfile /home/someuser/.bashrc
    
por 24.11.2018 / 08:51

Tags