GNU/Screen: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 22: Riga 22:


==== Visualizzazione finestre ====
==== Visualizzazione finestre ====
screen usa un attivatore per tutte le altre funzioni, ovvero una prima sequenza di tasti che attendono una seconda, questo attivatore è di default <code>Ctrl-a</code>, per cui dire <code>Ctrl-a :</code> significa premere appunto Ctrl-a, rilasciare e quindi premere i due punti.
<code>GNU/Screen</code> usa un attivatore per tutte le altre funzioni, ovvero una prima sequenza di tasti che attendono una seconda, questo attivatore è di default <code>Ctrl-a</code>, per cui dire <code>Ctrl-a :</code> significa premere appunto Ctrl-a, rilasciare e quindi premere i due punti.


Innanzitutto rendiamoci la vita facile con la fantomatica statusbar, all'interno di screen digitate:
Innanzitutto rendiamoci la vita facile con la fantomatica statusbar, all'interno di screen digitate:
Riga 72: Riga 72:
seguito da uno spazio e il nuovo numero.
seguito da uno spazio e il nuovo numero.


Il metodo migliore per chiudere una finestra è terminare il processo in essa contenuto, '''solo''' in caso di problemi quali freeze o altro possiamo forzarne la chiusura (e uccidere il processo) con:
Per chiudere un singolo schermo è possibile digitare
<pre>$ exit</pre>
oppure '''solo''' in caso di problemi quali congelamento dello schermo o altro è possibile forzarne la chiusura (e uccidere il processo) con:
  Ctrl-a k
  Ctrl-a k
Al prompt dei comandi apparirà il messaggio "Really kill this window [y/n]".
Al prompt dei comandi apparirà il messaggio "Really kill this window [y/n]".


Riga 98: Riga 99:


==== Detach e sessioni ====
==== Detach e sessioni ====
Ma passiamo alle cose serie. screen deve restare attivo e insieme a lui tutto ciò che contiene, ma abbiamo bisogno di fare il logout (locale o via SSH), riavviare X, chiudere il terminale o altre operazioni esotiche (tranne riavviare la macchina); questa operazione si chiama ''detach'', ovvero stacchiamo screen da quello che è di fatto il suo contenitore, xterm o tty che sia:
Come anticipato inizialmente GNU/Screen deve restare attivo e insieme a lui tutto ciò che contiene anche nei seguenti casi:
* logout (locale o via SSH) dell'utente;
* riavvio di X o chiusura del terminale (se si dispone di un ambiente grafico);
* altre operazioni esotiche eccettuato il riavvio della macchina;
Tutto ciò è reso possibile grazie alla funzione di ''detach'', ovvero la possibilità di "staccare" GNU/Screen da quello che è di fatto il suo contenitore, xterm o tty che sia:
  Ctrl-a d
  Ctrl-a d


E per riattaccarlo digitiamo al prompt bash:
Per ricollegarsi ("riattaccarsi") allo specifico schermo di una certa sessione da cui ci si è precedentemente staccati è sufficiente digitare
  $ screen -r
  $ 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:
Nel caso avessimo più di una sessione staccata andrà specificata quale si vuole. Il precedente comando mostrerà quelle disponibili:
<pre>
<pre>
$ screen -r
$ screen -r
Riga 114: Riga 118:
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
</pre>
</pre>
 
I primi due nomi di sessioni sono stati generati automaticamente, infatti i nomi predefiniti in GNU/Screen hanno la seguente struttura:
L'argomento può essere l'intera stringa o parte di essa, per cui tutte e tre le seguenti combinazioni andranno bene:
<pre>numero.pts-numero.hostname</pre>
L'ultimo nome è frutto invece della scelta dell'utente, almeno per quanto riguarda la parte successiva al punto.
Si noti che l'omissione del parametro <code>-p</code>, ovvero del nome schermo, viene interpretato da GNU/Screen come una richiesta di collegarsi all'ultimo schermo utilizzato.
Supponendo dunque di voler richiamare la prima sessione è possibile digitare uno tra i seguenti tre comandi:
  $ screen -r 4322.pts-17.jackinthebox
  $ screen -r 4322.pts-17.jackinthebox
  $ screen -r 4322
  $ screen -r 4322
  $ screen -r pts-17
  $ screen -r pts-17
Similmente per l'ultima sessione sarà possibile ricollegarvisi digitando:
$ screen -r fugu


Ma abbiamo altre due stringe curiose, quelle sono le sessioni che uso abitualmente. Per personalizzarne il nome basterà avviare screen con:
Per personalizzarne il nome di una sessione direttamente in fase d'avvio è sufficiente digitare:
  $ screen -S fugu
  $ screen -S fugu
e l'attach avverrà allo stesso modo:
$ screen -r fugu


Se invece volessimo attaccare in un altro terminale o tty una sessione già attaccata useremo:
Se invece volessimo attaccare in un altro terminale o tty una sessione già attaccata useremo:
  $ screen -x
  $ screen -x
Questo può essere utile se ci si collega da un'altra macchina o si vuole condividere la sessione con un altro utente, sebbene per quest'ultima ipotesi ci siano dei comandi appositi.
Questo può essere utile se ci si collega da un'altra macchina o si vuole condividere la sessione con un altro utente, sebbene per quest'ultima ipotesi ci siano dei comandi appositi.
{{Warningbox|Prestare cautela nell'eseguire all'interno di sessioni screen l'utilizzo dell'opzione "-x".}}


==== Escape ====
==== Escape ====
Riga 228: 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.
{{Warningbox|Prestare cautela nell'eseguire all'interno di sessioni screen i seguenti comandi, in particolare all'utilizzo dell'opzione "-x".}}
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" e non all'interno di una sessione di <code>GNU/Screen</code>
<br>
<br>
Riga 425: Riga 430:
Dopo aver fatto modifiche al file di configurazione possiamo ricaricarlo senza chiudere la sessione:
Dopo aver fatto modifiche al file di configurazione possiamo ricaricarlo senza chiudere la sessione:
  Ctrl-a :source .screenrc
  Ctrl-a :source .screenrc


== Risorse ==
== Risorse ==
3 155

contributi

Menu di navigazione