5

I am on Yosemite and have used a (seemingly older version) of Go2Shell to open Terminal windows at the current Finder location. This worked flawlessly for a long time, until something, suddenly broke with no apparent reason. When clicking the icon in Finder, a terminal would open up, but not in the current directory. I then installed the most recent Go2Shell and reinstalled iTerm 2.

  • Go2Shell version: 2.2
  • iTerm version: 2.1
  • Go2Shell command: cd %PATH%;clear;ls

Symptoms

A Terminal window opens up in the home directory, displaying the string cd but nothing else. The %PATH% expansion does not seem to ever reach iTerm. Actually, upon experiment it can be verified that the command is cut off at the first space and never executed, only pasted. Whenever I click the Go2Shell icon, the following is logged in console:

AppleEvents: Send port for process has no send right, port=( port:14135/0x3737 rcv:1,send:0,d:0 limit:5) (findOrCreate()/AEMachUtils.cp #526) com.apple.main-thread

Go2Shell continues to work as expected with Apple Terminal.

I am in contact with Go2Shell developer's support, however they seem to be unable to reproduce it.

Has anyone experienced something like this?

  • Hi - Did you ever resolve this? I have a very similar issue. Terminal is fine, iTerm2 fails with: 24/08/15 11:35:20,557 Go2ShellHelper[32220]: AppleEvents: Send port for process has no send right, port=( port:11819/0x2e2b rcv:1,send:0,d:0 limit:5) (findOrCreate()/AEMachUtils.cp #526) com.apple.main-thread in the console – wawawawa Aug 24 '15 at 9:38
  • @wawawawa Well yes, see the answer below. It may be something in one of the files sourced by bash, such as .bashrc, .profile, .bash_login, .bash_profile or whatever their names are. – oarfish Aug 24 '15 at 10:37
  • Aha! I didn't grok that both the question and answer were from you! Strange thing for me is that Go2Shell doesn't work with either bash or zsh on my system. I'll do some experimenting with clean configs and report back. – wawawawa Aug 24 '15 at 14:38
1

This is likely too localized, but I had the following in my .bash_login (at the very end):

stty werase undef
bind '"\C-w": backward-kill-word'
bind '"\C-j": unix-word-rubout'

Commenting out the last line solved the problem, although of course I am missing this functionality now.

0

I had a similar issue in zsh because I generate app-specific environment variable exports with a portable microframework I wrote (generates bash, zsh, tcsh, csh, ksh environment profiles on-the-fly).

Long-story short: iTerm + Go2Shell doesn't play well with sourcing from a subprocesses' stdin, i.e., something | source /dev/stdin.

I rearranged it to output to a tempfile (with a trap without any race conditions) and source it from there. Go2Shell + iTerm also doesn't seem to work with sourcing via process substitution in zsh source <(something), which would've been the preferred approach.

if [ -x "${ZDOTDIR:-$HOME}/bin/envrc" ] && [ -z "$ENVRC_RAN" ]; then
  ENVRC_TMP="$HOME/.envrc.$$"
  trap 'rm -f "$ENVRC_TMP"' EXIT ERR QUIT INT TERM HUP PIPE # might be too pedantic
  "${ZDOTDIR:-$HOME}/bin/envrc" > "$ENVRC_TMP" && source "$ENVRC_TMP"
  rm -f "$ENVRC_TMP"
  trap - EXIT ERR QUIT INT TERM HUP PIPE
  unset ENVRC_TMP
  export ENVRC_RAN=1
fi
0

It was happenning to me, then I suspected that the (null) is because Go2Shell cannot see the Finder path due to sandboxing.

I went to System Settings -> Security and Privacy -> Automation (left pane).

There I found Go2Shell.app with only iTerm and Terminal "checked", but Finder listed but unchecked:

enter image description here

Check it and, voila! It works again!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .