como obter rc shell para ler .rcrc na inicialização no Ubuntu?

2

Estou tentando usar o rc como meu shell de login no Ubuntu (usando o chsh). Percebi que ele não lê o arquivo $ HOME / .rcrc na inicialização. A documentação diz que, se invocado como um shell de login com * argv [0] == '-' ou com o sinalizador -l, ele lê o arquivo .rcrc e eu posso verificar isso executando-o diretamente por $ rc -l . ou de zsh ARGV0=-rc /usr/bin/rc .

No entanto, quando executado no login, ele não lê o arquivo .rcrc e a saída ps indica que o nome do shell é apenas "rc" e não "-rc". Assim, minha pergunta é, como fazer com que o / usr / bin / rc leia .rcrc na inicialização? e por que o Ubuntu não prefixa "-" ao shell? Existe uma maneira diferente de detectar que o shell é um shell de login?

    
por rahul 04.05.2012 / 21:18

1 resposta

2

Emuladores de terminal Linux na GUI normalmente não abrem shells de login por padrão, por oposição a, por exemplo, Terminal do OS X.

Se você pressionar Ctrl Alt F1 e efetuar o login na linha de comando, você terá um shell de login cujos comandos .rcrc será executado.

No terminal do Ubuntu, vá para Editar »Preferências de perfil» Título e comando »Executar comando como um shell de login .

Como alternativa, seu emulador de terminal pode suportar a execução de um comando arbitrário. Use /usr/bin/rc -l .

Você também pode criar um script curto que simplesmente lance rc como um shell de login:

#!/bin/bash
exec -l /usr/bin/rc "$@"

Isso iniciará bash para executar o script, e o script o substituirá completamente por rc chamado como um shell de login ( -l argument), além de todos os outros argumentos para este script. Você também pode adicionar o argumento -c para higienizar o ambiente.

Salvar como /usr/bin/rcl , tornar executável e adicionar uma entrada correspondente a /etc/shells .

    
por 04.05.2012 / 21:46

Tags