summaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2016-08-17 12:59:01 +0800
committerIru Cai <mytbk920423@gmail.com>2016-08-17 12:59:01 +0800
commit978ef23c4e979184920f2e36d9c8fb684784c2fa (patch)
treea6cd6db75130d0bf479dbce130d105c2d42d65bc /res
parentd421c2285d63d31a9c5a036b523eeaa3dcacc41b (diff)
downloadfqterm-978ef23c4e979184920f2e36d9c8fb684784c2fa.tar.xz
use setsid(1) to run fqterm.bin
After this change, ssh(1) will not require a terminal and always use $SSH_ASKPASS to get password.
Diffstat (limited to 'res')
-rw-r--r--res/fqterm.sh10
1 files changed, 8 insertions, 2 deletions
diff --git a/res/fqterm.sh b/res/fqterm.sh
index d9e1d2c..2791128 100644
--- a/res/fqterm.sh
+++ b/res/fqterm.sh
@@ -21,8 +21,14 @@ if [ -x "$base_name".bin ]; then
cd "$current_directory"
export FQTERM_PREFIX=`dirname "$bin_directory"`
export FQTERM_RESOURCE="$FQTERM_PREFIX/share/FQTerm"
- "$bin_directory/$base_name.bin" "$@"
- exit $?
+ # use setsid to run it so that programs such as
+ # ssh(1) does not have a terminal
+ if type setsid >/dev/null 2>/dev/null; then
+ SETSID="setsid -w"
+ else
+ SETSID=""
+ fi
+ exec $SETSID "$bin_directory/$base_name.bin" "$@"
else
cd "$current_directory"
echo "Error, cannot find $base_name."