Il mio scenario è questo:
Ho una sessione dello schermo in esecuzione in una posizione remota. All'interno di questa schermata c'è un programma basato su console. Quando viene eseguito senza schermo, questo programma si avvia nel terminale e accetta comandi sul suo input standard.
Quello che voglio è un modo per inviare in remoto un comando allo schermo in modo che questo comando venga ricevuto dal programma della console. Forse così:
Il mio PC -> SSH Send Msg Auto -> Screen Session -> Program (comando Esegui ricevuto)
Quindi da un PC remoto posso inviare tramite SSH comandi allo schermo che li invia al programma. Il programma li accetta e li esegue.
Risposta accettata:
Se ho capito bene, vuoi inviare l'input a un programma in esecuzione all'interno di una sessione dello schermo. Puoi farlo con stuff
dello schermo comando. Usa -X
dello schermo opzione per eseguire un comando in una sessione dello schermo senza collegarlo ad esso.
screen -S sessionname -p windowname -X stuff 'command1
command2
'
Se vuoi vedere l'output del programma, guarda il hardcopy
, log
e logfile
comandi.