Bütün gün * nix komutunuscreen
kullandığımdan ve bu soruyu başlatan kimseyi bulamadığım için başlaması gerektiğini düşündüm. Tatbikatı biliyorsunuz: topluluk wiki, her özellik için bir cevap böylece hepimiz oylayabiliriz.
Bütün gün * nix komutunuscreen
kullandığımdan ve bu soruyu başlatan kimseyi bulamadığım için başlaması gerektiğini düşündüm. Tatbikatı biliyorsunuz: topluluk wiki, her özellik için bir cevap böylece hepimiz oylayabiliriz.
Yanıtlar:
Ben seviyorum , seri konsolları bağlanmak için yani bunu kullanarak
screen /dev/ttyS0 19200
Bu komut, seri bağlantı noktası 0 (ttyS0) ile 19200 baud hızında bağlantı açar
En iyi özelliği screen
, Jaunty'den bu yana varsayılan olarak Ubuntu ile gelen Byobu (eskiden ekran profilleri): https://launchpad.net/byobu
Çok güzel varsayılanlara, durum bildirimlerine ve kullanışlı klavye kısayollarına sahip bir yapılandırma yöneticisi (yani yeni ekran için f2, önceki / sonraki için f3-f4 vb.)
Artık gerçekten hiçbir yere gitmiyorum. :)
KTamas’ın amswer’sinden: Aynı ekranı birden fazla kişi kullanabilir, yani eğer bir arkadaşınız ssh
bilgisayarınıza girdiyse , ekranınıza bağlanabilir. İki ya da üç kişi aynı projeler üzerinde çalışırken harika.
Tam olarak bir "gizli özellik" değil; ancak düzgün bir kurulum .screenrc dosyası bir fark yaratabilir. Orada daha iyi örneklerden biri googling screenrc ve 'brad sims' tarafından bulunabilir - incelemek için mükemmel bir dosyaya sahip.
dedi ki, en sevdiğim ayar bindkey olacaktır:
# 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
Bunu kimden çaldığımı hatırlayamıyorum (dotfile.org'daki biri). Ssh için hafifçe değiştirdim:
#!/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
Sonra aşağıdaki bash takma adlarını ayarladım:
vim() {
scr vim $*
}
man() {
scr man $*
}
info() {
scr info $*
}
watch() {
scr watch $*
}
ssh() {
scr ssh $*
}
Yukarıdaki takma adlar için yeni bir ekran açar ve ssh kullanarak iff, ekran başlığını ssh ana bilgisayar adıyla yeniden adlandırır.
Şerefe z0mbix
Yararlı bulduğum bir şey, ekranın sizin terminalinizden daha geniş bir genişliğe öykünebileceği. less
Gerçek günlük dosyalarını kullanmak için kullanıyorsanız ve satırların sarılmasını istemiyorum, bunu yararlı buluyorum . Kullanımı:
Ctrl-A:width -w 999
screen
Terminalimden daha geniş olacak şekilde ayarlayabilirim ve giriş satırları less
sarılmayacak.
-s
satırları kaydırmamasını söyleyecektir. Satırları kaydırmak için Left
ve Right
tuşlarını kullanabilirsiniz .
Güzel bir özellik: backtick
Bir başlıkta görüntülenmek üzere fazladan bilgi çekmek için kullanabilirsiniz . Örneğin, çeşitli klasörlerdeki yeni posta sayımlarının tek satırlık bir özetini çıkaran bir betiğim var ve eğer ekranım bu gibi görünen bir yapılandırmayla birlikte ana bilgisayar adı ile birlikte oturduysa, alt satırda görünen:
backtick 1 15 15 /home/waltermundt/bin/newmail
caption always
caption string "%{.kW}%1` example.com %{.bW}%-w%{.rW}%n %t%{-}%+w %{.gW}%h%{-}"
Anahtar,% 1` bitidir; bu, backtick işi 1'in çıktısını belirtir.
( hardstatus
Xterm başlık dizesi olarak kullanıyorum ve farklı ayarlamıştım, caption
bunun yerine kullanımı hardstatus alwayslastline
.)
"Gizli" bir özellik değil, bir ekran oturumunu başka bir aktif kullanıcıyla paylaşma yeteneği çok yararlıdır.
Erişim kontrolü izinleri ve kullanıcı adı yönetimi de dahil olmak üzere ekran paylaşımını ayarlamanın karmaşık yolları vardır. İş arkadaşlarınızla en sık yaptığım şey çok daha hızlı ve kirli:
chmod 777 $(tty)
sudo su <username>
screen -x <session>
Bu, önceden konfigürasyon veya şifre paylaşımı gerektirmez.
Kendim için bastığım küçük bir kopya kağıdı;
(Not: Her şey önceden verilir Ctrl-A)
A: bir pencereyi yeniden adlandır ": pencerelerin listesini göster d: ayırma oturumu
Ve screen -D -R
çalışan bir oturumu yeniden düzenlemek ve yeniden bağlamak için (bir şekilde oturumunuza erişiminizi kaybetmeniz durumunda).
Bunların hiçbiri gerçekten gizli özellikler değildir, ancak bunlar en yararlı olduğunu düşündüğüm özelliklerdir.
Temel bir özelliktir, ancak elbette en iyisi Ctrl-A:doğrudan ekrana konuşmaktır. : screen -t title ssh hostname
vb.