1. Obtener un shell con el nuevo grupo sin cerrar la sesión y volver a entrar
Si sólo estás añadiendo un grupo, he utilizado lo siguiente:
exec sg <new group name> newgrp `id -gn`
Esta es una variación del truco newgrp de dos capas de Legooolas, pero está en una línea y no requiere que introduzcas manualmente tu grupo primario.
sg
es newgrp pero aceptando un comando a ejecutar con el nuevo ID de grupo. El exec
significa que el nuevo shell reemplaza al existente, por lo que no necesitas “cerrar la sesión” dos veces.
A diferencia de usar su, no necesitas escribir tu contraseña. Tampoco refresca su entorno (aparte de añadir el grupo), por lo que conserva su directorio de trabajo actual, etc.
2. 2. Ejecutar el comando en todas las ventanas de Screen en una sesión
El comando at
en Screen ejecuta un comando en cualquier ventana que usted especifique (note que este es un comando de Screen, no un comando de shell).
Puedes usar el siguiente comando para enviar el comando a todas las sesiones de Screen existentes:
screen -S <session_name> -X at \# stuff "exec sg <new_group_name> newgrp ### 1. Obtener un shell con el nuevo grupo sin cerrar la sesión y volver a entrar
Si sólo estás añadiendo un grupo, he utilizado lo siguiente:
exec sg newgrp id -gn
“`
Esta es una variación del truco newgrp de dos capas de Legooolas, pero está en una línea y no requiere que introduzcas manualmente tu grupo primario.
id
es newgrp pero aceptando un comando a ejecutar con el nuevo ID de grupo. El stuff
significa que el nuevo shell reemplaza al existente, por lo que no necesitas "cerrar la sesión” dos veces.
A diferencia de usar su, no necesitas escribir tu contraseña. Tampoco refresca su entorno (aparte de añadir el grupo), por lo que conserva su directorio de trabajo actual, etc.
2. 2. Ejecutar el comando en todas las ventanas de Screen en una sesión
El comando &007 en Screen ejecuta un comando en cualquier ventana que usted especifique (note que este es un comando de Screen, no un comando de shell).
Puedes usar el siguiente comando para enviar el comando a todas las sesiones de Screen existentes:
id -gn### 1. Obtener un shell con el nuevo grupo sin cerrar la sesión y volver a entrar
Si sólo estás añadiendo un grupo, he utilizado lo siguiente:
exec sg <new group name> newgrp `id -gn`
Esta es una variación del truco newgrp de dos capas de Legooolas, pero está en una línea y no requiere que introduzcas manualmente tu grupo primario.
&007 es newgrp pero aceptando un comando a ejecutar con el nuevo ID de grupo. El &007 significa que el nuevo shell reemplaza al existente, por lo que no necesitas “cerrar la sesión” dos veces.
A diferencia de usar su, no necesitas escribir tu contraseña. Tampoco refresca su entorno (aparte de añadir el grupo), por lo que conserva su directorio de trabajo actual, etc.
2. 2. Ejecutar el comando en todas las ventanas de Screen en una sesión
El comando [ &007 ]&003 en Screen ejecuta un comando en cualquier ventana que usted especifique (note que este es un comando de Screen, no un comando de shell).
Puedes usar el siguiente comando para enviar el comando a todas las sesiones de Screen existentes:
^M"
“`
Ten en cuenta la necesidad de escapar de los backticks para que &007 se ejecute en la sesión de Screen, y el ^M para que Screen pulse ‘enter’ al final del comando.
Ten en cuenta también que el comando [ &007 ]&003 de Screen simplemente escribe el texto del comando en tu nombre. Por lo tanto, puede ocurrir algo extraño si una de las ventanas de la pantalla tiene un comando a medio escribir en un símbolo del sistema o está ejecutando una aplicación que no sea un shell (por ejemplo, emacs, top). Si esto es un problema, tengo algunas ideas:
- Para deshacerse de cualquier comando medio escrito, puede añadir ”^C" al inicio del comando.
- Para evitar ejecutar el comando en una ventana de emacs, etc, podría pedirle a `at’ que filtre en el título de la ventana, etc (en el ejemplo anterior, uso “#”, que coincide con todas las ventanas, pero puede filtrar por el título de la ventana, el usuario, etc).
Para ejecutar el comando en una ventana específica (identificada por el número de la ventana), use lo siguiente:
screen -S <session_name> -p 0 -X stuff "exec sg <new_group_name> newgrp ### 1. Obtener un shell con el nuevo grupo sin cerrar la sesión y volver a entrar
Si sólo estás añadiendo un grupo, he utilizado lo siguiente:
exec sg newgrp id -gn
“`
Esta es una variación del truco newgrp de dos capas de Legooolas, pero está en una línea y no requiere que introduzcas manualmente tu grupo primario.
&007 es newgrp pero aceptando un comando a ejecutar con el nuevo ID de grupo. El &007 significa que el nuevo shell reemplaza al existente, por lo que no necesitas "cerrar la sesión” dos veces.
A diferencia de usar su, no necesitas escribir tu contraseña. Tampoco refresca su entorno (aparte de añadir el grupo), por lo que conserva su directorio de trabajo actual, etc.
2. 2. Ejecutar el comando en todas las ventanas de Screen en una sesión
El comando [ &007 ]&003 en Screen ejecuta un comando en cualquier ventana que usted especifique (note que este es un comando de Screen, no un comando de shell).
Puedes usar el siguiente comando para enviar el comando a todas las sesiones de Screen existentes:
screen -S <session_name> -X at \# stuff "exec sg <new_group_name> newgrp ### 1. Obtener un shell con el nuevo grupo sin cerrar la sesión y volver a entrar
Si sólo estás añadiendo un grupo, he utilizado lo siguiente:
exec sg newgrp id -gn
“`
Esta es una variación del truco newgrp de dos capas de Legooolas, pero está en una línea y no requiere que introduzcas manualmente tu grupo primario.
&007 es newgrp pero aceptando un comando a ejecutar con el nuevo ID de grupo. El &007 significa que el nuevo shell reemplaza al existente, por lo que no necesitas "cerrar la sesión” dos veces.
A diferencia de usar su, no necesitas escribir tu contraseña. Tampoco refresca su entorno (aparte de añadir el grupo), por lo que conserva su directorio de trabajo actual, etc.
2. 2. Ejecutar el comando en todas las ventanas de Screen en una sesión
El comando [ &007 ]&003 en Screen ejecuta un comando en cualquier ventana que usted especifique (note que este es un comando de Screen, no un comando de shell).
Puedes usar el siguiente comando para enviar el comando a todas las sesiones de Screen existentes:
id -gn### 1. Obtener un shell con el nuevo grupo sin cerrar la sesión y volver a entrar
Si sólo estás añadiendo un grupo, he utilizado lo siguiente:
exec sg <new group name> newgrp `id -gn`
Esta es una variación del truco newgrp de dos capas de Legooolas, pero está en una línea y no requiere que introduzcas manualmente tu grupo primario.
&007 es newgrp pero aceptando un comando a ejecutar con el nuevo ID de grupo. El &007 significa que el nuevo shell reemplaza al existente, por lo que no necesitas “cerrar la sesión” dos veces.
A diferencia de usar su, no necesitas escribir tu contraseña. Tampoco refresca su entorno (aparte de añadir el grupo), por lo que conserva su directorio de trabajo actual, etc.
2. 2. Ejecutar el comando en todas las ventanas de Screen en una sesión
El comando [ &007 ]&003 en Screen ejecuta un comando en cualquier ventana que usted especifique (note que este es un comando de Screen, no un comando de shell).
Puedes usar el siguiente comando para enviar el comando a todas las sesiones de Screen existentes:
^M"
“`
Ten en cuenta la necesidad de escapar de los backticks para que &007 se ejecute en la sesión de Screen, y el ^M para que Screen pulse ‘enter’ al final del comando.
Ten en cuenta también que el comando [ &007 ]&003 de Screen simplemente escribe el texto del comando en tu nombre. Por lo tanto, puede ocurrir algo extraño si una de las ventanas de la pantalla tiene un comando a medio escribir en un símbolo del sistema o está ejecutando una aplicación que no sea un shell (por ejemplo, emacs, top). Si esto es un problema, tengo algunas ideas:
- Para deshacerse de cualquier comando medio escrito, puede añadir ”^C" al inicio del comando.
- Para evitar ejecutar el comando en una ventana de emacs, etc, podría pedirle a `at’ que filtre en el título de la ventana, etc (en el ejemplo anterior, uso “#”, que coincide con todas las ventanas, pero puede filtrar por el título de la ventana, el usuario, etc).
Para ejecutar el comando en una ventana específica (identificada por el número de la ventana), use lo siguiente:
id -gn### 1. Obtener un shell con el nuevo grupo sin cerrar la sesión y volver a entrar
Si sólo estás añadiendo un grupo, he utilizado lo siguiente:
exec sg <new group name> newgrp `id -gn`
Esta es una variación del truco newgrp de dos capas de Legooolas, pero está en una línea y no requiere que introduzcas manualmente tu grupo primario.
&007 es newgrp pero aceptando un comando a ejecutar con el nuevo ID de grupo. El &007 significa que el nuevo shell reemplaza al existente, por lo que no necesitas “cerrar la sesión” dos veces.
A diferencia de usar su, no necesitas escribir tu contraseña. Tampoco refresca su entorno (aparte de añadir el grupo), por lo que conserva su directorio de trabajo actual, etc.
2. 2. Ejecutar el comando en todas las ventanas de Screen en una sesión
El comando [ &007 ]&003 en Screen ejecuta un comando en cualquier ventana que usted especifique (note que este es un comando de Screen, no un comando de shell).
Puedes usar el siguiente comando para enviar el comando a todas las sesiones de Screen existentes:
screen -S <session_name> -X at \# stuff "exec sg <new_group_name> newgrp ### 1. Obtener un shell con el nuevo grupo sin cerrar la sesión y volver a entrar
Si sólo estás añadiendo un grupo, he utilizado lo siguiente:
exec sg newgrp id -gn
“`
Esta es una variación del truco newgrp de dos capas de Legooolas, pero está en una línea y no requiere que introduzcas manualmente tu grupo primario.
&007 es newgrp pero aceptando un comando a ejecutar con el nuevo ID de grupo. El &007 significa que el nuevo shell reemplaza al existente, por lo que no necesitas "cerrar la sesión” dos veces.
A diferencia de usar su, no necesitas escribir tu contraseña. Tampoco refresca su entorno (aparte de añadir el grupo), por lo que conserva su directorio de trabajo actual, etc.
2. 2. Ejecutar el comando en todas las ventanas de Screen en una sesión
El comando [ &007 ]&003 en Screen ejecuta un comando en cualquier ventana que usted especifique (note que este es un comando de Screen, no un comando de shell).
Puedes usar el siguiente comando para enviar el comando a todas las sesiones de Screen existentes:
id -gn### 1. Obtener un shell con el nuevo grupo sin cerrar la sesión y volver a entrar
Si sólo estás añadiendo un grupo, he utilizado lo siguiente:
exec sg <new group name> newgrp `id -gn`
Esta es una variación del truco newgrp de dos capas de Legooolas, pero está en una línea y no requiere que introduzcas manualmente tu grupo primario.
&007 es newgrp pero aceptando un comando a ejecutar con el nuevo ID de grupo. El &007 significa que el nuevo shell reemplaza al existente, por lo que no necesitas “cerrar la sesión” dos veces.
A diferencia de usar su, no necesitas escribir tu contraseña. Tampoco refresca su entorno (aparte de añadir el grupo), por lo que conserva su directorio de trabajo actual, etc.
2. 2. Ejecutar el comando en todas las ventanas de Screen en una sesión
El comando [ &007 ]&003 en Screen ejecuta un comando en cualquier ventana que usted especifique (note que este es un comando de Screen, no un comando de shell).
Puedes usar el siguiente comando para enviar el comando a todas las sesiones de Screen existentes:
^M"
“`
Ten en cuenta la necesidad de escapar de los backticks para que &007 se ejecute en la sesión de Screen, y el ^M para que Screen pulse ‘enter’ al final del comando.
Ten en cuenta también que el comando [ &007 ]&003 de Screen simplemente escribe el texto del comando en tu nombre. Por lo tanto, puede ocurrir algo extraño si una de las ventanas de la pantalla tiene un comando a medio escribir en un símbolo del sistema o está ejecutando una aplicación que no sea un shell (por ejemplo, emacs, top). Si esto es un problema, tengo algunas ideas:
- Para deshacerse de cualquier comando medio escrito, puede añadir ”^C" al inicio del comando.
- Para evitar ejecutar el comando en una ventana de emacs, etc, podría pedirle a `at’ que filtre en el título de la ventana, etc (en el ejemplo anterior, uso “#”, que coincide con todas las ventanas, pero puede filtrar por el título de la ventana, el usuario, etc).
Para ejecutar el comando en una ventana específica (identificada por el número de la ventana), use lo siguiente:
^M"
“`