在 Screen 会话中设置区域

在 Screen 会话中设置区域

我试图获得一个带有 4 个选项卡的“屏幕”,将屏幕分为 4 个区域。

我正在运行 4 个 bfgminer 实例。每个 USB 硬件矿工一个实例。不幸的是,事情必须是这样的。所以我试图在 1 个屏幕上获得所有 4 个输出。

我正在使用以下配置文件启动屏幕,为我提供 4 个可以切换的选项卡。

    screen -t  USB0
    select 0
    stuff "command /home/pi/Mining/bfgminer --scrypt -c miner.conf
    screen -t USB1
    select 1
    stuff "command /home/pi/Mining/bfgminer --scrypt -c miner.conf
    screen -t USB2
    select 2
    stuff "command /home/pi/Mining/bfgminer --scrypt -c miner.conf
    screen -t USB3
    select 3
    stuff "command /home/pi/Mining/bfgminer --scrypt -c miner.conf

    altscreen on
    term screen-256color                                          
    bind ','         prev                                                                  
    bind '.' next 
    #                                                                              
    #change the hardstatus settings to give an window list at the bottom of the    
    #screen, with the time and date and with the current window highlighted        
    hardstatus alwayslastline                                                      
    #hardstatus string '%{= kG}%-Lw%{= kW}%50> %n%f* %t%{= kG}%+Lw%< %{= kG}%-=%c:%
    hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%

我在某处的旧帖子中找到了它。并根据我的需要对其进行了一些调整。

通过阅读 Screen 手册页,我认为“Regions”功能应该允许我将所有 4 个选项卡拆分在一个屏幕上,而不必使用Ctrl+ A, CTRL+,来查看下一个屏幕。

如何让 Screen 在一个屏幕上显示 bfgminer 的所有 4 个实例?

我将使用 ssh 访问我的 Pi 并时不时地检查矿工,只需 1 次登录和屏幕运行就会容易得多。

答案1

我不会尝试合并screen输出,而是会执行以下操作。

  1. 更改每个bfgminer,以便它们像这样登录到自己的文件中。

    command /home/pi/Mining/bfgminer --scrypt -c miner.conf | tee bfgminger1.log
    
  2. tail然后在第 5 个命令中使用以下命令screen,以便我可以同时观看所有 4 个命令的输出。

    tail -f bfgminger{1..4}.log
    

答案2

在你的情况下我必须推荐 tmux,我有我的tmux-setup-script

#!/bin/sh
tmux new-session -d -s rabin

tmux new-window -t rabin -n 'Server1' 'ssh [email protected]'
tmux new-window -t rabin -n 'Server2' 'ssh [email protected]'
tmux new-window -t rabin -n 'Server3' 'ssh [email protected]'
tmux new-window -t rabin -n 'Server4' 'ssh [email protected]'
tmux new-window -t rabin -n 'Server5' 'ssh [email protected]'

tmux select-window -t rabin:1
tmux -2 attach-session -t rabin

我还建议您阅读拱门维基页面对于一些不错的选项,您可以在tmux.conf文件中设置。

编辑:

您可以将同一个窗口拆分为多个面板,

# create a new session
tmux new-session -d -s XXX

 # will split the window horizontally
 tmux split-window -h -t XXX

 # will split the window vertically 
 tmux split-window    -t XXX

 # select the LEFT panel in the current window
 tmux select-pane -L  -t XXX
 tmux split-window    -t XXX

答案3

对于screen,您需要的命令是splitfocus next,它们分别创建一个新区域并将焦点移至该区域。在开始新进程之前运行每个进程。

如果您有垂直补丁,split -v也可以使用,并且可能会给您带来更好的布局。

相关内容