改用 screen 作为 byobu 的后端

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了改用 screen 作为 byobu 的后端相关的知识,希望对你有一定的参考价值。

参考技术A

如题,一分钟Mark文。

byobu 是很方便的 Unix 窗口管理器 和 Terminal Multiplexer,它是一套 profiles 或者说 wrapper ,降低使用 tmux 或 screen 的 配置 和 操作 成本。(如果不知道我说什么,看这里 《小工具专题》 ,还有 byobu主页 )

不过我只能算轻度用户,多数时间只使用两个功能:

从没关心过后面是 tmux 还是 screen。直到公司服务器的 byobu 由我一个人用,到大家都用。大家直接敲 byobu 完事,于是都挤在一个 Session 里,互相干扰。

用 byobu 之前我是一个 screen 用户,自然想到大家各自连自己的 Session 。试着给 byobu 加 screen 的参数,发现不行。这时才想到去确认,发现当前版本(5.74)byobu 默认 backend 是 tmux。(印象中是不是早期 byobu 试过以 screen 为默认?忘了)

我知道 tmux 也很强大,加上一些指令和参数,也可以分别创建和管理 Session。可是,我已经习惯 screen ,所以决定把后端换掉。(各位看到这里不必跟我争论哪个好用)

这时候开始,执行 byobu 背后已经是 screen 在干活。最初目的是为了方便分别创建 Session,对应 screen -S SessionName ,相应的 byobu 指令是否可行呢?

注意最后的那个 Attached,表明现在就在这个 Session 里。

如果按 F6 或者 Ctrl-A,Ctrl-D detach ,之后再看:(注意,如果第一次在 screen 按 Ctrl-A ,它会询问 Escape Sequence,建议选 1 screen mode 就好)

基本能用了,只是还有一个小问题:如果不记得/不确定之前的 Session 还在不在,那么操作流程是

比较麻烦。screen 自带 -R SessionName 参数实现『有则重连,无则新建』 的动作。可尝试把 -R 加载 byobu 后面,不支持。byobu 是怎样接受参数并传递给 screen 的呢?试一下在没有 Session 的情况下,执行没有参数的 byobu:

byobu 背后执行的是 screen -S byobu ,也就是说,如果不指定任何参数,byobu 默认会创建一个名字叫 『byobu』 的 Session。而如果指定了(某些)参数,默认名字就不会起效。但 -R 不算在某些参数里。

看完上面的内容,应该就知道了『某些参数』是哪些。当指定这几个参数时,默认 Session 名就会被清空。

那容易,把『某些参数』改成下面的样子:

保存。好了, -R 可以用了。

就酱。

byobu copy

Copy and Paste in Scrollback mode (screen/byobu)
  Enter scrollback mode: F7
  Move the cursor to the start of the text you want to copy, hit spacebar
  Move the cursor to the end of the text you want to copy and hit enter
  To paste text, Alt+Insert

Another solution:

  shift-f3 - move to split to be copied from

  alt-pgup - enter copy mode

  space - start selection

  cursor through desired text

  enter - end selection

  shift-f3 - shift focus to split to copy to

  ensure receiving vim is in insert mode

  alt-insert - paste selected text

https://askubuntu.com/questions/37455/how-to-copy-command-console-text

https://stackoverflow.com/questions/25923952/how-to-copy-from-one-split-and-paste-in-another-in-byobu

以上是关于改用 screen 作为 byobu 的后端的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 前端无法使用加密的后端打开

客户端开发中的后端数据拦截与修改

vue传递表单到后端后端使用sql生成数据库表

Infinispan/JDBC 作为 Wildfly/JBoss 上 Hibernate Search 的后端

使用 MailDir 作为 Gnus 的后端

雪花作为高需求 API 的后端