Newsgroup: it.comp.os.linux.debian
Titolo: Connettermi in remoto ad una sessione aperta

Ciao a tutti,
su un PC ho una sessione aperta in console: vorrei collegarmi via ssh alla 
stessa sessione: ï¿œ possibile?
Esempio:
$ w
me  pts/3  :0  Fri23  12:26m  0.03s  0.03s  vi documenti/tel.txt
Supponiamo che abbia fatto delle modifiche in tel.txt in locale che non 
voglio perdere, ma che debba farne altre ora e da remoto: posso prendere il 
controllo della sessione che ho aperto precedentemente in locale?
Ciao e grazie,
  Void :-)

 
sì, con screen
nella prima sessione ssh apri una sessione screen con un nome a tua 
scelta con 
screen -S nome
nella seconda sessione di SSH ti attacchi alla sessione screen esistente 
con
screen -x nome
per vedere le sessioni screen attive dai 
screen -ls

 scelta con screen -S nome
D'accordo, ma non avevo aperto una sessione con screen ed ora vorrei 
accedere a quella sessione bash "nuda": ï¿œ possibile?
Ciao,
  Void

 accedere a quella sessione bash "nuda": è possibile?
Le vie della shell sono infinite, ma che io sappia non è possibile :)

 Le vie della shell sono infinite, ma che io sappia non ï¿œ possibile :)
:-) Grazie comunque!
Ciao,
  Void

 screen -x nome
fantastico, non lo sapevo
ma senti, poi per uscire dalla visualizzazione da remoto come si fa?
se premo q si interrompe il processo in atto
grazie!

 premo q si interrompe il processo in atto
Quando sei dentro una sessione screen puoi fare "detach" lasciando aperta 
la sessione, screen accetta una serie di comandi per fare questo tipo di 
operazioni , si inizia sempre con il ctrl+a.
Per fare detach dalla sessione corrente: ctrl+a d
man screen per la lista completa.
Un utlizzo frequente di questa funzionalità è quello di fare ssh, aprire 
una sessione screen, lanciare un programma da tale sessione, fare detach 
e dopo chiudere la sessione ssh. In questo modo il programma non viene 
chiuso alla chiusura di ssh.
ciao

 ciao
ma tu pensa... per me e' utilissimo
a me serve per monitorare script che partono di notte (sono backup fatti 
con rsync)
ho provato in un o script script a mettere una prima riga con
"screen -x backupnotturno" seguita dalla riga dell' rsync
sembra che non funzioni.
il man screen e' HUGE !!!

 sembra che non funzioni.
non funziona no!
quell'rsync viene eseguito alla fine della sessione screen, non 
all'interno della stessa.
quindi: o ti attacchi a screen a mano e dopo lanci da li dentro lo script 
o usi l'opzione -X (maiuscolo) di screen.
o ti fai uno script interattivo con il linguaggio expect

 o ti fai uno script interattivo con il linguaggio expect
ma prc ptt
una volta che ho scoperto l'America....
:-)
grazie comunque, mi servira' per altri scopi!
buona giornata RedWiz.
gigi

 grazie comunque, mi servira' per altri scopi!
perchè?
ti ho detto che quello che vuoi fare si puo' fare, solo che sbagliavi a 
farlo

RedWiz ha scritto:

dici bene tu, ma le opzioni erano:
-ti attacchi a screen a mano e dopo lanci da li dentro lo script
non posso farlo, a quell'ora dormo
-ti fai uno script interattivo con il linguaggio expect
non so nemmeno cosa sia, so di non saperlo fare.
**MA **
mi ero perso pero' la tua opzione
usi l'opzione -X (maiuscolo) di screen.
-X      Send the specified command to a running screen session. You can 
use the -d or -r option to tell screen to look only for attached or 
detached screen sessions. Note that this command doesn't work if the 
session is password protected.
ma dove la metto sta -X ???
aspetta un attimo che ci gioco.

 aspetta un attimo che ci gioco.
#!/bin/bash
#
screen -S bck
screen -X bck
rsync --progress --bwlimit=20 -vaz -e ssh gigi@eccetera eccetera
ma nada

 posso farlo, a quell'ora dormo
ma se a quell'ora dormi, forse la tua soluzione non è screen, ma cron.

RedWiz ha scritto:

cero, lo script parte con cron, ovvio, ma siccome dura "millemila" ore, 
mi faceva comodo poter vedere l'avanzamento tramite screen.
per questo mi chiedevo se all'interno dello script si potesse far 
partire screen, per poter monitorare a che punto stava l'avanzamento in 
un momento qualsiasi.

 ma nada
basta leggere il manuale:
screen -S bck -X exec rsync --progress --bwlimit=20 -vaz -e ssh 
gigi@eccetera ecceter
ovviamente bck deve esistere

 ovviamente bck deve esistere
magico RedWiz!
ora funzia
ciao e di nuovo grazie!
Gg