osmith has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-dev/+/27036 )
Change subject: net: run.sh: support tmux as terminal
......................................................................
net: run.sh: support tmux as terminal
Create one tmux session, with each Osmocom program in one window, if
tmux is chosen as "terminal". This allows using osmo-dev's run.sh over
ssh without X forwarding. Also the existing supported terminals
automatically scroll to the bottom as soon as there is new output,
making it hard to read logs.
Change-Id: Iaef08fb3cb3c6f58cd8490a631e177a03af9c974
---
M net/config_2g3g
M net/templates/run.sh
2 files changed, 22 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/36/27036/1
diff --git a/net/config_2g3g b/net/config_2g3g
index ab6c2a2..95d8290 100644
--- a/net/config_2g3g
+++ b/net/config_2g3g
@@ -1,5 +1,5 @@
# Terminal for launching Osmocom programs
-# Supported: auto, urxvt, xterm
+# Supported: auto, urxvt, xterm, tmux
TERMINAL="auto"
ETH_DEV=eth0
diff --git a/net/templates/run.sh b/net/templates/run.sh
index 19e7e9b..a611926 100755
--- a/net/templates/run.sh
+++ b/net/templates/run.sh
@@ -1,5 +1,13 @@
#!/usr/bin/env bash
+# tmux: start this script inside a new session
+tmux_session="CN"
+if [ "${TERMINAL}" = "tmux" ] && [ "$1" !=
"inside-tmux" ]; then
+ echo "Starting tmux session '$tmux_session'"
+ unset TMUX
+ exec tmux new-session -s "$tmux_session" -n "RUN" "$0"
"inside-tmux"
+fi
+
if ! ../fill_config.py --check-stale; then
echo
echo "WARNING: STALE CONFIGS - your net configs are older than the templates they
should be based on!"
@@ -46,7 +54,7 @@
find_term() {
# Find a terminal program and write to the global "terminal" variable
- local programs="urxvt xterm"
+ local programs="urxvt xterm tmux"
if [ -n "${TERMINAL}" ] && [ "${TERMINAL}" !=
"auto" ]; then
case " $programs " in
@@ -122,12 +130,19 @@
EOF
chmod +x "$wrapper"
- $terminal \
- -title "CN:$title" \
- -e sh -c "$wrapper" \
- &
+ case "$terminal" in
+ tmux)
+ tmux new-window -d -n "$title" "$wrapper &; echo \$! >
$pidfile_term; fg; wait"
+ ;;
+ *)
+ $terminal \
+ -title "CN:$title" \
+ -e sh -c "$wrapper" \
+ &
- echo "$!" > "$pidfile_term"
+ echo "$!" > "$pidfile_term"
+ ;;
+ esac
}
kill_pids() {
--
To view, visit
https://gerrit.osmocom.org/c/osmo-dev/+/27036
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-dev
Gerrit-Branch: master
Gerrit-Change-Id: Iaef08fb3cb3c6f58cd8490a631e177a03af9c974
Gerrit-Change-Number: 27036
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newchange