首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止ELinks停留在回滚缓冲区中?

如何防止ELinks停留在回滚缓冲区中?
EN

Unix & Linux用户
提问于 2012-09-07 13:57:08
回答 1查看 242关注 0票数 2

退出elinks后,浏览器页的历史在我的回滚缓冲区中挥之不去,因此,当我启动elinks时,不会返回到屏幕上缓冲的内容。

在启用altscreen的GNU屏幕中,这种情况不会发生。但是在任何正常的终端会话中,elink都停留在缓冲区中。我注意到,其他终端程序(如Vim和lynx )不会停留在回滚缓冲区中,而是在启动时将缓冲区返回到其状态。但是,我没有在ELinks中找到一个配置选项来确保它切换到备用终端。

代码语言:javascript
复制
$TERM=xterm-256color  

是否有一个配置选项可以防止ELinks停留在回滚缓冲区中?

更新:

在进一步的研究中,回滚问题只发生在OSX上的iTerm2和Terminal.app中。在XTerm中,ELinks不修改回滚缓冲区。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2016-03-25 23:43:36

显而易见的问题是OP不喜欢终端和iTerm2显示(或不显示)交替屏幕的方式。这是xterm和模仿它的程序的一个特性,它允许应用程序在不修改常规命令行文本的情况下显示全屏文本。

如果(a) elinks认为它在xterm中运行,或者(b)如果它认为它在GNU屏幕上运行,那么它决定使用备用屏幕。

  • 它通过查看两个环境变量是否设置为非空值:DISPLAYWINDOWID来检查"xterm“。
  • 它通过查看是否设置了STY环境来检查"GNU屏幕“。

因为在终端或iTerm2中这两种情况通常都是正确的,所以OP似乎想让elinks使用回滚缓冲区。这两个程序都支持这个特性。

最简单的方法是运行GNU屏幕,因为OP会立即获得所需的行为。如果这是不可能的,我们可以通过设置STY环境变量来假装在屏幕上运行,同时运行elinks (这比假装它在xterm中运行的副作用更少)。

由于随机设置该变量会干扰GNU屏幕的运行,因此它最好用作别名,例如,

代码语言:javascript
复制
alias elinks='STY=fixup /opt/local/bin/elinks'

(使用MacPorts用于可执行文件的路径名)。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/47477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档