X-Git-Url: http://git.iain.cx/?p=profile.git;a=blobdiff_plain;f=.profile.d%2Fscreen.bashrc;h=e6a8b1e3beb02bc7fb8b643030c48c4e88b2d059;hp=ca08f6ed51bd3647a4a0ca85927fdd828735a338;hb=88bb919af5a85d1d7f791408058f9eee96140907;hpb=74c06de77d0ee3ea428a9fa0f6a83274ef62930f diff --git a/.profile.d/screen.bashrc b/.profile.d/screen.bashrc index ca08f6e..e6a8b1e 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) @@ -13,7 +18,5 @@ if [ $? = 0 ]; then alias kscreen='' fi unset krenew - - alias session='bigscreen -rx -S session || kscreen bigscreen -S session' fi unset screen