diff options
author | Iru Cai <mytbk920423@gmail.com> | 2016-08-17 12:59:01 +0800 |
---|---|---|
committer | Iru Cai <mytbk920423@gmail.com> | 2016-08-17 12:59:01 +0800 |
commit | 978ef23c4e979184920f2e36d9c8fb684784c2fa (patch) | |
tree | a6cd6db75130d0bf479dbce130d105c2d42d65bc | |
parent | d421c2285d63d31a9c5a036b523eeaa3dcacc41b (diff) | |
download | fqterm-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.
-rw-r--r-- | res/fqterm.sh | 10 |
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." |