1. Получение оболочки с новой группой без выхода из системы и снова
Если вы добавляете только одну группу, я использовал следующее:
exec sg <new group name> newgrp `id -gn`
Это разновидность двухслойного трюка Legooolas newgrp, но он находится в одной строке и не требует ручного ввода основной группы.
sg
- это newgrp, но он принимает команду для выполнения с новым идентификатором группы. exec
означает, что новая оболочка заменяет существующую оболочку, поэтому вам не нужно дважды “выходить” из системы.
В отличие от использования su, вам не нужно вводить пароль. Она также не обновляет ваше окружение (кроме добавления группы), так что вы сохраняете вашу текущую рабочую директорию и т.д.
2. Выполнение команды во всех окнах Screen в сеансе
Команда at
в Screen выполняет команду во всех указанных вами окнах (обратите внимание, что это команда Screen, а не shell).
Можно использовать следующую команду для отправки команды во все существующие сеансы Screen:
screen -S <session_name> -X at \# stuff "exec sg <new_group_name> newgrp ### 1. Получение оболочки с новой группой без выхода из системы и снова
Если вы добавляете только одну группу, я использовал следующее:
exec sg newgrp id -gn
“`
Это разновидность двухслойного трюка Legooolas newgrp, но он находится в одной строке и не требует ручного ввода основной группы.
id
- это newgrp, но он принимает команду для выполнения с новым идентификатором группы. stuff
означает, что новая оболочка заменяет существующую оболочку, поэтому вам не нужно дважды "выходить” из системы.
В отличие от использования su, вам не нужно вводить пароль. Она также не обновляет ваше окружение (кроме добавления группы), так что вы сохраняете вашу текущую рабочую директорию и т.д.
2. Выполнение команды во всех окнах Screen в сеансе
Команда &007 в Screen выполняет команду во всех указанных вами окнах (обратите внимание, что это команда Screen, а не shell).
Можно использовать следующую команду для отправки команды во все существующие сеансы Screen:
id -gn### 1. Получение оболочки с новой группой без выхода из системы и снова
Если вы добавляете только одну группу, я использовал следующее:
exec sg <new group name> newgrp `id -gn`
Это разновидность двухслойного трюка Legooolas newgrp, но он находится в одной строке и не требует ручного ввода основной группы.
&007 - это newgrp, но он принимает команду для выполнения с новым идентификатором группы. &007 означает, что новая оболочка заменяет существующую оболочку, поэтому вам не нужно дважды “выходить” из системы.
В отличие от использования su, вам не нужно вводить пароль. Она также не обновляет ваше окружение (кроме добавления группы), так что вы сохраняете вашу текущую рабочую директорию и т.д.
2. Выполнение команды во всех окнах Screen в сеансе
Команда [ &007 ]&003 в Screen выполняет команду во всех указанных вами окнах (обратите внимание, что это команда Screen, а не shell).
Можно использовать следующую команду для отправки команды во все существующие сеансы Screen:
^M"
“`
Обратите внимание, что для запуска &007 в сеансе Screen нужно выйти из бэк-тика, а ^M для получения Screen - нажать ‘enter’ в конце команды.
Обратите внимание, что команда экрана [ &007 ]&003 просто набирает текст команды от вашего имени. Поэтому может произойти что-то странное, если одно из окон экрана имеет наполовину написанную команду в командной строке или запускает приложение, отличное от оболочки (например, emacs, top). Если это проблема, то у меня есть несколько идей:
- Чтобы избавиться от наполовину написанной команды, можно добавить ”^C" в начало команды.
Чтобы избежать выполнения команды в эмаковом окне и т.д., можно попросить `at’ фильтровать по заголовку окна и т.д. (в примере выше я использую “#”, что соответствует всем окнам, но можно фильтровать по заголовку окна, пользователю и т.д.)
Чтобы выполнить команду в определенном окне (идентифицируемом по номеру окна), используйте следующее:
screen -S <session_name> -p 0 -X stuff "exec sg <new_group_name> newgrp ### 1. Получение оболочки с новой группой без выхода из системы и снова
Если вы добавляете только одну группу, я использовал следующее:
exec sg newgrp id -gn
“`
Это разновидность двухслойного трюка Legooolas newgrp, но он находится в одной строке и не требует ручного ввода основной группы.
&007 - это newgrp, но он принимает команду для выполнения с новым идентификатором группы. &007 означает, что новая оболочка заменяет существующую оболочку, поэтому вам не нужно дважды "выходить” из системы.
В отличие от использования su, вам не нужно вводить пароль. Она также не обновляет ваше окружение (кроме добавления группы), так что вы сохраняете вашу текущую рабочую директорию и т.д.
2. Выполнение команды во всех окнах Screen в сеансе
Команда [ &007 ]&003 в Screen выполняет команду во всех указанных вами окнах (обратите внимание, что это команда Screen, а не shell).
Можно использовать следующую команду для отправки команды во все существующие сеансы Screen:
screen -S <session_name> -X at \# stuff "exec sg <new_group_name> newgrp ### 1. Получение оболочки с новой группой без выхода из системы и снова
Если вы добавляете только одну группу, я использовал следующее:
exec sg newgrp id -gn
“`
Это разновидность двухслойного трюка Legooolas newgrp, но он находится в одной строке и не требует ручного ввода основной группы.
&007 - это newgrp, но он принимает команду для выполнения с новым идентификатором группы. &007 означает, что новая оболочка заменяет существующую оболочку, поэтому вам не нужно дважды "выходить” из системы.
В отличие от использования su, вам не нужно вводить пароль. Она также не обновляет ваше окружение (кроме добавления группы), так что вы сохраняете вашу текущую рабочую директорию и т.д.
2. Выполнение команды во всех окнах Screen в сеансе
Команда [ &007 ]&003 в Screen выполняет команду во всех указанных вами окнах (обратите внимание, что это команда Screen, а не shell).
Можно использовать следующую команду для отправки команды во все существующие сеансы Screen:
id -gn### 1. Получение оболочки с новой группой без выхода из системы и снова
Если вы добавляете только одну группу, я использовал следующее:
exec sg <new group name> newgrp `id -gn`
Это разновидность двухслойного трюка Legooolas newgrp, но он находится в одной строке и не требует ручного ввода основной группы.
&007 - это newgrp, но он принимает команду для выполнения с новым идентификатором группы. &007 означает, что новая оболочка заменяет существующую оболочку, поэтому вам не нужно дважды “выходить” из системы.
В отличие от использования su, вам не нужно вводить пароль. Она также не обновляет ваше окружение (кроме добавления группы), так что вы сохраняете вашу текущую рабочую директорию и т.д.
2. Выполнение команды во всех окнах Screen в сеансе
Команда [ &007 ]&003 в Screen выполняет команду во всех указанных вами окнах (обратите внимание, что это команда Screen, а не shell).
Можно использовать следующую команду для отправки команды во все существующие сеансы Screen:
^M"
“`
Обратите внимание, что для запуска &007 в сеансе Screen нужно выйти из бэк-тика, а ^M для получения Screen - нажать ‘enter’ в конце команды.
Обратите внимание, что команда экрана [ &007 ]&003 просто набирает текст команды от вашего имени. Поэтому может произойти что-то странное, если одно из окон экрана имеет наполовину написанную команду в командной строке или запускает приложение, отличное от оболочки (например, emacs, top). Если это проблема, то у меня есть несколько идей:
- Чтобы избавиться от наполовину написанной команды, можно добавить ”^C" в начало команды.
Чтобы избежать выполнения команды в эмаковом окне и т.д., можно попросить `at’ фильтровать по заголовку окна и т.д. (в примере выше я использую “#”, что соответствует всем окнам, но можно фильтровать по заголовку окна, пользователю и т.д.)
Чтобы выполнить команду в определенном окне (идентифицируемом по номеру окна), используйте следующее:
id -gn### 1. Получение оболочки с новой группой без выхода из системы и снова
Если вы добавляете только одну группу, я использовал следующее:
exec sg <new group name> newgrp `id -gn`
Это разновидность двухслойного трюка Legooolas newgrp, но он находится в одной строке и не требует ручного ввода основной группы.
&007 - это newgrp, но он принимает команду для выполнения с новым идентификатором группы. &007 означает, что новая оболочка заменяет существующую оболочку, поэтому вам не нужно дважды “выходить” из системы.
В отличие от использования su, вам не нужно вводить пароль. Она также не обновляет ваше окружение (кроме добавления группы), так что вы сохраняете вашу текущую рабочую директорию и т.д.
2. Выполнение команды во всех окнах Screen в сеансе
Команда [ &007 ]&003 в Screen выполняет команду во всех указанных вами окнах (обратите внимание, что это команда Screen, а не shell).
Можно использовать следующую команду для отправки команды во все существующие сеансы Screen:
screen -S <session_name> -X at \# stuff "exec sg <new_group_name> newgrp ### 1. Получение оболочки с новой группой без выхода из системы и снова
Если вы добавляете только одну группу, я использовал следующее:
exec sg newgrp id -gn
“`
Это разновидность двухслойного трюка Legooolas newgrp, но он находится в одной строке и не требует ручного ввода основной группы.
&007 - это newgrp, но он принимает команду для выполнения с новым идентификатором группы. &007 означает, что новая оболочка заменяет существующую оболочку, поэтому вам не нужно дважды "выходить” из системы.
В отличие от использования su, вам не нужно вводить пароль. Она также не обновляет ваше окружение (кроме добавления группы), так что вы сохраняете вашу текущую рабочую директорию и т.д.
2. Выполнение команды во всех окнах Screen в сеансе
Команда [ &007 ]&003 в Screen выполняет команду во всех указанных вами окнах (обратите внимание, что это команда Screen, а не shell).
Можно использовать следующую команду для отправки команды во все существующие сеансы Screen:
id -gn### 1. Получение оболочки с новой группой без выхода из системы и снова
Если вы добавляете только одну группу, я использовал следующее:
exec sg <new group name> newgrp `id -gn`
Это разновидность двухслойного трюка Legooolas newgrp, но он находится в одной строке и не требует ручного ввода основной группы.
&007 - это newgrp, но он принимает команду для выполнения с новым идентификатором группы. &007 означает, что новая оболочка заменяет существующую оболочку, поэтому вам не нужно дважды “выходить” из системы.
В отличие от использования su, вам не нужно вводить пароль. Она также не обновляет ваше окружение (кроме добавления группы), так что вы сохраняете вашу текущую рабочую директорию и т.д.
2. Выполнение команды во всех окнах Screen в сеансе
Команда [ &007 ]&003 в Screen выполняет команду во всех указанных вами окнах (обратите внимание, что это команда Screen, а не shell).
Можно использовать следующую команду для отправки команды во все существующие сеансы Screen:
^M"
“`
Обратите внимание, что для запуска &007 в сеансе Screen нужно выйти из бэк-тика, а ^M для получения Screen - нажать ‘enter’ в конце команды.
Обратите внимание, что команда экрана [ &007 ]&003 просто набирает текст команды от вашего имени. Поэтому может произойти что-то странное, если одно из окон экрана имеет наполовину написанную команду в командной строке или запускает приложение, отличное от оболочки (например, emacs, top). Если это проблема, то у меня есть несколько идей:
- Чтобы избавиться от наполовину написанной команды, можно добавить ”^C" в начало команды.
Чтобы избежать выполнения команды в эмаковом окне и т.д., можно попросить `at’ фильтровать по заголовку окна и т.д. (в примере выше я использую “#”, что соответствует всем окнам, но можно фильтровать по заголовку окна, пользователю и т.д.)
Чтобы выполнить команду в определенном окне (идентифицируемом по номеру окна), используйте следующее:
^M"
“`