Identifique os arquivos executados no login e como lidar com um novo ambiente de usuário no Linux

0

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

Estou executando em um sistema diferente daquele com o qual estou acostumado e encontrando vários comportamentos básicos diferentes (por exemplo, a tecla Home no teclado agora insere um til em vez de ir para o início da linha, os alias são diferentes , shell padrão diferente). Então, eu estou passando pelo processo de aprender mais sobre como todos os scripts de inicialização funcionam, quais configurações devem ser feitas onde, etc. Eu já li bastante esses tópicos até agora, mas os links para as discussões relacionadas são muito bem vinda.

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

TTT
fonte

Respostas:

0

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

  • determinar qual SHELL você usa. o login (1) e o getusershell (3) o ajudarão.
  • determinar o tipo de sessão - login / interativo?

quando você souber isso, leia a página de manual do shell e procure pelo 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 das outras conchas) tem uma --verboseopção. Se você quiser ser chique, faça com que o shell de login execute o shell com sua configuração detalhada, como

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

e defina /bin/vbashcomo seu shell de login. Nem precisa estar na lista de permissões /etc/shellspara funcionar ...

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

Florenz Kley
fonte
0

Quando preciso verificar a ordem de execução de cada arquivo de inicialização, basta adicionar um echo "{filename}"na parte superior de cada arquivo de inicialização. Apenas substitua {filename}pelo nome desse arquivo de inicialização. Quando você efetua login, esse comando echo é executado e imprime o nome do arquivo que foi acessado. O /etc/profileé provavelmente protegido raiz, então você pode não ser capaz de editar esse arquivo.

jmq
fonte
Mas como posso encontrar todos os arquivos em primeiro lugar? Frango vs. ovo.
TTT 14/05