刚刚遇到 byobu,作为一个 screen 和 tmux 用户,我想我应该尝试一下,因为它已经做了很多我在 screen 和 tmux 中一起破解的事情,而且看起来经过深思熟虑。但是,当我打开新会话或拆分时,基本上任何启动新命令提示符的东西都不会将它们创建为“登录 shell”,就像“bash --login”一样,它处理 /etc/profile 和涉及的配置文件级联。
可能有一种简单/直接的方法可以让它作为登录 shell 启动它们,但我似乎找不到它,并希望有人知道如何配置它。
刚刚遇到 byobu,作为一个 screen 和 tmux 用户,我想我应该尝试一下,因为它已经做了很多我在 screen 和 tmux 中一起破解的事情,而且看起来经过深思熟虑。但是,当我打开新会话或拆分时,基本上任何启动新命令提示符的东西都不会将它们创建为“登录 shell”,就像“bash --login”一样,它处理 /etc/profile 和涉及的配置文件级联。
可能有一种简单/直接的方法可以让它作为登录 shell 启动它们,但我似乎找不到它,并希望有人知道如何配置它。
在 ~/.byobu/windows.tmux
. 尝试启动 byobu 会导致错误并且根本无法启动。
user@machine ~ $ byobu
unknown command: #new-window
user@machine ~ $
在 unix.stackexchange.com 上找到了这个七年前未回答的问题 如何在 windows.tmux 文件中发表评论
使用这些注释字符失败#
, //
, 和;
user@machine ~ $ cat ~/.byobu/windows.tmux
new-session -s 'FW';
new-window -n FireWall ssh -p 23 fwuser@FireWall;
new-window -n root sudo su - ;
new-window -n TTYrouter sudo minicom /dev/ttyUSB3 ;
new-window -n untangle ssh [email protected] ;
; new-window -n COMMENT ssh [email protected] ;
new-window -n ;
new-window -n rock64 ssh user@rock64;
new-window -n rock64root user@rock64 "sudo su -";
user@machine ~ $ byobu
;
结果是no command
#
结果是unknown command: #
//
结果是unknown command: //
我最近从 Ubuntu 18.04 升级到 Ubuntu 20.04,在byobu
, tmux
, Vim 和 ncurses 应用程序中遇到了一个奇怪的问题:Enter不起作用,我需要使用CTRL+M代替。
例如,如果我在 Gnome 终端的 Byobu(或 Tmux)窗口中编辑 Vim 中的文件,键入Enter不会插入换行符,而是插入带有M
字符的新行。要插入新行,我需要输入CTRL+ M。因此,要退出 Vim,我需要输入ESC :q
CTRL+ M。
这也发生在 ncurses 应用程序中,例如ncdu
: 而不是Enter我需要使用CTRL+ M。
更改TERM
环境变量似乎有帮助,但不是 100%。我进入的默认值byobu
是tmux
,TERM=screeen-256color
但如果我将其更改为TERM=xterm-256color
一切似乎在 Vim 中工作正常,但在ncdu
.
除此之外,Enter当我使用更改 Byobu 配置时 key 不起作用F9- 正如我上面所说的,我需要使用CTRL+M来选择配置中的项目。
我还尝试在~/.tmux.conf
and中添加以下行~/.byobu/.tmux.conf
,但它仅对 Vim 有帮助:
set -g default-terminal "xterm-256color"
问题xterm
也发生在。
我该如何解决这个问题?
我再次尝试了一个新用户,并遇到了同样的问题,所以我的猜测是它可能与系统相关。
修补一下,xev
我发现这台笔记本电脑的键盘有些奇怪——即使我在意大利,它也是一个 ANSI 键盘(标准的意大利键盘布局是 ISO),并且 Enter 按钮发送了错误的键码。
当我按下Enter按钮时,它会发送一个 kyecode 104, KP_Enter
,而不是通常的 keycode 36, Return
。所以这是一个硬件问题,可能与 Ubuntu 本身无关。不知道为什么我以前没有意识到。
我用它来制作它,所以 Byobu 在终端启动时运行。但是,当我在 IntelliJ 中打开嵌入式终端时,它会执行相同的操作并使用相同的缓冲区。这导致嵌入式终端看起来像这样:
无论您修改哪个,可视区域的文本和大小都是相同的,因此它们肯定使用相同的缓冲区。
有没有办法让 IntelliJ 中的嵌入式终端不打开 Byobu?_byobu_sourced
也许在检查调用它的实体的线路设置上存在某种条件?
编辑:这在技术上属于 AskDifferent,因为我在 Mac 上这样做,但这个想法仍然适用于 Ubuntu 和 Mac。此外,AskUbuntu 上的用户更有可能遇到此问题,因为使用 Byobu 的 Ubuntu 用户比 Mac OS 用户多得多。由于这种差异,您的情况可能会略有不同。
默认情况下,Byobu 状态栏包含大量有关分发、更新、CPU 等的信息。
我想删除所有这些。
我只想看到我打开的终端(当然还有当前终端)的“标签”。
怎么做?
我想通过自动完成以下操作来避免浪费时间做我的启动仪式:
我猜它会是这样的:
gnome-terminal --full-screen -- byobu -S MainSession
byobu-tmux select-pane -t 0
byobu-tmux split-window -v
byobu-tmux select-pane -t 1
byobu-tmux split-window -h
byobu-tmux select-pane -t 0
byobu-tmux split-window -h
byobu-tmux select-pane -t 1
byobu-tmux send-keys "COMMAND"
byobu-tmux select-pane -t 2
byobu-tmux send-keys "COMMAND"
byobu-tmux select-pane -t 3
byobu-tmux send-keys "COMMAND"
byobu-tmux select-pane -t 0
第一行将打开一个新的全屏终端并将新的 byobu 会话命令传递给它。但是,我不知道如何将脚本的其余部分连接在一起。如果我在 byobu 之前加上一个开始引号,用 ; 分隔所有命令,并在脚本末尾加上一个结束引号,我会在没有 byobu 的情况下打开终端,并出现错误:“无法执行子进程(没有这样文件或目录)”。
另外,如何在特定显示器上打开终端?根据 gnome-control-center,我想要打开的显示器是 3 号。
我在这里遵循指南:https ://alexpearce.me/2014/05/italics-in-iterm2-vim-tmux/
它适用于默认 tmux,但如果我通过 byobu 启动 tmux,则术语类型为screen-256color
. 似乎~/.tmux.conf
没有得到来源。
我尝试添加相同set -g default-terminal "tmux"
的内容,~/.byobu/window.tmux
但这阻止了 byobu 的启动。
我想记录与 byobu 的会话。我浏览了配置文件,但看不到日志会话等任何内容。我希望 byobu 在启动会话后立即记录我的会话。:)
每次我意外退出 Byobu 时,在下一次启动时,我都会为每个名为_{sessionname}-{id}的会话找到一个额外的会话选项卡:
我觉得这真的很烦人,因为这在我以前使用旧 Ubuntu 14 的机器上没有发生。我现在在 Ubuntu 17.04 上。
此外,我无法找到一种方法来关闭这些额外的会话窗口而不关闭原始窗口。
按下F6(分离会话然后注销)只会使用不同的{id}重新生成额外/重复的会话。