Como alternar rapidamente entre os usuários em um único terminal?

3

Eu gostaria de mudar para outro usuário sem fazer logout do primeiro usuário, depois fazer login como um terceiro usuário sem fazer logout dos outros dois, e assim por diante, e alternar rapidamente entre todos os usuários. Gostaria de inserir senhas apenas uma vez para cada usuário, obviamente.

Existe uma maneira análoga de fazer isso com os processos, onde posso enviá-los para o segundo plano e o primeiro plano com ctrl-z e fg, conforme necessário?

    
por bug 05.04.2013 / 09:48

3 respostas

1

Stephane Chazelas escreveu:

You can't suspend with Ctrl+Z, but you can suspend with the suspend builtin (or kill -s STOP "$$" if your shell doesn't have such a builtin).

Muito obrigado, isso parece funcionar como um encanto. Depois de efetuar login como outro usuário, o suspend envia o shell para o segundo plano e retorna o controle ao shell do usuário anterior. Então eu posso usar fg como eu faria com qualquer outro trabalho para retomar.

Até onde eu tentei, parece funcionar com mais de dois usuários e em ssh (que suspende com ~^z porque é um shell de login). Não há necessidade de usar um multiplexador de terminal como tela depois de tudo.

    
por 05.04.2013 / 12:47
7

Use su <user> , opcionalmente com a opção - (também conhecida como -l ou --login ) para fazer o shell se comportar como um shell de login (inicialização diferente).

Você não pode realmente enviá-lo para o segundo plano, já que o shell desse usuário captura o sinal SIGTSTP que é usado para movê-lo para o plano de fundo e sai (normalmente). Em vez disso, você pode estar interessado em um multiplexador de terminal como tmux ou screen

Você também pode querer usar vlock nos consoles quando não os estiver usando por mais tempo .

    
por 05.04.2013 / 10:05
0

Uma maneira possível seria usar um programa como o screen ou o tmux

Crie uma nova tela chamada foo

screen -S foo   

Crie outra tela

ctrl + a + c

Alterne entre eles

ctrl + a + a

alternativamente, pressione o número do shell para pular para ele

ctrl + a + 1

Você pode ver o nome / número de todas as sessões de tela aberta da seguinte forma:

ctrl + a + w

Estes serão 3 shells separados, mas todos estarão dentro de 1 terminal.

    
por 24.04.2014 / 05:33

Tags