Don't use SCREENDIR under sudo.
authorIain Patterson <me@iain.cx>
Tue, 15 Sep 2009 12:59:34 +0000 (13:59 +0100)
committerIain Patterson <me@iain.cx>
Wed, 16 Sep 2009 15:39:25 +0000 (16:39 +0100)
If SCREENDIR is set and we sudo the directory will probably be
unusable.  Unset it if SUDO_USER is defined.

.profile.d/screen.bashrc

index ca08f6e..02026cd 100644 (file)
@@ -1,9 +1,13 @@
 # Fixup screen and define ``session'' if available.
 screen=$(find_working screen 2>/dev/null)
 if [ $? = 0 ]; then
-  # Override SCREENDIR iff screen is not setuid.
+  # 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
 
   krenew=$(find_working krenew 2/dev/null)