1. Obter uma shell com o novo grupo sem sair e entrar novamente
Se está a adicionar apenas um grupo, usei o seguinte:
exec sg <new group name> newgrp `id -gn`
Esta é uma variação do truque do newgrp de duas camadas do Legooolas, mas está numa linha e não requer que entre manualmente no seu grupo primário.
sg
é newgrp mas aceita um comando para executar com o novo ID do grupo. O exec
significa que o novo shell substitui o shell existente, por isso não precisa de “sair” duas vezes.
Ao contrário de usar o su, não precisa de digitar a sua palavra-passe. Também não actualiza o seu ambiente (para além de adicionar o grupo), por isso mantém o seu directório de trabalho actual, etc.
2. Executando o comando em todas as janelas Screen numa sessão
O comando at
em Screen executa um comando em qualquer janela que especificar (note que isto é um comando Screen, não um comando shell).
Pode usar o seguinte comando para enviar o comando para todas as sessões existentes no Ecrã:
screen -S <session_name> -X at \# stuff "exec sg <new_group_name> newgrp ### 1. Obter uma shell com o novo grupo sem sair e entrar novamente
Se está a adicionar apenas um grupo, usei o seguinte:
exec sg newgrp id -gn
“`
Esta é uma variação do truque do newgrp de duas camadas do Legooolas, mas está numa linha e não requer que entre manualmente no seu grupo primário.
id
é newgrp mas aceita um comando para executar com o novo ID do grupo. O stuff
significa que o novo shell substitui o shell existente, por isso não precisa de "sair” duas vezes.
Ao contrário de usar o su, não precisa de digitar a sua palavra-passe. Também não actualiza o seu ambiente (para além de adicionar o grupo), por isso mantém o seu directório de trabalho actual, etc.
2. Executando o comando em todas as janelas Screen numa sessão
O comando &007 em Screen executa um comando em qualquer janela que especificar (note que isto é um comando Screen, não um comando shell).
Pode usar o seguinte comando para enviar o comando para todas as sessões existentes no Ecrã:
id -gn### 1. Obter uma shell com o novo grupo sem sair e entrar novamente
Se está a adicionar apenas um grupo, usei o seguinte:
exec sg <new group name> newgrp `id -gn`
Esta é uma variação do truque do newgrp de duas camadas do Legooolas, mas está numa linha e não requer que entre manualmente no seu grupo primário.
&007 é newgrp mas aceita um comando para executar com o novo ID do grupo. O &007 significa que o novo shell substitui o shell existente, por isso não precisa de “sair” duas vezes.
Ao contrário de usar o su, não precisa de digitar a sua palavra-passe. Também não actualiza o seu ambiente (para além de adicionar o grupo), por isso mantém o seu directório de trabalho actual, etc.
2. Executando o comando em todas as janelas Screen numa sessão
O comando [ &007 ]&003 em Screen executa um comando em qualquer janela que especificar (note que isto é um comando Screen, não um comando shell).
Pode usar o seguinte comando para enviar o comando para todas as sessões existentes no Ecrã:
^M"
“`
Note a necessidade de escapar aos backticks para obter o &007 para correr na sessão do Ecrã, e o ^M para obter o Ecrã para carregar em ‘enter’ no final do seu comando.
Note também que o comando [ &007 ]&003 do Ecrã simplesmente digita o texto do comando em seu nome. Portanto algo estranho pode acontecer se uma das janelas do ecrã tiver um comando semi-escrito num prompt de comando ou estiver a correr uma aplicação que não seja uma shell (e.g. emacs, top). Se isto for um problema, tenho algumas ideias:
- Para se livrar de qualquer comando semi-escrito, pode adicionar ”^C" ao início do comando.
- Para evitar correr o comando numa janela emacs, etc., pode pedir ao `at’ para filtrar no título da janela, etc. (no exemplo acima, eu uso “#”, que corresponde a todas as janelas, mas pode filtrar por título de janela, utilizador, etc.)
Para correr o comando numa janela específica (identificada pelo número da janela), use o seguinte:
screen -S <session_name> -p 0 -X stuff "exec sg <new_group_name> newgrp ### 1. Obter uma shell com o novo grupo sem sair e entrar novamente
Se está a adicionar apenas um grupo, usei o seguinte:
exec sg newgrp id -gn
“`
Esta é uma variação do truque do newgrp de duas camadas do Legooolas, mas está numa linha e não requer que entre manualmente no seu grupo primário.
&007 é newgrp mas aceita um comando para executar com o novo ID do grupo. O &007 significa que o novo shell substitui o shell existente, por isso não precisa de "sair” duas vezes.
Ao contrário de usar o su, não precisa de digitar a sua palavra-passe. Também não actualiza o seu ambiente (para além de adicionar o grupo), por isso mantém o seu directório de trabalho actual, etc.
2. Executando o comando em todas as janelas Screen numa sessão
O comando [ &007 ]&003 em Screen executa um comando em qualquer janela que especificar (note que isto é um comando Screen, não um comando shell).
Pode usar o seguinte comando para enviar o comando para todas as sessões existentes no Ecrã:
screen -S <session_name> -X at \# stuff "exec sg <new_group_name> newgrp ### 1. Obter uma shell com o novo grupo sem sair e entrar novamente
Se está a adicionar apenas um grupo, usei o seguinte:
exec sg newgrp id -gn
“`
Esta é uma variação do truque do newgrp de duas camadas do Legooolas, mas está numa linha e não requer que entre manualmente no seu grupo primário.
&007 é newgrp mas aceita um comando para executar com o novo ID do grupo. O &007 significa que o novo shell substitui o shell existente, por isso não precisa de "sair” duas vezes.
Ao contrário de usar o su, não precisa de digitar a sua palavra-passe. Também não actualiza o seu ambiente (para além de adicionar o grupo), por isso mantém o seu directório de trabalho actual, etc.
2. Executando o comando em todas as janelas Screen numa sessão
O comando [ &007 ]&003 em Screen executa um comando em qualquer janela que especificar (note que isto é um comando Screen, não um comando shell).
Pode usar o seguinte comando para enviar o comando para todas as sessões existentes no Ecrã:
id -gn### 1. Obter uma shell com o novo grupo sem sair e entrar novamente
Se está a adicionar apenas um grupo, usei o seguinte:
exec sg <new group name> newgrp `id -gn`
Esta é uma variação do truque do newgrp de duas camadas do Legooolas, mas está numa linha e não requer que entre manualmente no seu grupo primário.
&007 é newgrp mas aceita um comando para executar com o novo ID do grupo. O &007 significa que o novo shell substitui o shell existente, por isso não precisa de “sair” duas vezes.
Ao contrário de usar o su, não precisa de digitar a sua palavra-passe. Também não actualiza o seu ambiente (para além de adicionar o grupo), por isso mantém o seu directório de trabalho actual, etc.
2. Executando o comando em todas as janelas Screen numa sessão
O comando [ &007 ]&003 em Screen executa um comando em qualquer janela que especificar (note que isto é um comando Screen, não um comando shell).
Pode usar o seguinte comando para enviar o comando para todas as sessões existentes no Ecrã:
^M"
“`
Note a necessidade de escapar aos backticks para obter o &007 para correr na sessão do Ecrã, e o ^M para obter o Ecrã para carregar em ‘enter’ no final do seu comando.
Note também que o comando [ &007 ]&003 do Ecrã simplesmente digita o texto do comando em seu nome. Portanto algo estranho pode acontecer se uma das janelas do ecrã tiver um comando semi-escrito num prompt de comando ou estiver a correr uma aplicação que não seja uma shell (e.g. emacs, top). Se isto for um problema, tenho algumas ideias:
- Para se livrar de qualquer comando semi-escrito, pode adicionar ”^C" ao início do comando.
- Para evitar correr o comando numa janela emacs, etc., pode pedir ao `at’ para filtrar no título da janela, etc. (no exemplo acima, eu uso “#”, que corresponde a todas as janelas, mas pode filtrar por título de janela, utilizador, etc.)
Para correr o comando numa janela específica (identificada pelo número da janela), use o seguinte:
id -gn### 1. Obter uma shell com o novo grupo sem sair e entrar novamente
Se está a adicionar apenas um grupo, usei o seguinte:
exec sg <new group name> newgrp `id -gn`
Esta é uma variação do truque do newgrp de duas camadas do Legooolas, mas está numa linha e não requer que entre manualmente no seu grupo primário.
&007 é newgrp mas aceita um comando para executar com o novo ID do grupo. O &007 significa que o novo shell substitui o shell existente, por isso não precisa de “sair” duas vezes.
Ao contrário de usar o su, não precisa de digitar a sua palavra-passe. Também não actualiza o seu ambiente (para além de adicionar o grupo), por isso mantém o seu directório de trabalho actual, etc.
2. Executando o comando em todas as janelas Screen numa sessão
O comando [ &007 ]&003 em Screen executa um comando em qualquer janela que especificar (note que isto é um comando Screen, não um comando shell).
Pode usar o seguinte comando para enviar o comando para todas as sessões existentes no Ecrã:
screen -S <session_name> -X at \# stuff "exec sg <new_group_name> newgrp ### 1. Obter uma shell com o novo grupo sem sair e entrar novamente
Se está a adicionar apenas um grupo, usei o seguinte:
exec sg newgrp id -gn
“`
Esta é uma variação do truque do newgrp de duas camadas do Legooolas, mas está numa linha e não requer que entre manualmente no seu grupo primário.
&007 é newgrp mas aceita um comando para executar com o novo ID do grupo. O &007 significa que o novo shell substitui o shell existente, por isso não precisa de "sair” duas vezes.
Ao contrário de usar o su, não precisa de digitar a sua palavra-passe. Também não actualiza o seu ambiente (para além de adicionar o grupo), por isso mantém o seu directório de trabalho actual, etc.
2. Executando o comando em todas as janelas Screen numa sessão
O comando [ &007 ]&003 em Screen executa um comando em qualquer janela que especificar (note que isto é um comando Screen, não um comando shell).
Pode usar o seguinte comando para enviar o comando para todas as sessões existentes no Ecrã:
id -gn### 1. Obter uma shell com o novo grupo sem sair e entrar novamente
Se está a adicionar apenas um grupo, usei o seguinte:
exec sg <new group name> newgrp `id -gn`
Esta é uma variação do truque do newgrp de duas camadas do Legooolas, mas está numa linha e não requer que entre manualmente no seu grupo primário.
&007 é newgrp mas aceita um comando para executar com o novo ID do grupo. O &007 significa que o novo shell substitui o shell existente, por isso não precisa de “sair” duas vezes.
Ao contrário de usar o su, não precisa de digitar a sua palavra-passe. Também não actualiza o seu ambiente (para além de adicionar o grupo), por isso mantém o seu directório de trabalho actual, etc.
2. Executando o comando em todas as janelas Screen numa sessão
O comando [ &007 ]&003 em Screen executa um comando em qualquer janela que especificar (note que isto é um comando Screen, não um comando shell).
Pode usar o seguinte comando para enviar o comando para todas as sessões existentes no Ecrã:
^M"
“`
Note a necessidade de escapar aos backticks para obter o &007 para correr na sessão do Ecrã, e o ^M para obter o Ecrã para carregar em ‘enter’ no final do seu comando.
Note também que o comando [ &007 ]&003 do Ecrã simplesmente digita o texto do comando em seu nome. Portanto algo estranho pode acontecer se uma das janelas do ecrã tiver um comando semi-escrito num prompt de comando ou estiver a correr uma aplicação que não seja uma shell (e.g. emacs, top). Se isto for um problema, tenho algumas ideias:
- Para se livrar de qualquer comando semi-escrito, pode adicionar ”^C" ao início do comando.
- Para evitar correr o comando numa janela emacs, etc., pode pedir ao `at’ para filtrar no título da janela, etc. (no exemplo acima, eu uso “#”, que corresponde a todas as janelas, mas pode filtrar por título de janela, utilizador, etc.)
Para correr o comando numa janela específica (identificada pelo número da janela), use o seguinte:
^M"
“`