X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=.profile.d%2Fscreen.bashrc;h=c2b10149e76eb6d530689cc544056c2c7996de79;hb=aeb96cb02bc3ec6be1adea9bd5c6a1dbc0e08886;hp=ca08f6ed51bd3647a4a0ca85927fdd828735a338;hpb=74c06de77d0ee3ea428a9fa0f6a83274ef62930f;p=profile.git diff --git a/.profile.d/screen.bashrc b/.profile.d/screen.bashrc index ca08f6e..c2b1014 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="$HOME/.screen/$HOSTNAME" + mkdir -p "$SCREENDIR" + fi fi krenew=$(find_working krenew 2/dev/null)