schede quando si utilizza 'schermo'


20

Sto usando Ubuntu 10.04. Dopo aver installato screen:

sudo apt-get install screen

Ho effettuato due connessioni ssh a due server remoti facendo le seguenti operazioni passo dopo passo (faccio i seguenti passi secondo il documento qui ):

1. apri una finestra termnal, esegui il comandoscreen

2. premere Ctrl+ A+ cper creare una nuova console virtuale

3. ssh usr@IP1

A questo punto, ho una console virtuale che mostra che mi sono connesso al server remoto (IP1).

4. premere Ctrl+ A+ cper creare una nuova console virtuale

5. ssh usr@IP2

Quindi, ora mi sono connesso a due server remoti (IP1 e IP2). Ma , non ho due linguette su una finestra di terminale, invece, devo uso Ctrl+ A+ pe Ctrl+ A+ nper commutare tra le due console virtuale in una finestra di terminale.

Non è così che usando screen, potrei avere due schede in una finestra terminale, con ogni scheda mostra una connessione a un server remoto. Perché non ho le schede nella finestra del mio terminale?

Risposte:


26

Ecco il mio .screenrcche uso ovunque per vedere i miei screennumeri come schede nella parte inferiore della finestra e una riga informativa sopra le schede . La parte di cui hai veramente bisogno è sotto "guarda e senti".

# skip the startup message
startup_message off

# go to home dir
chdir

# Automatically detach on hangup. 
autodetach on

# Change default scrollback value for new windows
defscrollback 10000

# start with visual bell as default
vbell on
vbell_msg "bell on %t (%n)"

# look and feel
caption always "%{= bb}%{+b w}%n %t %h %=%l %H %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"

activity "Activity in %t(%n)"

shelltitle "shell"
shell -$SHELL

È inoltre possibile aggiungere quanto segue per aggiungere automaticamente due schede al momento della screencreazione iniziale:

screen ssh usr@IP1
screen ssh usr@IP2

Inoltre, il contenuto dello stato può essere aggiornato utilizzando i codici di escape emessi dai comandi e dai prompt della shell. Ad esempio, aggiorno lo stato con la directory corrente usando usando questo nel mio .bashrc:

if [ 'screen' == "${TERM}" ]; then
  export PROMPT_COMMAND='printf "\e]2;%s %s\a" "${USER}" "${PWD}" '
fi

4
Mi sono sempre chiesto perché ci vogliono invariabilmente delle configurazioni hardcore per non far funzionare lo schermo. PS Prova shelltitle "$ |shell:"ad aggiungere il nome del comando al titolo.
anfetamachina,

7

Quando premi Ctrl+ ae "puoi vedere le "schede" dello schermo, non si suppone che siano schede nella tua GUI del terminale, puoi farlo manualmente creando una nuova scheda nella GUI del terminale che stai usando e quindi eseguendo nella nuova scheda screen -rper tornare alla sessione di screen e quindi passare alla sessione desiderato con Ctrl+ ae un numero o "per visualizzare un menu con tutte le schede.

È possibile assegnare un nome a ciascuna delle "schede" dello schermo premendo Ctrl +, a quindi A .


1
Dovrebbe essere necessario eseguire screen -r -xse quella schermata è già collegata nella prima scheda.
Arcege,

3

Immagino che tu stia confondendo le schede sui terminali grafici come Konsole con quelle sullo schermo. Nella schermata si cambia solo il contenuto di una finestra con le citate ^ A-Kombinations. Questo funziona anche su un ambiente non grafico.


2

Puoi configurare screenper mostrare una linea di stato che ti possa informare di molte cose, suppongo anche su quale finestra dello schermo sei, ma non uso una linea di stato, quindi non posso dirlo con certezza.

Per quello che so, screennon creare schede, ma devi passare da una schermata all'altra con il comando che hai indicato, o come preferisco Ctrl- A 1, Ctrl- A 2, ecc.

Per avere più di una scheda è possibile utilizzare le gnome-terminalfunzionalità, anche senza schermo: Ctrl- Shift- Tcreerà una nuova scheda e Alt- 1, Alt- 2, ecc. Passerà da una scheda all'altra.

Inoltre chiedo perché non esegui screen sul server, quindi usando solo una connessione ssh (ma in questo caso senza alcuna scheda).


2

So che è piuttosto vecchio, ma dal momento che Google mi ha portato qui, anche altri potrebbero leggerlo. Quindi ecco il mio hack da $ 0,02 per imitare le schede all'interno di una sessione "schermo":

Crea una linea di stato con:

  • a sinistra: data / ora
  • sul lato destro: nome host locale + carico medio
  • nel mezzo: i nomi dello schermo "windows"
    • finestra corrente: testo rosso su sfondo nero
    • altre finestre: testo bianco sul colore di sfondo della linea di stato (blu, qui)

Inserisci ~/.screenrc:

hardstatus alwayslastline "%{kb}%{c}[%{w}%D %d/%m/%Y %c:%s%{c}] %{w}%-w%{rk}%n %t%{wb}%+w %=%{c}[%{W}%H %l%{c}]"

(Forse questo vale più di $ 0,02 perché ho faticato parecchio su questo ;-)

Per passare dalla finestra corrente alla precedente / successiva con i tasti F6/ F7:

bindkey -k k6 prev
bindkey -k k7 next
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.