Commit ef0d123efa1a7e09de7f972286751c43b529399a
Merge branch 'fix/hang-in-subshell-environment' into 'master'
Fix/hang in subshell environment This should fix the problem that the script does not work in a subshell environment. See merge request !1
Showing
2 changed files
with
17 additions
and
3 deletions
NOTES.md
0 → 100644
| 1 | +# Notes | |
| 2 | + | |
| 3 | +## xclip hangs in subshell environment | |
| 4 | + | |
| 5 | +In certain situations xclip is known to wait infinatly. | |
| 6 | +According to this: | |
| 7 | + | |
| 8 | +- [Stackoverflow](https://stackoverflow.com/questions/19237559/why-xclip-bashrc-takes-much-longer-than-systemxclip-bashrc-in-ruby) | |
| 9 | +- [Sourceforge](http://sourceforge.net/p/xclip/bugs/9/) | |
| 10 | + | |
| 11 | +This is related to xclip not closing stdout. | |
| 12 | + | |
| 13 | +To mitigate this I will try to close stdout and stderr within the | |
| 14 | +accountmanager.sh script. | ... | ... |
| ... | ... | @@ -266,7 +266,7 @@ function amngradd() { |
| 266 | 266 | PASSWORD="$(amngrcrypt -r "${RECIPIENT}" -- "${3}")" |
| 267 | 267 | else |
| 268 | 268 | PASSWORD="$(amngrgen -r "${RECIPIENT}")" |
| 269 | - echo -n "${PASSWORD}" | gpg -dq | xclip -i | |
| 269 | + echo -n "${PASSWORD}" | gpg -dq | xclip -i >&- | |
| 270 | 270 | fi |
| 271 | 271 | |
| 272 | 272 | if [ -z "${PASSWORD}" ] |
| ... | ... | @@ -359,7 +359,7 @@ function amngrgetuser() { |
| 359 | 359 | if [ $STDOUT -eq 0 ] |
| 360 | 360 | then |
| 361 | 361 | sqlite3 "${DB}" <<-EOD |\ |
| 362 | - awk 'NR>1{print p}{p=$0}END{ORS="";print}' | xclip -i | |
| 362 | + awk 'NR>1{print p}{p=$0}END{ORS="";print}' | xclip -i >&- | |
| 363 | 363 | SELECT user FROM account |
| 364 | 364 | JOIN account_cred ON account.id=account_cred.account_id |
| 365 | 365 | JOIN cred ON cred.id=account_cred.cred_id |
| ... | ... | @@ -411,7 +411,7 @@ function amngrgetpass() { |
| 411 | 411 | test "${STATE}" != "1" -a "${STATE}" != "2" && STATE="1" |
| 412 | 412 | |
| 413 | 413 | sqlite3 "${DB}" <<-EOD |\ |
| 414 | - awk 'NR>1{print p}{p=$0}END{ORS="";print}' | gpg -dq | xclip -i | |
| 414 | + awk 'NR>1{print p}{p=$0}END{ORS="";print}' | gpg -dq | xclip -i >&- | |
| 415 | 415 | SELECT pass FROM account |
| 416 | 416 | JOIN account_cred ON account.id=account_cred.account_id |
| 417 | 417 | JOIN cred ON cred.id=account_cred.cred_id | ... | ... |
Please
register
or
login
to post a comment