X-Git-Url: http://git.iain.cx/?p=profile.git;a=blobdiff_plain;f=.profile.d%2Fscreen.bashrc;h=beba50523d67d2de94cb5555fb83014ee14063f1;hp=ca08f6ed51bd3647a4a0ca85927fdd828735a338;hb=b0dc723863560322fab286f028e09d51981d174c;hpb=74c06de77d0ee3ea428a9fa0f6a83274ef62930f diff --git a/.profile.d/screen.bashrc b/.profile.d/screen.bashrc index ca08f6e..beba505 100644 --- a/.profile.d/screen.bashrc +++ b/.profile.d/screen.bashrc @@ -1,9 +1,14 @@ # Fixup screen and define ``session'' if available. screen=$(find_working screen 2>/dev/null) if [ $? = 0 ]; then - # Override SCREENDIR iff screen is not setuid. - if ! ls -l "$screen" | cut -d ' ' -f 1 | grep s >/dev/null; then - export SCREENDIR="$HOME/.screen/$HOSTNAME" + # Override SCREENDIR iff screen is not setgid (but not under sudo). + if [ ! -g "$screen" ]; then + if [ -n "$SUDO_USER" ]; then + unset SCREENDIR + else + export SCREENDIR="~/.screen/$HOSTNAME" + mkdir -p "$SCREENDIR" + fi fi krenew=$(find_working krenew 2/dev/null)