Search
Search
Search
Search
Information
Information
Light
Dark
Open actions menu
Basic upload method
Bypass upload method
Tips!
If you encounter an error (by firewall) while uploading using both methods,
try changing extension of the file before uploading it and rename it right after.
Submit
~
bin
File Content:
byobu
#!/bin/sh -e # # byobu - wrapper script # Copyright (C) 2008-2009 Canonical Ltd. # Copyright (C) 2008-2014 Dustin Kirkland # # Authors: Dustin Kirkland <kirkland@byobu.org> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. VERSION=5.133 PKG="byobu" # All sorts of things go wrong if you don't own your $HOME dir. # This happens under sudo, if you don't use the -H option; Byobu will # create a bunch of files in your $HOME which will be owned by root. if [ ! -O "$HOME" ]; then echo "Cannot run $PKG because [$USER] does not own [$HOME]" 1>&2 if [ -n "$SUDO_USER" ]; then echo "To run $PKG under sudo, you MUST use 'sudo -H'" 1>&2 fi exit 1 fi # Source local byobu config if [ -r "$HOME/.byoburc" ]; then # Ensure that this configuration is usable . "$HOME/.byoburc" || mv -f "$HOME/.byoburc" "$HOME/.byoburc".orig fi if [ -z "${BYOBU_PREFIX}" ]; then # Find and export the installation location prefix greadlink -f . >/dev/null 2>&1 && export BYOBU_READLINK="greadlink" || export BYOBU_READLINK="readlink" prefix="$(dirname $(dirname $($BYOBU_READLINK -f $0)))" if [ "$prefix" != "/usr" ]; then echo "export BYOBU_PREFIX='$prefix'" >> "$HOME/.byoburc" . "$HOME/.byoburc" fi fi export BYOBU_CHARMAP=$(locale charmap) [ -r "$HOME/.byoburc" ] && . "$HOME/.byoburc" [ -z "${BYOBU_PREFIX}" ] && export BYOBU_PREFIX="/usr" || export BYOBU_PREFIX . "${BYOBU_PREFIX}/lib/${PKG}/include/common" # Override backend if we can determine intentions from argv[0] [ -r "$HOME/.$PKG/backend" ] && . "$HOME/.$PKG/backend" case "$0" in *byobu-screen) BYOBU_BACKEND="screen" ;; *byobu-tmux) BYOBU_BACKEND="tmux" ;; esac # At this point, we're sure BYOBU_BACKEND is properly defined export BYOBU_BACKEND # Store the parent tty if eval $BYOBU_TEST tty >/dev/null 2>&1; then export BYOBU_TTY=$(tty) else export BYOBU_TTY=$(readlink /proc/$$/fd/0) fi # Get the default window name [ -n "$BYOBU_WINDOW_NAME" ] || BYOBU_WINDOW_NAME=- # Add a version argument for debugging purposes, enter manpage for help if [ "$#" = "1" ]; then case "$1" in -v|--version) echo "$PKG version $VERSION" if eval $BYOBU_TEST bash >/dev/null 2>&1; then # Check ulimits u=$(bash -c "ulimit -n") [ "$u" = "unlimited" ] || [ $u -ge 15 ] || echo "WARNING: ulimit -n is too low" 1>&2 u=$(bash -c "ulimit -u") [ "$u" = "unlimited" ] || [ $u -ge 1600 ] || echo "WARNING: ulimit -u is too low" 1>&2 fi exec $BYOBU_BACKEND $BYOBU_ARG_VERSION exit 0 ;; -h|--help) exec man $PKG ;; esac fi # Check if we're being autolaunched, and this user explicitly does not want it. if [ "$0" = "/etc/profile.d/Z97-$PKG.sh" ] && [ -r "$BYOBU_CONFIG_DIR/disable-autolaunch" ]; then exit 0 fi # Sanitize the environment byobu-janitor --force # Set the window title if this is a TTY if [ -t 1 ]; then [ -r "$BYOBU_CONFIG_DIR/statusrc" ] && . "$BYOBU_CONFIG_DIR/statusrc" . $BYOBU_PREFIX/lib/$PKG/ip_address BYOBU_TITLE=${BYOBU_ALT_TITLE:-'${USER}@${HOSTNAME:-$(hostname)} ($(__ip_address t)) - ${PKG}'} [ -n "$BYOBU_NO_TITLE" ] || eval printf \"\\033\]0\;${BYOBU_TITLE}\\007\" fi # Drop a symlink to the ssh socket in $HOME, since we can ensure that exists if [ -S "$SSH_AUTH_SOCK" ] && [ ! -h "$SSH_AUTH_SOCK" ]; then ln -sf "$SSH_AUTH_SOCK" "$BYOBU_CONFIG_DIR/.ssh-agent" export SSH_AUTH_SOCK="$BYOBU_CONFIG_DIR/.ssh-agent" fi # Fallback terminfo [ -z "$BYOBU_DEFAULT_TERM" ] && BYOBU_DEFAULT_TERM="screen" # Color terminfo to use, if possible [ -z "$BYOBU_COLOR_TERM" ] && BYOBU_COLOR_TERM="screen-256color" # Check if our terminfo supports 256 colors CAN_SHOW_COLORS= if eval $BYOBU_TEST tput >/dev/null 2>&1; then if [ "$(tput colors 2>/dev/null || echo 0)" = "256" ]; then CAN_SHOW_COLORS=1 fi fi # Check if the color terminfo is available HAS_COLOR_TERM= if eval $BYOBU_TEST infocmp >/dev/null 2>&1; then if infocmp "$BYOBU_COLOR_TERM" >/dev/null 2>&1; then HAS_COLOR_TERM=1 fi fi case $BYOBU_BACKEND in tmux) # Use 256 colors if possible if [ -n "$CAN_SHOW_COLORS" ] || [ "$COLORTERM" = "gnome-terminal" ] || [ "$TERM" = "xterm" ] || [ "$TERM" = "xterm-256color" ] || [ "$TERM" = "screen" ]; then [ -z "$SCREEN_TERM" ] && SCREEN_TERM="-2" fi if [ -z "$BYOBU_TERM" ]; then if [ -n "$SCREEN_TERM" -a -n "$HAS_COLOR_TERM" ]; then BYOBU_TERM="$BYOBU_COLOR_TERM" else BYOBU_TERM="$BYOBU_DEFAULT_TERM" fi fi BYOBU_PROFILE="-f $BYOBU_PREFIX/share/$PKG/profiles/tmuxrc" # Set default window, unless user has overriden if egrep -qs "default-command|default-shell" $HOME/.$PKG/.tmux.conf >/dev/null 2>&1; then DEFAULT_WINDOW= else DEFAULT_WINDOW="new-session -n $BYOBU_WINDOW_NAME ${BYOBU_PREFIX}/bin/byobu-shell" fi sessions=$($BYOBU_BACKEND list-sessions 2>/dev/null) || true CUSTOM_WINDOW_SET=0 if [ -s "$BYOBU_CONFIG_DIR/windows.tmux.$BYOBU_WINDOWS" ]; then CUSTOM_WINDOW_SET=1 BYOBU_WINDOWS="$BYOBU_CONFIG_DIR/windows.tmux.$BYOBU_WINDOWS" elif [ -s "$BYOBU_CONFIG_DIR/windows.tmux" ]; then CUSTOM_WINDOW_SET=1 BYOBU_WINDOWS="$BYOBU_CONFIG_DIR/windows.tmux" fi ;; screen) # Allow override of default window list, with BYOBU_WINDOWS environment variable CUSTOM_WINDOW_SET=0 if [ -s "$BYOBU_WINDOWS" ]; then CUSTOM_WINDOW_SET=1 elif [ -s "$BYOBU_CONFIG_DIR/windows.$BYOBU_WINDOWS" ]; then CUSTOM_WINDOW_SET=1 BYOBU_WINDOWS="$BYOBU_CONFIG_DIR/windows.$BYOBU_WINDOWS" elif [ "$#" = "0" ]; then BYOBU_WINDOWS="$BYOBU_CONFIG_DIR/windows" else BYOBU_WINDOWS="/dev/null" fi export BYOBU_WINDOWS # Launch shell, unless the user has default windows set to launch uncommented_lines < "$BYOBU_WINDOWS" && DEFAULT_WINDOW= || DEFAULT_WINDOW="${BYOBU_PREFIX}/bin/byobu-shell" # Use 256 colors if possible if [ -z "$BYOBU_TERM" ]; then if [ -n "$CAN_SHOW_COLORS" -a -n "$HAS_COLOR_TERM" ]; then BYOBU_TERM="$BYOBU_COLOR_TERM" else BYOBU_TERM="$BYOBU_DEFAULT_TERM" fi fi SCREEN_TERM="-T $BYOBU_TERM" # Some users want to maintain separate configurations # if they use both GNU Screen and byobu on the same system if [ -r "$BYOBU_CONFIG_DIR/.screenrc" ]; then BYOBU_PROFILE="-c $BYOBU_PREFIX/share/$PKG/profiles/byoburc" else BYOBU_PROFILE="-c $BYOBU_PREFIX/share/$PKG/profiles/screenrc" fi BYOBU_SESSION_NAME="-S $PKG" # Zero out $BYOBU_SESSION_NAME if user has specified a session name for i in "$@"; do case $i in -*r*|-*d*|-*D*|-*S*|-ls|-list) BYOBU_SESSION_NAME= ;; esac done sessions=$($BYOBU_BACKEND -wipe 2>/dev/null) || true ;; esac export BYOBU_TERM # Save session info [ -n "$DBUS_SESSION_BUS_ADDRESS" ] && printf "DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS\n" > "$BYOBU_RUN_DIR/sockets" [ -n "$SESSION_MANAGER" ] && printf "SESSION_MANAGER=$SESSION_MANAGER\n" >> "$BYOBU_RUN_DIR/sockets" # Now let's execute the backend! if [ "$#" = "0" ]; then if [ "$CUSTOM_WINDOW_SET" = "1" ]; then # Start new custom window set session case $BYOBU_BACKEND in tmux) exec tmux -u $SCREEN_TERM $BYOBU_PROFILE $(cat "$BYOBU_WINDOWS") ;; screen) exec screen $SCREEN_TERM $BYOBU_SESSION_NAME $BYOBU_PROFILE ;; esac else case "$sessions" in *\(*\)*) # Select and attach to an existing session exec byobu-select-session ;; *) # Start new default session case $BYOBU_BACKEND in tmux) exec tmux -u $SCREEN_TERM $BYOBU_PROFILE $DEFAULT_WINDOW ;; screen) exec screen $SCREEN_TERM $BYOBU_SESSION_NAME $BYOBU_PROFILE $DEFAULT_WINDOW ;; esac ;; esac fi else # Launch with command line args case $BYOBU_BACKEND in tmux) exec tmux -u $SCREEN_TERM $BYOBU_PROFILE "$@" ;; screen) exec screen $SCREEN_TERM $BYOBU_SESSION_NAME $BYOBU_PROFILE "$@" ;; esac fi # vi: syntax=sh ts=4 noexpandtab
Edit
Rename
Chmod
Delete