Como iniciar a sessão de tela com comandos?

1

Estou conectando a um dispositivo por meio de screen , o que requer que eu digite algumas credenciais (nome de usuário e senha). Está ficando chato fazer isso em cada entrada, então eu gostaria de colocar um comando para fazer isso por mim:

Esse alias em ~/.bash_aliases é insuficiente:

alias devlogin="sudo screen /dev/ttyACM0 9600 && '\rmyusername' && \rmypassword"
    
por tarabyte 31.01.2018 / 19:44

2 respostas

1

Precisa ser screen ? Outra opção é usar expect ou similar para abrir o dispositivo, emitir os comandos que forem necessários e, em seguida, entregar as informações ao usuário. Isso tem a vantagem de manter a senha fora da linha de comando (onde é geralmente visível em todo o sistema):

#!/usr/bin/env expect

# open up serial and configure
set fh [open /dev/ttyACM0 {RDWR NOCTTY NONBLOCK}]
fconfigure $fh -mode 9600,n,8,1

# link above up with expect
spawn -noecho -open $fh
send -- "\rmyuser"
send -- "\rHunter2"

# over to the user now
interact
    
por 01.02.2018 / 15:51
0

Usar stuff com a sintaxe correta parece funcionar:

alias evdlogin="sudo screen /dev/ttyACM0 9600 -X stuff $'\rmyusername\rmypassword'"

Observe que geralmente é uma prática ruim codificar uma senha em texto simples, mas como esse é um ambiente de desenvolvimento ...

link

    
por 31.01.2018 / 20:05

Tags