GNU/Screen: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 108: Riga 108:
Per ricollegarsi ("riattaccarsi") allo specifico schermo di una certa sessione da cui ci si è precedentemente staccati è sufficiente digitare  
Per ricollegarsi ("riattaccarsi") allo specifico schermo di una certa sessione da cui ci si è precedentemente staccati è sufficiente digitare  
  $ screen -r nome_sessione -p nome_schermo
  $ screen -r nome_sessione -p nome_schermo
dove <code>nome_sessione</code> è appunto il nome della nostra sessione e <code>nome_schermo</code> quello dello schermo desiderato. Qualora sia presente un unica sessione ed un unico schermo è possibile omettere sia <code>nome_sessione</code> che <code>-p nome_schermo</code>. In caso contrario l'omissione di tali parametri innesca la stampa a video delle sessioni disponibili, per esempio:
dove <code>nome_sessione</code> è appunto il nome della nostra sessione e <code>nome_schermo</code> quello dello schermo desiderato (al posto del nome è anche possibile utilizzare il numero dello schermo, ricordando a tal proposito che la numerazione parte dal valore 0). Qualora sia presente un unica sessione ed un unico schermo è possibile omettere sia <code>nome_sessione</code> che <code>-p nome_schermo</code>. In caso contrario l'omissione di tali parametri innesca la stampa a video delle sessioni disponibili, per esempio:
<pre>
<pre>
$ screen -r
$ screen -r
Riga 234: Riga 234:
=== Modalità riga di Comando ===
=== Modalità riga di Comando ===
Come inizialmente anticipato è possibile sia inviare comandi che eseguire applicativi in ciascuno dei vari schermi di <code>GNU/Screen</code> precedentemente creati senza per questo essere obbligati a riportare in primo piano ciascuno di essi.
Come inizialmente anticipato è possibile sia inviare comandi che eseguire applicativi in ciascuno dei vari schermi di <code>GNU/Screen</code> precedentemente creati senza per questo essere obbligati a riportare in primo piano ciascuno di essi.
Si noti che terminata l'esecuzione del comando ci si ritroverà ancora davanti al proprio terminale "base" e non all'interno di una sessione di <code>GNU/Screen</code>
Si noti che terminata l'esecuzione del comando ci si ritroverà ancora davanti al proprio terminale "base" oppure in uno schermo <code>GNU/Screen</code> appartenente ad una differente sessione.
<br>
<br>


Riga 240: Riga 240:
<pre>screen -m -d -S sessione1</pre>
<pre>screen -m -d -S sessione1</pre>


Seleziona una finestra (accetta sia numero che nome):
Selezionare una finestra (accetta sia numero che nome):
  $ screen -X select 1
  $ screen -X select 1


Rinumera finestra (-p accetta sia numero che nome):
Rinumerare finestra (-p accetta sia numero che nome):
  $ screen -p 9 -X number 11
  $ screen -p 9 -X number 11


Rinomina finestra:
Rinominare finestra:
  $ screen -p 9 -X title zut
  $ screen -p 9 -X title zut


Il comando '''stuff''' invia una stringa come input e ci permette di eseguire comandi esterni.
Eseguire un comando generico all'interno di uno schermo usando  il comando '''stuff''', il qualche concretamente invia una stringa come input. Esempi:


Esegue il comando '''ls''' (^M si ottiene con <code>ctrl-v Return</code>):
Elencare il contenuto di una cartella tramite '''ls''' (^M si ottiene con <code>ctrl-v Return</code>):
  $ screen -p 0 -X stuff 'ls ^M'
  $ screen -S nome_sessione -p nome_schermo -X stuff 'ls ^M'
(si veda il paragrafo ''Detach e Sessioni'' per il significato dei parametri <code>nome_sessione</code> e <code>nome_schermo</code>). Alternativamente (utile per script o altre situazioni in cui ''^M'' non è applicabile):
$ screen -S nome_sessione -p nome_schermo -X stuff $'ls\n'


Alternativa (utile per script o altre situazioni in cui ''^M'' non è applicabile):
Eseguire un comando generico all'interno di più schermi usando  il comando '''at'''. Esempi
$ screen -p 0 -X stuff $'ls\n'


Il comando '''at''' esegue un comando su più finestre.
Elencare il contenuto di una cartella tramite '''ls''' in tutte le finestre chiamate bash:
 
Esegue il comando '''ls''' a tutte le finestre chiamate bash:
  $ screen -X at bash# stuff 'ls ^M'
  $ screen -X at bash# stuff 'ls ^M'
 
Elencare il contenuto di una cartella tramite '''ls''' in tutte le finestre chiamate bash e alla finestra l10n:
Esegue il comando '''ls''' a tutte le finestre chiamate bash e alla finestra l10n:
  $ screen -X eval 'at bash# stuff "ls ^M"' 'at l10n# stuff "ls ^M"'
  $ screen -X eval 'at bash# stuff "ls ^M"' 'at l10n# stuff "ls ^M"'


Esegue il comando '''ls''' alle finestre zero e nove:
Elencare il contenuto di una cartella tramite il comando '''ls''' nelle finestre zero e nove:
  $ screen -X eval 'at 0# stuff "ls ^M"' 'at 9# stuff "ls ^M"'
  $ screen -X eval 'at 0# stuff "ls ^M"' 'at 9# stuff "ls ^M"'


Esegue il comando '''ls''' a tutte le finestre:
Elencare il contenuto di una cartella tramite '''ls''' in tutte le finestre:
  $ screen -X at \# stuff 'ls ^M'
  $ screen -X at \# stuff 'ls ^M'


2 853

contributi