我正在运行 screen -D -R(可以选择使用 -S 名称),它工作得很好,但有一个问题 - 当给定的屏幕之前不存在时,我收到通知“新屏幕...”,并且很烦人等待。
如何禁用此特定通知?
Jes*_*ess 11
我只是遇到了同样的问题。在最新版本的屏幕中,您可以指定-q静音屏幕的标志,并使其不显示。
该源显示
if (rflag && (rflag & 1) == 0 && !quietflag)
Run Code Online (Sandbox Code Playgroud)
所以我不知道 Gilles 在哪里发现的,或者什么时候改变的。
不幸的是,这种行为在源代码中是硬编码的:相同的测试用于确定是否发出 \xe2\x80\x9cNew screen...\xe2\x80\x9d 通知并确定是否附加到正在运行的会话。(在屏幕 4.0.3 源中,(rflag && (rflag & 1) == 0)inattacher.c和screen.c\xe2\x80\x94rflag为 1,-r每个 加上 2。-R)
如果您愿意重新编译,则修补程序很简单:从 中删除显示消息的行screen.c。
您可以通过输入一些内容来使该消息消失。如果您不想键入将到达屏幕窗口内的应用程序的键,则可以键入C-a `或其他一些未绑定的键。
一种简单的解决方法是立即分离屏幕会话(使用C-a d或使用detach文件中的命令screenrc;-m在还指定时在命令行上对此不起作用-R),然后再次附加到它(例如,通过运行相同的命令)再次命令)。
一个非常笨拙但完全自动化的解决方法是在文件中包含以下行screenrc以最初跳过消息并在一秒钟后重新启用它们:
msgwait 0\nscreen -t post_initialization 39 sh -c 'sleep 1; screen -X msgwait 5'\nRun Code Online (Sandbox Code Playgroud)\n\n(39 是最大可能的窗口号,它是一个编译时选项 ( MAXWIN)。)
请注意,这两种解决方法都会隐藏screen启动时选择显示的任何消息,而不仅仅是无用的 \xe2\x80\x9cNew screen...\xe2\x80\x9d 消息。
| 归档时间: |
|
| 查看次数: |
2309 次 |
| 最近记录: |