Acabo de presentarle a un amigo GNU Screen y está teniendo dificultades para acostumbrarse. Eso me hace pensar en las cosas esenciales que necesita saber sobre la excelente utilidad Screen , las mismas cosas que pensarías que vale la pena enseñarle a alguien, un principiante, desde cero. ¿Cuáles son algunas analogías y consejos útiles para recordar vínculos, etc.?
Sería genial.
gnu-screen
Henry B
fuente
fuente
Respuestas:
Lo he estado usando
Screen
durante más de 10 años y probablemente use menos de la mitad de las funciones. Por lo tanto, definitivamente no es necesario aprender todas sus funciones de inmediato (y no recomendaría intentarlo). Mis comandos del día a día son:Creo que eso es todo. A veces utilizo las funciones de pantalla dividida, pero ciertamente no a diario. El otro consejo es que si la pantalla parece haberse bloqueado porque presionó alguna combinación de teclas al azar por accidente, haga ambas cosas
^Q
e^A ^Q
intente desbloquearla.fuente
exit
). La ventana de la pantalla se cierra automáticamente después de salir del último shell en una ventana.No pude acostumbrarme a la pantalla hasta que encontré una manera de establecer una 'barra de estado' en la parte inferior de la pantalla que muestra en qué 'pestaña' o 'pantalla virtual' estás y en qué otras hay. He aquí mi arreglo:
fuente
Ctrl+ A? - ¡muestra la pantalla de ayuda!
fuente
Si tu amigo tiene la costumbre de presionar
^A
para llegar al principio de la línea en Bash, se encontrará con algunas sorpresas, ya que^A
es la combinación de teclas de comando de pantalla. Por lo general, termino con una pantalla congelada, posiblemente debido a una tecla aleatoria que presioné después^A
:-)En esos casos intento
^A s
y^A q
bloquear / desbloquear el desplazamiento del terminalpara arreglar eso. Para ir al comienzo de una línea dentro de la pantalla, la secuencia de teclas es
^A a
.fuente
Puede reasignar la tecla de escape de Ctrl+ Apara que sea otra tecla de su elección, por lo que si la usa para otra cosa, por ejemplo, para ir al principio de la línea en bash, solo necesita agregar una línea a su ~ /. archivo screenrc. Para hacerlo ^ b o ^ B, use:
Desde la línea de comando, use sesiones de nombres para mantener múltiples sesiones bajo control. Utilizo una sesión por tarea, cada una con varias pestañas:
Cuando usa la pantalla, solo necesita algunos comandos:
Puede encontrar una excelente referencia rápida aquí . Vale la pena marcarlo como favorito.
fuente
screen -e^oo
para poder usar Ctrl + O para eso y luego comienzo los internos conscreen -m
para que comiencen nuevas sesiones.^A :
seguido\Bb
de Intro para establecer la tecla de escape en ^ B. En general, le^A :
permite evaluar el comando que.screenrc
comprende.Algunos consejos para aquellos que están familiarizados con la pantalla, pero que tienden a no recordar lo que leen en la página de manual:
.screenrc
archivo:Eso asigna ctrl+ a shift+ 0 through 9para Windows 10 a 19.
fuente
Ctrl+ Aes el comando base
Ctrl+ A N= ir a la pantalla *** N *** ext
Ctrl+ A P= ir a la pantalla anterior *** P ***
Ctrl+ A C= *** C *** reate nueva pantalla
Ctrl+ A D= *** D *** echa tu pantalla
fuente
http://www.debian-administration.org/articles/34
Escribí eso hace un par de años, pero sigue siendo una buena introducción que recibe muchos comentarios positivos.
fuente
$VAR1 = \'Can\'t connect to local MySQL server through socket \'/var/run/mysqld/mysqld.sock\' (111 "Connection refused") at ../lib/Singleton/DBI.pm line 95. ';
"Debo" agregar esto: agregar
a su
.screenrc
, si usted, como yo, solía usar ventanas divididas, ya queC-a S
divide la ventana real, pero laC-a s
congela. Así que desactivé el atajo de congelación.fuente
^-Q
se descongela si golpeas^-S
Ctrl+ aes una clave especial.
Ctrl+ a d- [d] etach, dejar programas (irssi?) en segundo plano, ir a casa.
Ctrl+ a c[c] crear una nueva ventana Ctrl+ a 0-9cambiar entre ventanas por número
screen -r - volver a la sesión separada
Eso cubre el 90% de los casos de uso. No intente mostrar todas las funciones a la vez.
fuente
screen
, estaba confundido acerca de lo que realmente significaba desconectar y volver a conectar una pantalla. Cita : "... puede tener tareas en ejecución durante mucho tiempo en consolas separadas (como ssh en una máquina rememote, sesiones IRC, ...) en una máquina determinada, desconectarse de la sesión, moverse de una ubicación física a otra, conectarse a la máquina a través de ssh y vuelva a conectarla a la sesión de pantalla para seguir funcionando ".No es realmente esencial, no solo relacionado con la pantalla, sino que habilitar 256 colores en mi terminal, GNU Screen y Vim mejoraron mi experiencia de pantalla a lo grande (especialmente porque codifico en Vim aproximadamente 8 horas al día; hay algunos esquemas de colores geniales para la vista).
fuente
La primera modificación que hago a .screenrc es cambiar el comando de escape. Al igual que muchos de ustedes, no me gusta la secuencia Ctrl-A predeterminada debido a su interferencia con esa funcionalidad fundamental en casi todos los demás contextos. En mi archivo .screenrc, agrego:
escapar `e
Eso es retroceso-e.
Esto me permite usar la comilla inversa como tecla de escape (por ejemplo, para crear una nueva pantalla, presiono la tilde inversa-c, separar es tilde retroceso-d, tilde retroceso-? Es ayuda, tilde retroceso-retroceso es la pantalla anterior, etc.). La única forma en que interfiere (y tuve que romper con el hábito) es usando comillas invertidas en la línea de comando para capturar el resultado de la ejecución, o pegando cualquier cosa que contenga una tilde. Para el primero, modifiqué mi hábito usando la convención BASH $ (comando). Para lo último, generalmente solo abro otro xterm o me separo de la pantalla y luego pego el contenido que contiene la tilde. Finalmente, si deseo insertar una comilla invertida literal, simplemente presiono la comilla inversa-e.
fuente
Se está realizando un trabajo interesante para obtener una buena configuración de pantalla GNU de forma predeterminada en la próxima versión de Ubuntu Server, que incluye usar la parte inferior de la pantalla para mostrar todas las ventanas, así como otros detalles útiles de la máquina (como el número de actualizaciones disponible y si la máquina necesita un reinicio). Probablemente pueda tomarlos
.screenrc
y personalizarlos según sus necesidades.Los comandos más útiles que tengo en mi
.screenrc
son los siguientes:De esta manera, siempre sé qué ventanas están abiertas y qué se está ejecutando en ellas en ese momento.
fuente
Yo uso lo siguiente para
ssh
:Luego configuré los siguientes alias de bash:
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.
fuente
Me gusta configurar una sesión de pantalla con nombres descriptivos para las ventanas. ^ a A le permitirá darle un nombre a la ventana actual y ^ a "le dará una lista de sus ventanas. Cuando termine, separe la pantalla con ^ ad y vuelva a adjuntarla con screen -R
fuente
Me gusta usar
screen -d -RR
para crear / adjuntar automáticamente a una pantalla determinada. Creé funciones de bash para hacerlo más fácil ...Crean un alias para
/usr/bin/screen -d -RR -S $name $command
. Por ejemplo, me gusta usar irssi en una sesión de pantalla, así que en mi .bashrc (debajo de esas funciones), tengo:Entonces puedo escribir
irc
una terminal para entrar en irssi. Si la pantalla 'irc' aún no existe, se crea y se ejecuta / usr / bin / irssi desde ella (que se conecta automáticamente, por supuesto). Si ya se está ejecutando, simplemente lo vuelvo a adjuntar, separando a la fuerza cualquier otra instancia que ya esté adjunta. Es bastante agradable.Otro ejemplo es la creación de alias de pantalla temporales para perldocs a medida que los encuentro:
La opción -a (debe ser el primer argumento) agrega el alias de la pantalla a .bashrc (por lo que es persistente) y -d lo elimina (estos pueden ser potencialmente destructivos, así que utilícelo bajo su propio riesgo). xD
Adjuntar:
Otro bash-ism que encuentro conveniente cuando trabajo mucho con la pantalla:
De esa manera, puede enumerar sus pantallas con muchas menos pulsaciones de teclas. No sé si
sls
choca con alguna utilidad existente, pero no lo hizo en ese momento en mi sistema, así que lo hice.fuente
^ AA vuelve a la pantalla de la que acaba de llegar.
fuente
Ctrl+ Aes un gran personaje especial para la gente de Unix, pero si estás usando la pantalla para hablar con OpenVMS , entonces no poder ^ A te dejará calvo prematuramente.
En VMS , si está editando un comando DCL antes de la ejecución desde el búfer del historial, el modo Insertar está desactivado (tiene que ser por algunas razones en las que no entraré aquí) ... para activarlo para que no No sobreescriba su comando en lugar de espaciar las cosas, debe presionar `^ A.
fuente
screen -e ^Ll
por razones similares; Simplemente no puedo desaprender a escribir ctrl-A para ir al principio de la línea en Emacs. Afortunadamente, ctrl-L es una pulsación de tecla que rara vez necesito, y también en mi humilde opinión se conecta muy bien con su significado general (redibujar / borrar la pantalla)..screenrc
hasescape ^@^@
, que usa el carácter nulo en lugar de control-A. En la mayoría de los sistemas, puede ingresar el carácter nulo como espacio de control, que es muy fácil de escribir. (Tengo una sesión de pantalla anidada que se ejecuta dentro de una ventana en mi sesión principal; para esa tengoescape ^]^]
).