好。所以我喜欢屏幕。当机器崩溃或断开网络连接时,它已经保存了几次我的培根。但是,有足够的理由让我不再使用屏幕,包括:
- 对接滚动疼痛。为什么我不能只是像正常的bash shell那样进行交互?
- 我的键盘快捷键消失了。我在bash环境中定制了很多东西,有没有办法让它们在屏幕上工作?
是否有任何工具可以用来使我的屏幕使用体验与我的bash使用体验一样高质量?
好。所以我喜欢屏幕。当机器崩溃或断开网络连接时,它已经保存了几次我的培根。但是,有足够的理由让我不再使用屏幕,包括:
是否有任何工具可以用来使我的屏幕使用体验与我的bash使用体验一样高质量?
Answers:
这是一个长期而基本的答案,但我也介绍了您在下面的OP回复中列出的Ctrl-D问题
我看到终端和shell的混乱。滚动不是由您的shell完成的,而是由您的终端完成的。做什么screen
和tmux
做的是在你的gnome-terminal上为每个子窗口添加另一个终端(这可能听起来很奇怪,但终端不是你看到的,但实际上只是一个设备,通常在/ dev / pts /,进程可以从中读取字节并将字节写入其中。
当屏幕在你的gnome-terminal 顶部运行其伪终端时,它没有机会拦截gnome-terminal已经拦截的密钥。它需要有自己的快捷键,因为用户不应该按下gnome-terminal理解的快捷键。你可以,但结果将不是你所期望的,因为gnome-terminal不知道屏幕创建的混乱。
您可能确实只有shell截获的快捷方式(不是shell从其中读取字符的终端),但除非它们涉及Ctrl-A(键盘顶部的屏幕拦截的唯一键,否则不会受到影响)由终端子系统拦截(例如Ctrl-C))。他们应该以同样的方式工作。通常由该bash
shell 解释的一些快捷方式是Ctrl-A(在屏幕内,您必须使用Ctrl-A a)将光标移动到编辑的命令的开头,而Ctrl-E(在屏幕内工作的方式与不在屏幕内)移动到最后。
我知道这听起来很复杂,但它真的很简单,因为终端只是一个文件,你可以写入字节并从中读取字节。如果您有兴趣,这里有一篇很好的文章,涵盖了很多相关内容:http://www.linusakesson.net/programming/tty/index.php
要关注例如Ctrl-D(应该由shell解释的组合键)问题,您应该检查由Ctrl-D生成的字符在gnome-terminal和screen-terminal上是否相同。你可以看到角色,例如cat
。我怀疑它们确实是相同的(在我的系统上是这样),如果是的话,这意味着屏幕启动了另一个shell,而不是gnome-terminal通常会这样做。在这种情况下,找出gnome-terminal本机启动的shell,并在你的屏幕会话中启动这个shell(使用相同的命令行参数)。
一个字:Byobu
我大约一年前开始使用,不会再回头了。
它基本上是一个完全可定制的屏幕前端。 http://en.wikipedia.org/wiki/Byobu_%28software%29
Byobu(软件)来自维基百科,免费的百科全书跳转到:导航,搜索Byobu终端屏幕的nijaba.png Byobu开发人员Dustin Kirkland(参见完整的作者列表初始版本2009写在sh,python操作系统Linux,类Unix类型命令行界面许可证GNU通用公共许可证v3网站 http://launchpad.net/byobu
Byobu是终端多路复用器GNU Screen [1]或tmux [2]的增强版,可用于提供屏幕通知或状态以及选项卡式多窗口管理。它旨在为连接到远程服务器时的终端会话提供更好的用户体验。历史
在Ubuntu开发者峰会期间,当开发人员正在寻找一种简化连接到服务器的管理员的屏幕通知的方法时,Byobu的想法出现了。[3]
它最初是为Ubuntu [4] [5]编写的,从那时起被移植到其他多个Linux发行版[6] [7]和其他类Unix操作系统。[8] 1.0版是在Screen Profiles的名称下完成的。该项目因其2.0发布而更名为Byobu。[9] Byobu 3.0重新构建了构建系统以使用automake并允许移植到其他UNIX操作系统。Byobu 4.0引入了屏幕分割,重新设计了状态通知系统,并添加了对tmux配置文件的支持。Byobu 5.0引入的最重要的变化是从GNU Screen转换为Tmux作为默认后端。您仍然可以在屏幕模式下运行Byobu,但默认体验现在使用Tmux [10]。
从Ubuntu 11.10版本开始,所有Ubuntu云实例初始shell都默认在Byobu环境中运行。
你有很多的选择,当涉及到终端muxers,但没有人会表现究竟喜欢你的shell。
屏幕和tmux(以及扩展名,byobu)可能是你错误的选择,如果你想让它们成为在gnome-terminal中使用Bash的替代品。所以,你也可以这样做。
VNC为您提供可拆卸和可恢复的X Windows环境,因此您可以获得终端复用器的所有稳健性,但您也可以获得完整的窗口环境。您可以运行您选择的终端仿真器,使用正常的Bash键盘设置,鼠标将以您期望的方式工作。