Como uso el comando * nixscreen
todo el día y no pude encontrar a nadie que comenzara esta pregunta, pensé que debería iniciarse. Conoces el ejercicio: wiki de la comunidad, una respuesta por características para que todos podamos votar.
Como uso el comando * nixscreen
todo el día y no pude encontrar a nadie que comenzara esta pregunta, pensé que debería iniciarse. Conoces el ejercicio: wiki de la comunidad, una respuesta por características para que todos podamos votar.
Respuestas:
Me encanta usarlo para conectarme a consolas seriales, es decir
screen /dev/ttyS0 19200
Este comando simplemente abre una conexión al puerto serie 0 (ttyS0) con una velocidad en baudios de 19200
La mejor característica de screen
es Byobu (anteriormente perfiles de pantalla) que viene con Ubuntu por defecto desde Jaunty: https://launchpad.net/byobu
Es un administrador de configuración con valores predeterminados muy agradables, toneladas de notificaciones de estado y atajos de teclado útiles (es decir, f2 para nueva pantalla, f3-f4 para anterior / siguiente, etc.)
Realmente ya no voy a ninguna parte sin ella :)
Desde la respuesta de KTamas: más de una persona puede usar la misma pantalla, es decir, si un amigo suyo ssh
ingresa a su computadora, puede conectarse a su pantalla. Es genial cuando dos o tres personas están trabajando en los mismos proyectos.
No es exactamente una "característica oculta"; pero un archivo .screenrc configurado correctamente puede hacer una gran diferencia. Uno de los mejores ejemplos puede encontrarse buscando en google screenrc y 'brad sims': tiene un excelente archivo para jugar.
Dicho esto, mi configuración favorita sería 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
No recuerdo a quién le robé esto (alguien en dotfile.org). Lo he modificado ligeramente para 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
Luego configuro los siguientes alias bash:
vim() {
scr vim $*
}
man() {
scr man $*
}
info() {
scr info $*
}
watch() {
scr watch $*
}
ssh() {
scr ssh $*
}
Abre una nueva pantalla para los alias anteriores y si usa ssh, cambia el nombre del título de la pantalla con el nombre de host ssh.
Saludos z0mbix
Una cosa que encuentro útil es que la pantalla puede emular un ancho mayor que su terminal. Esto me resulta útil si estoy usando less
archivos de registro reales, y no quiero que las líneas se ajusten. Utilizando:
Ctrl-A:width -w 999
Puedo configurar screen
's' para que sea más ancho que mi terminal, y las líneas de registro less
no se ajustarán.
-s
le dirá que no ajuste las líneas. Puede usar Left
y Right
para desplazarse por las líneas.
Una buena característica: puede usar backtick
para obtener información adicional para mostrar en un subtítulo. Por ejemplo, tengo un script que genera un resumen de una línea de nuevos recuentos de correo en varias carpetas, y tengo que aparece en la línea inferior si mi sesión de pantalla junto con el nombre de host con una configuración que se ve así:
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 clave es el bit% 1`, que se refiere a la salida del trabajo de retroceso 1.
(Lo uso hardstatus
como la cadena de título xterm y lo configuro de manera diferente, por lo tanto, el uso de en caption
lugar de hardstatus alwayslastline
).
No es una función "oculta", pero la capacidad de compartir una sesión de pantalla con otro usuario activo es muy útil.
Hay formas complicadas de configurar el uso compartido de pantalla, incluidos los permisos de control de acceso y la gestión de nombres de usuario. Lo que más hago con los compañeros de trabajo es mucho más rápido y sucio:
chmod 777 $(tty)
sudo su <username>
screen -x <session>
Esto no requiere ninguna configuración avanzada o uso compartido de contraseñas.
Una pequeña hoja de trucos que imprimí para mí;
(Nota: Todo está precedido por Ctrl-A)
A: renombrar una ventana ": muestra una lista de ventanas d: desconectar sesión
Y screen -D -R
para desacoplar y volver a conectar una sesión en ejecución (en caso de que de alguna manera pierda el acceso a su sesión).
Ninguna de estas son características realmente ocultas, pero estas son las características que considero más útiles.
Es una característica central, pero por supuesto lo mejor es Ctrl-A:hablar directamente a la pantalla. : screen -t title ssh hostname
etc.