Как перезагрузить screenrc без перезагрузки экрана?

90

После изменения screenrc, как увидеть изменения без перезагрузки экрана?

garconcn
источник

Ответы:

103

Вы можете попробовать Ctrl- .a : source ~/.screenrc

Деннис Уильямсон
источник
7
Сорсинг файла должен работать. Отсоединять и прикреплять не буду.
Зед
1
@Zed: Но он будет повторно применять материал termcap / terminfo, чего не произойдет, когда вы используете source.
Деннис Уильямсон
@ Денис, я попытался отсоединить и снова прикрепить его, и это не сработало, поэтому я пришел задать этот вопрос. Кроме того, использование исходного кода может открыть все окна из .screenrc, однако это не обновляет сеанс, а создает двойные окна за один сеанс. Благодарю.
garconcn
3
Использование «источника» - это правильный (и единственный) способ заставить экран перечитывать .screenrc во время сеанса. Да, это означает, что он будет повторно запускать любые команды, которые у вас есть, включая команды, которые создают окна или макеты. Вы можете отредактировать файл, чтобы закомментировать команды, которые создают новые окна / макеты; исходный файл; а затем откомментируйте эти строки. Конечно, если вы хотите протестировать создание окон, у вас нет большого выбора здесь ...
Джеймс Полли
8
@garconcn: Если это то, что вы можете делать часто, поместите этот материал (инструкции по созданию не экрана) во второй файл и sourceиз него .screenrc(который будет содержать инструкции по созданию экрана) для обычного запуска и когда вам понадобится sourceснова после screenуже запущен, просто сделайте "ctrl-a: исходный файл-источник", чтобы пропустить процесс создания экрана.
Деннис Уильямсон
36

Я попробовал вариант упомянутый здесь - Ctrl- и он не работает для меня.a : source ~/.screenrc

Это то, что сработало для меня - Ctrl-a : source $HOME/.screenrc

holydevil
источник
Было бы нормально ожидать ~расширения до вашего домашнего каталога.
user9517
@ Я знаю, в идеале это должно быть. Я думаю, что-то было не так с моим ENV тогда. Тем не менее, это сработало.
Holydevil
У меня была точно такая же проблема на CentOS 5.
SLM
Та же проблема с zsh и oh-my-zsh на archlinux.
Джасим
2
Та же проблема на моем Mac, пришлось использовать 'source $ HOME / .screenrc'
bobmagoo
19

У меня есть это в моем файле .screenrc:

bind R eval "source $HOME/.screenrc" "echo '.screenrc reloaded!'"

Что заставляет экран перезагружать файл .screenrc при Ctrl-AShift-Rнажатии.

Конечно, это работает, только если у вас уже есть строка в вашем файле .screenrc! Чтобы «загрузить» эту сортировку в существующем сеансе экрана, добавьте строку выше строки в ваш файл .screenrc и затем следуйте ответу @Dennis Williamson. После этого вы сможете использовать новое сочетание клавиш.

ltn100
источник