# Fixup screen and define ``session'' if available.
-screen=$(which screen 2>/dev/null)
-if [ ! -z "$screen" ]; then
- # Override SCREENDIR iff screen is not setuid.
+screen=$(find_working screen 2>/dev/null)
+if [ $? = 0 ]; then
+ # Override SCREENDIR iff screen is not setuid (but not under sudo).
if ! ls -l "$screen" | cut -d ' ' -f 1 | grep s >/dev/null; then
- export SCREENDIR="$HOME/.screen/$HOSTNAME"
+ if [ -n "$SUDO_USER" ]; then
+ unset SCREENDIR
+ else
+ export SCREENDIR="$HOME/.screen/$HOSTNAME"
+ fi
fi
- if which krenew 2>/dev/null | grep ^/ >/dev/null; then
- alias kscreen='krenew --'
+ krenew=$(find_working krenew 2/dev/null)
+ if [ $? = 0 ]; then
+ alias kscreen="$krenew --"
else
alias kscreen=''
fi
+ unset krenew
alias session='bigscreen -rx -S session || kscreen bigscreen -S session'
fi