Execute o xterm com shell de login ou não?

Execute o xterm com shell de login ou não?

Por padrão xterminicia um shell interativo. Mas você também pode configurá-lo para iniciar uma sessão interativashell de login.

Isso significa que ao iniciar um xtermvocê obtém o mesmo tipo de shell, como fazer login via ssh/virtual console/su.

Quais são as vantagens/desvantagens de configurar umshell de loginem xterm?

Eu posso imaginar:

  • uptime, w, lastetc. relatam quantos usuários xtermestão abertos. (vantagem?)
  • bashapenas fontes .login, .profile, /etc/profile.dquando iniciado comoshell de login
  • zshtem arquivos semelhantes que ele lê quando iniciado comoshell de login- mas no meu sistema eles estão vazios por padrão

xtermSeção da página de manual relacionada :

   -ls     This  option  indicates  that  the shell that is started in the
           xterm window will be a login shell (i.e., the  first  character
           of  argv[0]  will  be  a  dash, indicating to the shell that it
           should read the user's .login or .profile).

Também existe um recurso:

  loginShell (class LoginShell)
           Specifies whether or not the shell to  be  run  in  the  window
           should be started as a login shell.  The default is “false.”

Responder1

A execução de um shell de login no terminal executará qualquer programa que você colocar em seu .profile, mesmo que você espere que esse programa seja executado apenas uma vez por sessão (por exemplo, ssh-agente outros chaveiros). A execução de um shell de login substituirá as variáveis ​​de ambiente que você definiu em sua sessão ou no processo pai do terminal.

O maior problema que as pessoas que executam um shell de login em terminais experimentam é que geralmente não definem suas variáveis ​​de ambiente quando fazem login na GUI. A desvantagem disso é que as variáveis ​​de ambiente estão disponíveis apenas em programas iniciados a partir de um terminal, e não em programas iniciados diretamente através da GUI. Se você definir suas variáveis ​​de ambiente no momento do login, configurá-las novamente em cada terminal será, na melhor das hipóteses, inútil e às vezes um problema, como visto acima.

Veja tambémDiferença entre .bashrc e .bash_profile,Alternativa para .bashrce algumas perguntas que vi no Stack Exchange que teriam sido evitadas se o solicitante tivesse definido variáveis ​​de ambiente por sessão.

informação relacionada