Identificar arquivos executados no login e como manipular um novo ambiente de usuário no Linux

0

Estou tentando identificar os arquivos executados no login, em ordem. Estou pensando especificamente em arquivos como ~/.*shrc ( .bashrc , .tcshrc , etc.), ~/.profile ou /etc/profile .

Eu estou rodando em um sistema diferente daqueles que eu estou acostumado e encontrando vários comportamentos básicos diferentes (por exemplo, a tecla Home no meu teclado agora insere um til em vez de ir para o início da linha, aliases são diferentes, shell padrão diferente). Então, estou passando pelo processo de aprender mais sobre como todos os scripts de inicialização funcionam, quais configurações devem ser feitas , etc. Eu já fiz uma boa quantidade de leitura sobre esses tópicos até agora, no entanto, os links para discussões relacionadas são muito bem-vindos.

EDIT : título alterado para refletir com precisão o restante do texto acima.

    
por TTT 14.05.2014 / 15:16

2 respostas

0

Os arquivos executados na inicialização dependem do seu ambiente e do interpretador de comandos. Você terá que resolver isso lendo as respectivas páginas do manual. Como um exemplo para o bash:

  • determine qual SHELL você usa. login (1) e getusershell (3) irão ajudá-lo.
  • determina o tipo de sessão - login / interativo?

quando você os conhece, leia a página man do shell e procure por seu comportamento de inicialização. Como um exemplo para o bash (1):

INVOCATION The following paragraphs describe how bash executes its startup files. : -)

bash (como a maioria dos outros shells) tem uma opção --verbose . Se você quiser ficar chique, faça o shell de login executar o shell com sua configuração detalhada, como

shiny:bin root# cat vbash 
exec /bin/bash -v

e defina /bin/vbash como seu shell de login. Não precisa nem estar na lista branca em /etc/shells para funcionar ...

depois de ter os arquivos, corrija as configurações do terminal ...

    
por 14.05.2014 / 18:27
0

Quando preciso verificar a ordem de execução de cada arquivo de inicialização, basta adicionar um echo "{filename}" ao topo de cada arquivo de inicialização. Apenas substitua {filename} pelo nome desse arquivo de inicialização. Quando você faz o login, o comando echo é executado e imprime o nome do arquivo que foi acessado. O /etc/profile é provavelmente protegido por root, então você pode não conseguir editar esse arquivo.

    
por 14.05.2014 / 15:27