X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=usr_bin%2Fgrml-screen;fp=usr_bin%2Fgrml-screen;h=0000000000000000000000000000000000000000;hb=68552116672d8462fb256c0771888a4654c3687d;hp=a33131a1a1c0627f0569a27361a0292fdf3956a5;hpb=80e422b789147a8706e450722c6e45bd42b3a5d1;p=grml-scripts.git diff --git a/usr_bin/grml-screen b/usr_bin/grml-screen deleted file mode 100755 index a33131a..0000000 --- a/usr_bin/grml-screen +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/dash -# Filename: grml-screen -# Purpose: wrapper for screen to start with appropriate configuration -# Authors: grml-team (grml.org), (c) Michael Prokop -# Bug-Reports: see http://grml.org/bugs/ -# License: This file is licensed under the GPL v2. -################################################################################ - -# export variable USER for use withing GNU screen: - export USER=`id -un` - -# fix tty permissions - TTY=`tty` - sudo chmod 660 $TTY - sudo chown $USER.tty $TTY - -# FIXME: fix for screen race-conditions -PID_FILE_="/var/lock/grml-screen" -PID_FILE_CREATED_="false" -MY_PID_="$$" -if [ ! -d "/var/run/screen/S-$USER" ]; then - # no /var/run/screen/S-$USER and possible no /var/run/screen either -> locking - for i in `seq 40`; do # 40*0.25 = 10 seconds - if lockfile-create --retry 0 $PID_FILE_; then - echo $MY_PID_ >$PID_FILE_ - PID_FILE_CREATED_="true" - break - else - PID_FILE_CREATED_="error" - fi - sleep 0.25 - done -fi -if [ $PID_FILE_CREATED_ = "true" ]; then - # FORK BEGIN - ( - for i in `seq 40`; do # 40*0.25 = 10 seconds - if [ ! -d "/var/run/screen/S-$USER" ]; then - sleep 0.25 # educated guess - else - break - fi - done - if [ `cat $PID_FILE_` = $MY_PID_ ]; then - rm $PID_FILE_ - lockfile-remove $PID_FILE_ - fi - )& - # FORK END -elif [ $PID_FILE_CREATED_ = "error" ]; then - SLEEP_TIME_="$(( $$ % 5 * 5 + 5 ))" - echo "grml-screen: Error could not create lockfile! (sleeping for $SLEEP_TIME_)" >&2 - sleep $SLEEP_TIME_ -elif [ $PID_FILE_CREATED_ = "false" ]; then - echo "nothing to do" &>/dev/null -else - echo "grml-screen: internal error - PID_FILE_CREATED_ == \"$PID_FILE_CREATED_\"" >&2 -fi - -# now run screen with config - cd $HOME # important for e.g. hardcopy-feature - # do we have a utf8 enabled terminal? - [ -x /usr/bin/vt-is-UTF8 ] && /usr/bin/vt-is-UTF8 -q && UTF='-U' - if [ `id -u` = 0 ] ; then - exec screen $UTF -c /etc/grml/screenrc - elif [ -r "$HOME/.screenrc" ] ; then - exec screen $UTF -c "$HOME/.screenrc" - else - exec screen $UTF -c /etc/grml/screenrc_grml - fi - -## END OF FILE #################################################################