修改screenrc后,如何在不重新启动屏幕的情况下查看更改?

#1 楼

您可以尝试Ctrl-a : source ~/.screenrc

评论


采购文件应该可以。拆卸和重新连接不会。

–Zed
2010-10-25 19:35

@Zed:但是它将重新应用termcap / terminfo的东西,当您使用source时不会发生。

–丹尼斯·威廉姆森
2010-10-25 19:36

@Dennis,我尝试分离并重新连接,但没有成功,因此我问了这个问题。同样,使用source可以从.screenrc打开所有窗口,但是它不会刷新会话,而是在一个会话中创建重复的窗口。谢谢。

– Garconcn
2010-10-25 22:17

使用“源”是使屏幕在运行的会话中重新读取.screenrc的正确(唯一方法)。是的,这意味着它将重新运行其中包含的所有命令,包括创建窗口或布局的命令。您可以编辑文件以注释掉创建新窗口/布局的命令。源文件;然后取消注释这些行。当然,如果这是您要测试的窗口创建,那么这里没有太多选择...

–詹姆斯·波利(James Polley)
2010-10-25 22:46



@garconcn:如果您经常这样做,请将这些内容(非屏幕创建说明)放入第二个文件中,并从.screenrc(将包含屏幕创建说明)中获取该文件,以进行常规启动以及在需要时在屏幕启动后再次提供源代码,只需执行“ ctrl-a:源次要文件”即可跳过创建屏幕的内容。

–丹尼斯·威廉姆森
2010-10-25 23:53

#2 楼

我尝试了此处提到的选项-Ctrl-a : source ~/.screenrc,但对我不起作用。

这对我有用-Ctrl-a : source $HOME/.screenrc

评论


期望〜扩展到您的主目录是正常的。

–user9517
2011-12-8 11:44

@Iain我知道,理想情况下应该如此。我想我的ENV出了点问题。尽管如此,它仍然有效。

–holydevil
2011-12-13 10:41

我在CentOS 5上也遇到了同样的问题。

–slm
2012年12月22日下午3:28

在archlinux上,zsh和oh-my-zsh也存在相同的问题。

–雅瑟姆
13年11月23日在9:39

在我的Mac上,同样的问题,不得不使用'source $ HOME / .screenrc'

– bobmagoo
2015年3月6日19:50

#3 楼

我的.screenrc文件中有此文件:

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


按下Ctrl-AShift-R会导致屏幕重新加载.screenrc文件。

当然,这只有在.screenrc文件中已经包含该行的情况下才有效!要在现有屏幕会话上“引导”此排序方式,请将上述行添加到.screenrc文件中,然后按照@Dennis Williamson的回答进行操作。之后,您将可以使用新的键盘快捷键。

评论


太好了可以在命令中添加任何内容来阻止重新加载打开其他窗口吗?我将.screenrc配置为在启动时自动启动两个外壳窗口,因此重新加载.screenrc会不断打开两个新窗口。

–Jesse Schoff
19年11月11日在16:19

#4 楼

其他人提到的Ctrl-a : source ~/.screenrc(或变体)确实是“出路”。但是,如果您使用屏幕的前端(例如byobu),则需要做一些额外的工作:

打开一个新终端
也将屏幕也连接到这里:screen -x

运行Ctrl-a : source ~/.screenrc(就像大家建议的一样)
拆卸屏幕:Ctrl- a d

停止新的终端:exit


现在,无论您使用什么前端,都可以在连接此屏幕的任何位置应用设置。 (即使根本不使用前端也是如此)