Fitur tersembunyi dari `layar`

31

Karena saya menggunakan perintah * nixscreen sepanjang hari, dan saya tidak dapat menemukan siapa pun yang memulai pertanyaan ini, saya pikir itu harus dimulai. Anda tahu latihan: komunitas wiki, satu jawaban per fitur sehingga kita semua bisa memilih.

Josh
sumber
5
Layar sangat berguna itu milik di semua situs: stackoverflow.com/questions/70614/gnu-screen-survival-guide
Zac Thompson

Jawaban:

31

Saya suka menggunakannya untuk menghubungkan ke konsol serial, yaitu

screen /dev/ttyS0 19200

Perintah ini hanya membuka koneksi ke port serial 0 (ttyS0) dengan kecepatan baud 19200

Scott Pack
sumber
ini adalah salah satu hal favorit saya untuk menakuti orang, benar-benar salah satu fitur yang paling tidak diharapkan layar
epic9x
1
Dan benar-benar salah satu favorit saya. Tidak perlu berurusan dengan, atau mengkonfigurasi, minicom, conserver, dll. Saya merasa seperti anak kecil di toko permen ketika saya menemukan ini.
Scott Pack
Tentu saja - ada baiknya sesi layar terbuka, dibagi menjadi dua jendela, dengan kedua dongle USB-Serial terlihat.
dotwaffle
10

Fitur terbaik screenadalah Byobu (sebelumnya layar-profil) yang datang dengan Ubuntu secara default sejak lela: https://launchpad.net/byobu

Ini adalah manajer konfigurasi dengan standar yang sangat bagus, banyak pemberitahuan status dan pintasan keyboard yang berguna (yaitu f2 untuk layar baru, f3-f4 untuk prev / next, dll.)

Saya benar-benar tidak pergi ke mana pun tanpa itu :)

KTamas
sumber
10

Dari jawaban KTamas: Lebih dari satu orang dapat menggunakan layar yang sama, yaitu jika teman Anda sshmasuk ke komputer Anda, maka dia dapat terhubung ke layar Anda. Sangat bagus ketika dua atau tiga orang mengerjakan proyek yang sama.

Josh
sumber
1
Ini jauh lebih baik untuk mengikuti apa yang dilakukan pengguna dukungan jarak jauh, dan mematikan sesi mereka jika tidak ada gunanya!
Tom O'Connor
6

Bukan "fitur tersembunyi" yang sebenarnya; tetapi pengaturan file .screenrc yang benar dapat membuat perbedaan dunia. Salah satu contoh yang lebih baik di luar sana dapat ditemukan dengan googling screenrc dan 'brad sims' - ia memiliki file yang sangat bagus untuk dikerjakan.

yang mengatakan, pengaturan favorit saya adalah 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
Eddy
sumber
2
Menimbang bahwa ctrl + a digunakan terlalu sering di luar layar (awal baris di bash siapa pun?) Saya suka ini.
Scott Pack
1
ctrl + a / ctrl + e untuk memindahkan kursor, tetapi juga ketika minicom berjalan di layar. Ctrl + a, a, o untuk opsi ...
petrus
6

Saya tidak ingat dari siapa saya mencuri ini (seseorang di dotfile.org). Saya telah sedikit memodifikasinya untuk 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

Lalu saya mengatur alias bash berikut:

vim() {
        scr vim $*
}

man() {
        scr man $*
}

info() {
        scr info $*
}

watch() {
        scr watch $*
}

ssh() {
        scr ssh $*
}

Ini membuka layar baru untuk alias di atas dan jika menggunakan ssh, itu mengganti nama judul layar dengan nama host ssh.

Cheers z0mbix

z0mbix
sumber
:Hai. Apakah Anda mengangkat dan menyesuaikannya dari saya? gist.github.com/137214
VxJasonxV
Tidak, saya pikir itu dari anggota staf last.fm yang pernah blogger tentang hal itu.
z0mbix
4

Satu hal yang menurut saya berguna adalah layar dapat meniru lebar lebih besar dari terminal Anda. Saya menemukan ini berguna jika saya menggunakan lessfile log nyata, dan saya tidak ingin garis untuk membungkus. Menggunakan:

Ctrl-A:width -w 999

Saya dapat mengatur screendengan menjadi lebih lebar dari terminal saya, dan jalur masuk lesstidak akan membungkus.

Josh
sumber
10
FYI, opsi yang lebih sedikit -sakan memberitahu itu untuk tidak membungkus garis. Anda dapat menggunakan Leftdan Rightuntuk menggulir garis.
MikeyB
4

Kemampuan untuk mengubah kunci kontrol dengan -yaitu ketika memulai layar. Saya menggunakannya sehingga saya bisa bersarang sesi layar di dalam satu sama lain. Contoh: "screen -e ^ w ^ x" membuat kunci kontrol ctr-w.

jeffball
sumber
2

Satu fitur bagus: Anda dapat menggunakan backtickuntuk menarik info tambahan untuk ditampilkan dalam teks. Sebagai contoh, saya memiliki skrip yang menghasilkan ringkasan satu baris jumlah surat baru di berbagai folder, dan saya memiliki skrip yang muncul di baris terbawah jika sesi layar saya bersama dengan nama host dengan konfigurasi yang terlihat seperti ini:

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

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

Kuncinya adalah bit% 1`, yang merujuk pada output dari pekerjaan backtick 1.

(Saya menggunakan hardstatussebagai string judul xterm dan mengaturnya secara berbeda, sehingga penggunaan captionbukannya hardstatus alwayslastline.)

Walter Mundt
sumber
2

Bukan fitur "tersembunyi", tetapi kemampuan untuk berbagi sesi layar dengan pengguna aktif lainnya sangat berguna.

Ada cara rumit untuk mengatur berbagi layar, termasuk izin kontrol akses dan manajemen nama pengguna. Apa yang paling sering saya lakukan dengan rekan kerja jauh lebih cepat & kotor:

  1. Masuk ke mesin yang dimaksud di jendela baru.
  2. Izinkan siapa pun menulis ke terminal saya: chmod 777 $(tty)
  3. Sudo ke akun mereka: sudo su <username>
  4. Bagikan layar mereka: screen -x <session>

Ini tidak memerlukan konfigurasi lanjutan atau berbagi kata sandi.

Michael H.
sumber
1

Lembar contekan kecil yang saya cetak untuk diri saya sendiri;

(Catatan: Semuanya didahului oleh Ctrl-A)

A: ganti nama jendela   
": tampilkan daftar windows   
d: sesi detatch

Dan screen -D -Runtuk membatalkan dan memasang kembali sesi berjalan (jika Anda entah bagaimana kehilangan akses ke sesi Anda).

Tak satu pun dari ini adalah fitur yang benar-benar tersembunyi, tetapi ini adalah fitur yang saya temukan sebagai yang paling berguna.

Michael Pobega
sumber
1

Ini adalah fitur inti, tetapi tentu saja yang terbaik adalah Ctrl-A:berbicara langsung ke layar. : screen -t title ssh hostnamedll.

Zac Thompson
sumber