I use Ollama with continue.dev in code-server, and I wanted a way to hit Cntrl-Shift-Alt-T
to get a “top” of sorts that would show CPU, IO, GPU, loaded models, and logs, all in one place quickly.
Set up the below screenrc
file and created the shortcut above in Debian. Tab
switches between CPU and IO, and Cntrl-a q
quits all screens and closes the Gnome shell.
Screenrc:
termcapinfo xterm* ti@:te@
startup_message off
defscrollback 10000
bind q eval "kill" "quit"
caption always "%{= rw}%-w%{= KW}%n %t%{-}%+w"
defbce on
# Start htop and focus
screen -t "HTop" htop
focus
# Split horizontally to put nvtop under htop
split
focus
screen -t "NVTop" nvtop
# Split vertically to put ollama next to nvtop
split -v
focus
screen -t "Ollama PS" watch -n5 'docker exec -ti ai-ollama ollama ps'
# Split horizontally to put logs underneath ps
split
focus
screen -t "Ollama logs" bash -c "docker logs -f --tail 100 ai-ollama | grep -Ev '\"/api/ps\"|\"/\"'"
# Resize PS, then get back to logs
focus up
resize -v 6
focus down
# Get back to htop
focus
The atop
script that runs with Cntrl-Alt-Shift-T
:
#!/usr/bin/env bash
if [ "${1}" = "new" ]; then
gnome-terminal --geometry=200x50+0+0 --maximize -- /data/system/bin/atop
else
screen -c /data/system/setup/common/screenrc-status
fi
Happy to share my htop
config as well if anyone wants it.
For anyone who wonder what this is, GNU Screen is a terminal multiplexer similar to tmux.
My how the turntables! This used to go the other way 😅👴
Yea, I tried to switch to
tmux
, but… I’m old. HahI really like screen for simple stuff and for connecting to serial consoles. I just rely on my window manager to handle all the splitting and stuff, so I don’t need the power that tmux has.
This is really cool. Nice implementation