Як перезавантажити screenrc без перезавантаження екрану?


90

Як змінити screenrc, як побачити зміни без перезавантаження екрана?

Відповіді:


103

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


7
Пошук файлу повинен працювати. Від'єднання та повторне закріплення не буде.
Зед

1
@Zed: Але він повторно застосує речі termcap / terminfo, які не відбудуться при використанні source.
Денніс Вільямсон

@ Денніс, я спробував від'єднати та повторно прив'язати, і це не вийшло, тому я прийшов задати це питання. Також за допомогою джерела можна відкрити всі вікна з .screenrc, однак це не оновить сеанс, а створить повторювані вікна за один сеанс. Дякую.
garconcn

3
Використання "source" - це правильний (і єдиний) спосіб перечитати екран .screenrc на екрані під час запущеного сеансу. Так, це означає, що він повторно запустить будь-які команди, які у вас є, включаючи команди, що створюють вікна або макети. Ви можете редагувати файл, щоб прокоментувати команди, які створюють нові вікна / макети; джерело файлу; а потім не коментуйте ці рядки. Звичайно, якщо ви хочете протестувати створення вікон, у вас тут немає великого вибору ...
Джеймс Поллі,

8
@garconcn: Якщо це ви можете робити часто, покладіть цей матеріал (інструкції щодо створення екрана) у другий файл, і sourceвін з .screenrc(який буде містити ваші інструкції щодо створення екрану) для регулярного запуску, і коли вам потрібно буде sourceзнову після цього screenвже запущено, просто зробіть "ctrl-a: source sekund-file", щоб пропустити вміст створення екрана.
Денніс Вільямсон,

36

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

Це те, що працювало для мене - Ctrl-a : source $HOME/.screenrc


Було б нормально розраховувати ~на розширення до вашого домашнього каталогу.
користувач9517

@Iain Я знаю, в ідеалі це повинно бути. Я здогадуюсь, що з моїм ENV тоді щось не було. Тим не менш, це спрацювало.
Holydevil

У мене був такий самий випуск у CentOS 5.
slm

Те саме питання з zsh та oh-my-zsh в archlinux.
Jaseem

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. Після цього ви зможете використовувати нову комбінацію клавіш.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.