Caratteristiche nascoste di `schermo`


Risposte:


31

Mi piace usarlo per il collegamento a console seriali, vale a dire

screen /dev/ttyS0 19200

Questo comando apre semplicemente una connessione alla porta seriale 0 (ttyS0) con una velocità di trasmissione di 19200


questa è una delle mie cose preferite con cui impazzire la gente, veramente una delle funzionalità meno attese dello schermo
epic9x

1
E veramente uno dei miei preferiti. Non c'è bisogno di occuparsi di, o configurare, minicom, conservatore, ecc. Mi sono sentito un bambino in un negozio di caramelle quando l'ho scoperto.
Scott Pack,

Assolutamente - è bello avere una sessione schermo aperta, divisa in due finestre, con entrambi i dongle USB-Serial visibili.
dotwaffle,

10

La migliore caratteristica di screenè Byobu (precedentemente profili dello schermo) che viene fornito con Ubuntu di default da Jaunty: https://launchpad.net/byobu

È un gestore di configurazione con impostazioni predefinite molto belle, tonnellate di notifiche sullo stato e scorciatoie da tastiera utili (ad es. F2 per il nuovo schermo, f3-f4 per precedente / successivo, ecc.)

Davvero non vado più da nessuna parte senza di essa :)


10

Dalla risposta di KTamas: più di una persona può utilizzare lo stesso schermo, ovvero se un tuo amico sshnel tuo computer, allora può connettersi al tuo schermo. È fantastico quando due o tre persone stanno lavorando agli stessi progetti.


1
Questo è molto meglio per seguire ciò che fanno gli utenti dell'assistenza remota e uccidere la loro sessione se non vanno bene!
Tom O'Connor,

6

Non esattamente una "caratteristica nascosta"; ma un file .screenrc correttamente impostato può fare la differenza. Uno dei migliori esempi là fuori può essere trovato su Google ScreenRC e 'Brad Sims' - ha un file eccellente con cui armeggiare.

detto questo, la mia impostazione preferita sarebbe bindkey:

# bind F7  to detach screen session from this terminal
# bind F8  to kill current screen window.
# bind F9  to create a new screen
# bind F10 to rename current screen window
# bind F11 to move to previous window
# bind F12 to move to next window
bindkey -k k7 detach
bindkey -k k8 kill
bindkey -k k9 screen
bindkey -k k; title
bindkey -k F1 prev
bindkey -k F2 next

2
Considerando che ctrl + a è usato troppo spesso al di fuori dello schermo (inizio della riga in bash qualcuno?) Mi piace questo.
Scott Pack,

1
ctrl + a / ctrl + e per spostare il cursore, ma anche quando minicom è in esecuzione in una schermata. Ctrl + a, a, o per le opzioni ...
petrus,

6

Non ricordo da chi l'ho rubato (qualcuno su dotfile.org). L'ho modificato leggermente per ssh:

#!/bin/sh
# scr - Runs a command in a fresh screen
#
# Get the current directory and the name of command

wd=`pwd`
cmd=$1
shift

# We can tell if we are running inside screen by looking
# for the STY environment variable.  If it is not set we
# only need to run the command, but if it is set then
# we need to use screen.

if [ -z "$STY" ]; then
        $cmd $*
else
        # Screen needs to change directory so that
        # relative file names are resolved correctly.
        screen -X chdir $wd

        # Ask screen to run the command
        if [ $cmd == "ssh" ]; then
                screen -X screen -t ""${1##*@}"" $cmd $*
        else
                screen -X screen -t "$cmd $*" $cmd $*
        fi
fi

Quindi ho impostato i seguenti alias bash:

vim() {
        scr vim $*
}

man() {
        scr man $*
}

info() {
        scr info $*
}

watch() {
        scr watch $*
}

ssh() {
        scr ssh $*
}

Apre una nuova schermata per gli alias precedenti e, se utilizza ssh, rinomina il titolo della schermata con il nome host ssh.

Saluti z0mbix


: o. Hai sollevato e adattato da me? gist.github.com/137214
VxJasonxV,

No, penso che sia stato da un membro dello staff di last.fm che lo ha blogger una volta.
z0mbix,

4

Una cosa che trovo utile è che lo schermo può emulare una larghezza maggiore rispetto al tuo terminale. Lo trovo utile se sto usando lessfile di log reali e non voglio che le righe si concludano. usando:

Ctrl-A:width -w 999

Posso impostare screencon per essere più largo del mio terminale, e le linee di accesso lessnon si chiuderanno.


10
Cordiali saluti, l'opzione meno -sdirà di non avvolgere le linee. È possibile utilizzare Lefte Rightper scorrere le linee.
MikeyB,

4

La possibilità di cambiare il tasto di controllo con -ethat all'avvio della schermata. Lo uso in modo da poter annidare le schermate una dentro l'altra. Esempio: "screen -e ^ w ^ x" rende il tasto di controllo ctr-w.


2

Una bella funzionalità: puoi usare backtickper inserire informazioni extra da visualizzare in una didascalia. Ad esempio, ho uno script che genera un riepilogo di una riga di nuovi conteggi di posta in varie cartelle e lo ho visualizzato nella riga inferiore se la mia sessione schermo insieme al nome host con una configurazione simile a questa:

backtick 1 15 15 /home/waltermundt/bin/newmail

caption always
caption string "%{.kW}%1` example.com %{.bW}%-w%{.rW}%n %t%{-}%+w %{.gW}%h%{-}"

La chiave è il bit% 1`, che si riferisce all'output del processo backtick 1.

(I usare hardstatuscome stringa titolo xterm e falla impostata in modo diverso, così l'uso di captionanziché hardstatus alwayslastline.)


2

Non è una funzione "nascosta", ma è molto utile la possibilità di condividere una sessione dello schermo con un altro utente attivo.

Esistono modi complicati per impostare la condivisione dello schermo, tra cui le autorizzazioni per il controllo degli accessi e la gestione dei nomi utente. Quello che faccio più spesso con i colleghi è molto più veloce e sporco:

  1. Accedere alla macchina in questione in una nuova finestra.
  2. Consenti a chiunque di scrivere sul mio terminale: chmod 777 $(tty)
  3. Sudo sul loro conto: sudo su <username>
  4. Condividi il loro schermo: screen -x <session>

Ciò non richiede alcuna configurazione anticipata o condivisione della password.


1

Un piccolo foglietto che ho stampato per me stesso;

(Nota: tutto è preceduto da Ctrl-A)

A: rinomina una finestra   
": mostra un elenco di finestre   
d: sessione di sblocco

E screen -D -Rper ricollegare e ricollegare una sessione in esecuzione (nel caso in cui in qualche modo si perda l'accesso alla sessione).

Nessuna di queste sono funzioni davvero nascoste, ma queste sono le funzioni che ritengo più utili.


1

È una caratteristica fondamentale, ma ovviamente la cosa migliore è Ctrl-A:parlare direttamente con lo schermo. : screen -t title ssh hostnameeccetera.

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.