diff -Nru byobu-3.3/ChangeLog byobu-3.5/ChangeLog --- byobu-3.3/ChangeLog 2010-08-24 22:20:18.000000000 +0000 +++ byobu-3.5/ChangeLog 2010-09-15 19:28:55.000000000 +0000 @@ -1,4 +1,41 @@ -byobu (3.3) unreleased; urgency=low +byobu (3.5) unreleased; urgency=low + + [ Jan Klepek ] + * usr/bin/byobu-status: fix libexec path for Fedora, LP: #630054 + + [ Dustin Kirkland ] + * usr/lib/byobu/rcs_cost, usr/lib/byobu/ec2_cost: testing crontab + creation time is not accurate, seems this happens at image creation + rather than instance instantiation; use /etc/hostname instead; ensure + that minimum hours is 1, not 0; LP: #639855 + * usr/lib/byobu/network: use bps rather than B/s by default for network + traffic, LP: #578377 + * This Maverick release also includes the fix: + - usr/share/applications/byobu.desktop: add gettext domain, LP: #623935 + + -- Dustin Kirkland Wed, 01 Sep 2010 13:11:34 -0600 + +byobu (3.4-0ubuntu1) maverick; urgency=low + + * usr/share/byobu/keybindings/f-keys: make F1 also point to the menu, + along with F9; this might help in some tty environments outside of + gnome-terminal + * bin/byobu-janitor, share/byobu/keybindings/f-keys: use sed -e, for + Mac OS X compatibility, LP: #625387, #623595 + * lib/byobu/ip_address, share/man/man1/byobu.1: + - display both ifconfig and ip output in ip_address detail display + - use ip rather than ifconfig to get the ip address, slight performance + improvement + - support a flag, IPV6=1, in .byobu/status, to allow for showing + IPv6 addresses instead of IPv4 + - thanks to Mark Schouten for the IPv6 idea and + sample code + * usr/share/man/man1/byobu.1: fix typos + * usr/share/applications/byobu.desktop: add gettext domain, LP: #623935 + + -- Dustin Kirkland Wed, 01 Sep 2010 13:11:23 -0600 + +byobu (3.3-0ubuntu1) maverick; urgency=low * lib/byobu/network, share/man/man1/byobu.1: clean up binary/decimal multipliers for network transfer vs. memory/disk capacities, in @@ -6,7 +43,7 @@ * usr/share/man/man1/byobu.1: add a note about non-utf8 locales, LP: #613769 - -- Dustin Kirkland Mon, 23 Aug 2010 17:52:26 -0400 + -- Dustin Kirkland Tue, 24 Aug 2010 18:21:09 -0400 byobu (3.2-0ubuntu1) maverick; urgency=low diff -Nru byobu-3.3/debian/changelog byobu-3.5/debian/changelog --- byobu-3.3/debian/changelog 2010-09-15 19:36:32.000000000 +0000 +++ byobu-3.5/debian/changelog 2010-09-15 19:36:33.000000000 +0000 @@ -1,4 +1,41 @@ -byobu (3.3-0ubuntu1~ppa2) jaunty; urgency=low +byobu (3.5-0ubuntu1~ppa2) jaunty; urgency=low + + [ Jan Klepek ] + * usr/bin/byobu-status: fix libexec path for Fedora, LP: #630054 + + [ Dustin Kirkland ] + * usr/lib/byobu/rcs_cost, usr/lib/byobu/ec2_cost: testing crontab + creation time is not accurate, seems this happens at image creation + rather than instance instantiation; use /etc/hostname instead; ensure + that minimum hours is 1, not 0; LP: #639855 + * usr/lib/byobu/network: use bps rather than B/s by default for network + traffic, LP: #578377 + * This Maverick release also includes the fix: + - usr/share/applications/byobu.desktop: add gettext domain, LP: #623935 + + -- Dustin Kirkland Wed, 01 Sep 2010 13:11:34 -0600 + +byobu (3.4-0ubuntu1) maverick; urgency=low + + * usr/share/byobu/keybindings/f-keys: make F1 also point to the menu, + along with F9; this might help in some tty environments outside of + gnome-terminal + * bin/byobu-janitor, share/byobu/keybindings/f-keys: use sed -e, for + Mac OS X compatibility, LP: #625387, #623595 + * lib/byobu/ip_address, share/man/man1/byobu.1: + - display both ifconfig and ip output in ip_address detail display + - use ip rather than ifconfig to get the ip address, slight performance + improvement + - support a flag, IPV6=1, in .byobu/status, to allow for showing + IPv6 addresses instead of IPv4 + - thanks to Mark Schouten for the IPv6 idea and + sample code + * usr/share/man/man1/byobu.1: fix typos + * usr/share/applications/byobu.desktop: add gettext domain, LP: #623935 + + -- Dustin Kirkland Wed, 01 Sep 2010 13:11:23 -0600 + +byobu (3.3-0ubuntu1) maverick; urgency=low * lib/byobu/network, share/man/man1/byobu.1: clean up binary/decimal multipliers for network transfer vs. memory/disk capacities, in @@ -6,7 +43,7 @@ * usr/share/man/man1/byobu.1: add a note about non-utf8 locales, LP: #613769 - -- Dustin Kirkland Mon, 23 Aug 2010 17:52:26 -0400 + -- Dustin Kirkland Tue, 24 Aug 2010 18:21:09 -0400 byobu (3.2-0ubuntu1) maverick; urgency=low diff -Nru byobu-3.3/experimental/byobu.php byobu-3.5/experimental/byobu.php --- byobu-3.3/experimental/byobu.php 1970-01-01 00:00:00.000000000 +0000 +++ byobu-3.5/experimental/byobu.php 2010-09-03 21:21:40.000000000 +0000 @@ -0,0 +1,140 @@ + + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, version 3 of the + License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +*/ + + +/* Set up some global variables */ +$USER = rtrim(`whoami`); +$EXCHANGE = "/var/run/screen/S-$USER/byobu-exchange"; +$HOST = $_SERVER["HTTP_HOST"]; +$ENV = "HOME=~$USER"; +$TITLE = "$USER@$HOST - byobu web interface"; + +function cmd($command) { +/* Run a backtick command on the system, but first, prepend any + environment variables that we need to (over)load. */ + global $ENV; + return `$ENV $command`; +} + +function markup($input) { +/* Translate screen's text color/attribute markup to HTML */ +/* TODO: this function is just a stub right now */ + if (preg_match("/\{\+b.*\}/", $input)) { + + } + $output = preg_replace("/\{[^\}]+\}/", "", $input); + return($output); +} + +function backticks() { +/* Run all backtick status commands, load and return a hash of statuses */ + $lines = preg_grep("/^backtick.*byobu-status/", file("/usr/share/byobu/profiles/common")); + foreach ($lines as $line) { + $key = preg_replace("/^backtick /", "", $line); + $key = preg_replace("/[^0-9].*/", "", $key); + $value = rtrim(preg_replace("/.*byobu-status /", "", $line)); + switch ($value) { + case "date": + $status = date("Y-m-d"); + break; + case "time": + $status = date("H:i:s"); + break; + default: + //$status = markup(cmd("byobu-status $value")); + $status = markup(htmlspecialchars(cmd("/usr/lib/byobu/$value"))); + break; + } + $backticks["$key"] = "" . $status . ""; + //print("$key -> $value -> $status
"); + } + return $backticks; +} + +function print_status() { +/* Print the bottom two status lines of a byobu session */ +/* TODO: alignment of items needs a little love */ + $backticks = backticks(); + $rows = array("^caption always ", "^hardstatus string "); + print("
");
+	foreach ($rows as $row) {
+		print("");
+		$line = array_pop(preg_grep("/$row/", file("/usr/share/byobu/profiles/common")));
+		$items = preg_split("/[^0-9]+/", $line);
+		for ($i=0; $i
"); + } + print("
"); +} + +function process($command) { + /* Process new command, if posted */ + $command = escapeshellcmd($_POST["q"]); + /* TODO: Currently runs against screen "0"; should have a mechanism + web page for selecting a session */ + cmd("screen -X at 0 stuff \"$command \""); + /* TODO: This sleep is gross, but some locking will be necessary to + ensure that (most) commands execute and complete before the + screen exchange happens */ + sleep(2); + +} + +function print_screen_contents($exchange) { + /* TODO: Currently runs against screen "0"; should have a mechanism + web page for selecting a session */ + cmd("screen -X at 0 eval 'process s' 'exec sed -i \"/./,/^$/!d\" $exchange'"); + /* TODO: This sleep is gross, but it takes a little bit of time for + screen to write the window buffer to a file. Need to speed + this up as much as possible. */ + sleep(2); + print("
" . file_get_contents($exchange) . "
"); +} + +if (isset($_POST["q"])) { + process($_POST["q"]); +} + +?> + + + +<?php print("$TITLE"); ?> + + + + +
+ + + diff -Nru byobu-3.3/experimental/README byobu-3.5/experimental/README --- byobu-3.3/experimental/README 1970-01-01 00:00:00.000000000 +0000 +++ byobu-3.5/experimental/README 2010-09-03 21:19:03.000000000 +0000 @@ -0,0 +1,24 @@ +byobu.php + +This web application is the output of the Canonical Platform's Ubuntu Server Team's first "Fedex" day. + +The goal of this application is to provide a web interface for input to, and output from a running Byobu (GNU Screen) session on an Ubuntu Server. + +The motivation is that most smart phones have really crappy SSH/Terminal applications, but have much better web browsers. Ubuntu system administrators often leave long running processes in detached Byobu sessions, and may want to check them later. Ideally, they would be able to do this from their smart phone. A web interface would provide a very convenient way of doing quick checks on running sessions, and perhaps sending some basic commands. + +The state of this code as of 2010-09-03 15:10:45 is that it's working well as a proof of concept for the www-data user. Obviously this needs to be extended to run as normal users for this to be useful. The devil is in the Apache configuration. + +TODO List: + * Use Apache's suexec module to allow byobu.php to interface with "real" user's byobu sessions (rather than just www-data) + * Use Apache's userdir module to allow users to configure this on/off within their ~/public_html, perhaps by symlinking byobu.php into place (or using a byobu utility to toggle this on/off; could be an administrator only function) + * Use Apache's libapache2-mod-auth-pam to authenticate users with their normal system username/password + * Use Apache's ssl to secure the session + * Handle ctrl characters (no way yet to pass characters like ESC, CTRL, ALT, etc through the form to the session) + * Colorize the byobu status line at the bottom + * Support switching between windows in the byobu session (perhaps tabs in the web UI) + * Make it ajaxy, real time, and faster, with fewer page loads + * Select among one or more open sessions + + +Dustin Kirkland +2010-09-03 15:10:45 diff -Nru byobu-3.3/usr/bin/byobu byobu-3.5/usr/bin/byobu --- byobu-3.3/usr/bin/byobu 2010-08-23 21:52:26.000000000 +0000 +++ byobu-3.5/usr/bin/byobu 2010-09-01 19:11:34.000000000 +0000 @@ -18,7 +18,7 @@ # along with this program. If not, see . PKG="byobu" -VERSION=3.3 +VERSION=3.5 [ -z "$BYOBU_PREFIX" ] && export BYOBU_PREFIX="/usr" export BYOBU_PREFIX diff -Nru byobu-3.3/usr/bin/byobu-janitor byobu-3.5/usr/bin/byobu-janitor --- byobu-3.3/usr/bin/byobu-janitor 2010-08-23 21:15:44.000000000 +0000 +++ byobu-3.5/usr/bin/byobu-janitor 2010-08-27 16:16:51.000000000 +0000 @@ -111,9 +111,9 @@ # The status scripts used to have hyphens in their name, but now use # underscores such that we can source the file as a shell snippet; # fix existing status configuration. -sed -i "s/\([^=]+\)-\([^=]+\)=/\1_\2=/g" "$HOME/.$PKG/status" -sed -i "s/^disk-.*=/disk=/" "$HOME/.$PKG/status" -sed -i "s/^network-.*=/network=/" "$HOME/.$PKG/status" +sed -i -e "s/\([^=]+\)-\([^=]+\)=/\1_\2=/g" "$HOME/.$PKG/status" +sed -i -e "s/^disk-.*=/disk=/" "$HOME/.$PKG/status" +sed -i -e "s/^network-.*=/network=/" "$HOME/.$PKG/status" # Affects: Upgrades from <= byobu-2.16 # screen-launcher was renamed byobu-launcher; if the user has byobu @@ -142,7 +142,7 @@ # Affects: Upgrades from <= byobu-2.57 that autolaunch # If the global autolaunch is on, then remove duplicate entry in ~/.profile if [ -h "/etc/profile.d/Z98-$PKG.sh" ]; then - sed -i "/ $PKG-launcher/d" "$HOME"/.profile || true + sed -i -e "/ $PKG-launcher/d" "$HOME"/.profile || true fi # Affects: Upgrades from <= byobu-2.70 that autolaunch @@ -154,7 +154,7 @@ # Affects: Upgrades from <= byobu-2.78 which might have "motd+shell" # in their window list; update this to just "shell" if grep -qs "motd+shell" "$HOME/.$PKG/windows"; then - sed -i "s/motd+shell/shell/g" "$HOME/.$PKG/windows" || true + sed -i -e "s/motd+shell/shell/g" "$HOME/.$PKG/windows" || true fi # Clean up flag diff -Nru byobu-3.3/usr/bin/byobu-status byobu-3.5/usr/bin/byobu-status --- byobu-3.3/usr/bin/byobu-status 2010-07-28 18:25:31.000000000 +0000 +++ byobu-3.5/usr/bin/byobu-status 2010-09-13 21:26:09.000000000 +0000 @@ -27,6 +27,8 @@ echo "$HOME/.$PKG/bin/$1" elif [ -x "$BYOBU_PREFIX/lib/$PKG/$1" ]; then echo "$BYOBU_PREFIX/lib/$PKG/$1" + elif [ -x "$BYOBU_PREFIX/libexec/$PKG/$1" ]; then + echo "$BYOBU_PREFIX/libexec/$PKG/$1" else echo "/dev/null" fi diff -Nru byobu-3.3/usr/lib/byobu/ec2_cost byobu-3.5/usr/lib/byobu/ec2_cost --- byobu-3.3/usr/lib/byobu/ec2_cost 2010-07-28 18:25:31.000000000 +0000 +++ byobu-3.5/usr/lib/byobu/ec2_cost 2010-09-14 20:39:33.000000000 +0000 @@ -74,7 +74,7 @@ network_cost=`echo "$tx_gb" "$TX_RATE" "$rx_gb" "$RX_RATE" | awk '{printf "%f %f", $1*$2, $3*$4}' | awk '{printf "%f", $1 + $2}'` # Calculate uptime cost -hours=$(((`date +%s` - `stat --printf %Z /etc/crontab`) / 60 / 60)) +hours=$(((`date +%s` - `stat --printf %Z /etc/hostname`) / 60 / 60 + 1)) uptime_cost=`echo "$hours" | awk "{printf \"%f\", "$RATE" * $hours}"` total_cost=`echo "$network_cost" "$uptime_cost" | awk '{printf "%.2f", $1 + $2}'` diff -Nru byobu-3.3/usr/lib/byobu/ip_address byobu-3.5/usr/lib/byobu/ip_address --- byobu-3.3/usr/lib/byobu/ip_address 2010-06-24 16:22:42.000000000 +0000 +++ byobu-3.5/usr/lib/byobu/ip_address 2010-09-01 16:46:52.000000000 +0000 @@ -21,7 +21,9 @@ color 2>/dev/null || color() { true; } if [ "$1" = "--detail" ]; then - /sbin/ifconfig + [ -x /sbin/ifconfig ] && /sbin/ifconfig + /sbin/ip -4 addr list + /sbin/ip -6 addr list exit 0 fi @@ -33,11 +35,25 @@ if [ -n "$MONITORED_NETWORK" ]; then interface="$MONITORED_NETWORK" else - interface=`tail -n1 /proc/net/route | awk '{print $1}'` + case "$IPV6" in + 1|true|yes) interface=$(grep -v "\Wlo$" /proc/net/ipv6_route | tail -n1 | awk '{print $10}') ;; + *) interface=$(tail -n1 /proc/net/route | awk '{print $1}') ;; + esac fi -ipaddr=$(LC_ALL=C /sbin/ifconfig "$interface") -ipaddr=${ipaddr#* inet addr:} -ipaddr=${ipaddr%% *} +case "$IPV6" in + 1|true|yes) + ipaddr=$(LC_ALL=C /sbin/ip -6 addr list dev "$interface") + # Print 'None' if we have no global address + [ -z "$ipaddr" ] && ipaddr="None" + ipaddr=${ipaddr#* inet6 } + ipaddr=${ipaddr%%/*} + ;; + *) + ipaddr=$(LC_ALL=C /sbin/ip -4 addr list dev "$interface") + ipaddr=${ipaddr#* inet } + ipaddr=${ipaddr%%/*} + ;; +esac printf "%s$(color bold2)%s$(color -)" "$space" "$ipaddr" diff -Nru byobu-3.3/usr/lib/byobu/network byobu-3.5/usr/lib/byobu/network --- byobu-3.3/usr/lib/byobu/network 2010-08-24 03:40:35.000000000 +0000 +++ byobu-3.5/usr/lib/byobu/network 2010-09-01 21:10:00.000000000 +0000 @@ -53,21 +53,30 @@ if [ "$rate" -lt 0 ]; then rate=0 fi - # Why 1000 and not 1024? http://en.wikipedia.org/wiki/Data_rate_units case "$NETWORK_UNITS" in - bits) - rate=`echo "$rate" | awk '{printf "%.0f", $1*8}'` - unit="kbps" - if [ "$rate" -gt 1000 ]; then - rate=`echo "$rate" | awk '{printf "%.1f", $1/1000}'` - unit="Mbps" + bytes) + if [ "$rate" -gt 1048576 ]; then + rate=`echo "$rate" | awk '{printf "%.1f", $1/1048576}'` + unit="GB/s" + elif [ "$rate" -gt 1024 ]; then + rate=`echo "$rate" | awk '{printf "%.1f", $1/1024}'` + unit="MB/s" + else + unit="kB/s" fi ;; *) - unit="kB/s" - if [ "$rate" -gt 1024 ]; then + # Default to bps + rate=`echo "$rate" | awk '{printf "%.0f", $1*8}'` + # Why 1000 and not 1024? http://en.wikipedia.org/wiki/Data_rate_units + if [ "$rate" -gt 1000000 ]; then + rate=`echo "$rate" | awk '{printf "%.1f", $1/1000000}'` + unit="Gbps" + elif [ "$rate" -gt 1000 ]; then rate=`echo "$rate" | awk '{printf "%.1f", $1/1000}'` - unit="MB/s" + unit="Mbps" + else + unit="kbps" fi ;; esac diff -Nru byobu-3.3/usr/lib/byobu/rcs_cost byobu-3.5/usr/lib/byobu/rcs_cost --- byobu-3.3/usr/lib/byobu/rcs_cost 2010-06-24 17:01:33.000000000 +0000 +++ byobu-3.5/usr/lib/byobu/rcs_cost 2010-09-14 20:39:41.000000000 +0000 @@ -76,7 +76,7 @@ network_cost=`echo "$tx_gb" "$TX_RATE" "$rx_gb" "$RX_RATE" | awk '{printf "%f %f", $1*$2, $3*$4}' | awk '{printf "%f", $1 + $2}'` # Calculate uptime cost -hours=$(((`date +%s` - `stat --printf %Z /etc/crontab`) / 60 / 60)) +hours=$(((`date +%s` - `stat --printf %Z /etc/hostname`) / 60 / 60 + 1)) uptime_cost=`echo "$hours" | awk "{printf \"%f\", "$MEMORY_RATE" * $hours}"` total_cost=`echo "$network_cost" "$uptime_cost" | awk '{printf "%.2f", $1 + $2}'` diff -Nru byobu-3.3/usr/share/applications/byobu.desktop byobu-3.5/usr/share/applications/byobu.desktop --- byobu-3.3/usr/share/applications/byobu.desktop 2010-08-02 22:55:44.000000000 +0000 +++ byobu-3.5/usr/share/applications/byobu.desktop 2010-09-01 19:07:38.000000000 +0000 @@ -7,3 +7,4 @@ Terminal=true Categories=GNOME;GTK;Utility; NoDisplay=true +X-GNOME-Gettext-Domain=byobu diff -Nru byobu-3.3/usr/share/byobu/keybindings/common byobu-3.5/usr/share/byobu/keybindings/common --- byobu-3.3/usr/share/byobu/keybindings/common 2010-08-18 14:57:04.000000000 +0000 +++ byobu-3.5/usr/share/byobu/keybindings/common 2010-08-27 16:18:17.000000000 +0000 @@ -20,7 +20,8 @@ ############################################################################### # F-keys seem to work well in both gnome-terminal and tty consoles - # F1 | 'help' in gnome-terminal +bindkey -k k1 screen -t config 0 byobu-config # F1 | Configuration (along with F9) + # | since F1 = Help in gnome-terminal bindkey -k k2 screen # F2 | Create new window bindkey -k k3 prev # F3 | Previous Window bindkey -k k4 next # F4 | Next Window @@ -38,7 +39,7 @@ bind @ screen -t config 0 byobu-config # ctrl-a @ | Configuration bind R process r # ctrl-a R | Reload profile register s "^a[g G$>^h" # Goes with ^a~ definition -bind ~ eval 'process s' 'exec sed -i "/./,/^$/!d" /var/run/screen/S-$USER/byobu-exchange' 'echo "See: /var/run/screen/S-$USER/byobu-exchange"' # ctrl-a ~ | write the buffer to file +bind ~ eval 'process s' 'exec sed -i -e "/./,/^$/!d" /var/run/screen/S-$USER/byobu-exchange' 'echo "See: /var/run/screen/S-$USER/byobu-exchange"' # ctrl-a ~ | write the buffer to file # toggle f-key keybindings off register d "^a:source $BYOBU_PREFIX/share/byobu/keybindings/screen-escape-keys^M" diff -Nru byobu-3.3/usr/share/byobu/keybindings/f-keys byobu-3.5/usr/share/byobu/keybindings/f-keys --- byobu-3.3/usr/share/byobu/keybindings/f-keys 2010-08-18 14:57:04.000000000 +0000 +++ byobu-3.5/usr/share/byobu/keybindings/f-keys 2010-08-27 16:18:17.000000000 +0000 @@ -20,7 +20,8 @@ ############################################################################### # F-keys seem to work well in both gnome-terminal and tty consoles - # F1 | 'help' in gnome-terminal +bindkey -k k1 screen -t config 0 byobu-config # F1 | Configuration (along with F9) + # | since F1 = Help in gnome-terminal bindkey -k k2 screen # F2 | Create new window bindkey -k k3 prev # F3 | Previous Window bindkey -k k4 next # F4 | Next Window @@ -38,7 +39,7 @@ bind @ screen -t config 0 byobu-config # ctrl-a @ | Configuration bind R process r # ctrl-a R | Reload profile register s "^a[g G$>^h" # Goes with ^a~ definition -bind ~ eval 'process s' 'exec sed -i "/./,/^$/!d" /var/run/screen/S-$USER/byobu-exchange' 'echo "See: /var/run/screen/S-$USER/byobu-exchange"' # ctrl-a ~ | write the buffer to file +bind ~ eval 'process s' 'exec sed -i -e "/./,/^$/!d" /var/run/screen/S-$USER/byobu-exchange' 'echo "See: /var/run/screen/S-$USER/byobu-exchange"' # ctrl-a ~ | write the buffer to file # toggle f-key keybindings off register d "^a:source $BYOBU_PREFIX/share/byobu/keybindings/screen-escape-keys^M" diff -Nru byobu-3.3/usr/share/man/man1/byobu.1 byobu-3.5/usr/share/man/man1/byobu.1 --- byobu-3.3/usr/share/man/man1/byobu.1 2010-08-24 18:46:38.000000000 +0000 +++ byobu-3.5/usr/share/man/man1/byobu.1 2010-09-15 19:23:05.000000000 +0000 @@ -23,7 +23,7 @@ \fBcpu_temp\fP \- the cpu temperature in Celsius (default) or Fahrenheit, configure TEMP=F or TEMP=C in \fI$HOME/.byobu/statusrc\fP; displayed in the lower bar toward the right in yellow text on a black background; you may override the detected cpu temperature device by setting MONITORED_TEMP=/proc/acpi/whatever in \fI$HOME/.byobu/statusrc\fP -\fBcustom\fP \- user defined custom scripts; must be executable programs of any kind in \fI$HOME/.byobu/bin\fP; must be named N_NAME, where N is the frequency in seconds to refresh the status indicator, and NAME is the name of the script; N should not be less than 5 seconds; script should echo a small amount of text to standard out, standard error is discared; the indicator will be displayed in the lower panel, in inverted colors to your current background/foreground scheme, unless you manually specify the colors in your script's output; BEWARE, cpu-intensive custom scripts may impact your overall system performance and could upset your system administrator! +\fBcustom\fP \- user defined custom scripts; must be executable programs of any kind in \fI$HOME/.byobu/bin\fP; must be named N_NAME, where N is the frequency in seconds to refresh the status indicator, and NAME is the name of the script; N should not be less than 5 seconds; the script should echo a small amount of text to standard out, standard error is discarded; the indicator will be displayed in the lower panel, in inverted colors to your current background/foreground scheme, unless you manually specify the colors in your script's output; BEWARE, cpu-intensive custom scripts may impact your overall system performance and could upset your system administrator! Example: \fI~/.byobu/bin/1000_uname\fP #!/bin/sh printf "\\005{= bw}%s\\005{\-}" "$(uname -r)" @@ -42,7 +42,7 @@ \fBhostname\fP \- the hostname of the system; displayed in the upper bar on the far right in bold black text on a grey background; there is a leading '@' symbol if the username status is also enabled -\fBip_address\fP \- the ip address of the system in dotted decimal form; displayed in the upper bar on the far right in bold black text on a grey background +\fBip_address\fP \- the IPv4 address of the system in dotted decimal form; displayed in the upper bar on the far right in bold black text on a grey background; you can override and display your IPv6 address by setting 'IPV6=1' in \fI$HOME/.byobu/statusrc\fP \fBload_average\fP \- the system load average over the last 1 minute; displayed in the lower bar toward the right in black text on a yellow background @@ -56,7 +56,7 @@ \fBmenu\fP \- a simple indicator directing new users to use the F9 keybinding to access the byobu menu -\fBnetwork\fP \- instantaneous upload/download bandwidth in kB/s over the last 3 seconds; displayed in the lower bar toward the right in white text on a purple background with a leading '^' sign indicating 'up' and 'v' sign indicating 'down'; override the default interface by specifying an alternate interface with MONITORED_NETWORK=eth1, and override the default units (kB/s) with NETWORK_UNITS=bits in \fI$HOME/.byobu/statusrc\fP +\fBnetwork\fP \- instantaneous upload/download bandwidth in [GMk]bps over the last 3 seconds; displayed in the lower bar toward the right in white text on a purple background with a leading '^' sign indicating 'up' and 'v' sign indicating 'down'; override the default interface by specifying an alternate interface with MONITORED_NETWORK=eth1, and override the default units (bits) with NETWORK_UNITS=bytes in \fI$HOME/.byobu/statusrc\fP \fBprocesses\fP \- total number of processes running on the system; displayed in the lower bar in white text on a dark yellow background with a trailing '&' indicating 'background processes'