Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mosh on Arch Linux does not work #463

Closed
apirogov opened this issue Oct 13, 2013 · 15 comments
Closed

mosh on Arch Linux does not work #463

apirogov opened this issue Oct 13, 2013 · 15 comments

Comments

@apirogov
Copy link

I tried both mosh and mosh-git packages for Arch Linux (1.2.4/1.2.4a), I have installed mosh on client and server side and when I try to connect I get this:

bash: No such file or directory
ssh_exchange_identification: Connection closed by remote host
/bin/mosh: Did not find remote IP address (is SSH ProxyCommand disabled?).

@znewman01
Copy link

Mosh (1.2.4-1) works for me on Arch out of the box, FWIW

@apirogov
Copy link
Author

It throws the same error as already said, no matter whether I connect from my laptop or from my Raspberry Pi, both running Arch/ ArchlinuxARM. And also no matter if I take the public IP or OpenVPN.

The other direction worked (client starting from Raspbian, connecting to an Arch Box)

@znewman01
Copy link

Ahh, I'm on x86 which might make a difference.

@terlar
Copy link

terlar commented Jan 15, 2014

I also suddenly started to receive this error. It has worked before though, I think it might be related to a recent update of my packages. But nut sure what to look for. Did you solve this?

@thuandt
Copy link

thuandt commented Jan 23, 2014

Same here. I updated my ArchLinux Raspberry Pi box and mosh don't work anymore

--Update--
@terlar : You can add your user to tty group. After that mosh work fine

@terlar
Copy link

terlar commented Jan 27, 2014

@thuandt : Are you sure, I have added that and still get the same error. It has randomly worked sometimes though, with our without tty.

➥ groups
tty wheel users
➥ mosh localhost
Failed to execute process ''. Reason:
The file '' does not exist or could not be executed.
ssh_exchange_identification: Connection closed by remote host
/usr/bin/mosh: Did not find remote IP address (is SSH ProxyCommand disabled?). 

@andersk
Copy link
Member

andersk commented Jan 27, 2014

@terlar, that error is coming from the fish shell. Do you have something funny in your fish startup files (/usr/share/fish/config.fish, /etc/fish/config.fish, ~/.config/fish/config.fish)? Have you tried with your shell set to bash instead of fish?

@terlar
Copy link

terlar commented Jan 27, 2014

That indeed seems to be related, if I switch completely to bash, then all works fine. But not if I run bash from within fish and then mosh. Can it be related to some ENV vars somehow?

Will debug some more and return with my findings.

Edit:
Okay, seems it is this ENV var that does it:
SHELL=/usr/bin/fish

It survives a switch to bash from fish and thus I guess fish is used in the mosh command also. Will continue debugging my configs.

Edit 2:
Okay, found it, it is because I am using the new fish parser (set -U fish_new_parser 1). Will report this, to the appropriate place. Thank you for your help.

@apirogov
Copy link
Author

I am not using the fish shell at all (I don't even have it installed on neither machine) and this problem persists unforunately..

@terlar
Copy link

terlar commented Feb 25, 2014

@apirogov: It turned out this was the result of exec not working. Can you try to see if your exec is behaving as expected?

@andersk
Copy link
Member

andersk commented Feb 27, 2014

If you’re still seeing the problem, what is the output of
ssh SERVERNAME "which mosh-server"
?

@schmidmt
Copy link

Using Bash, I was able to get the appropriate behavior by running

SHELL=/bin/bash mosh $SERVERNAME

Mosh doesn't seem to be searching out my path as SHELL is usually just set to simply bash.

@andersk
Copy link
Member

andersk commented Apr 29, 2014

Yes, POSIX does require that SHELL is set to a full path (/bin/bash, not just bash):

SHELL
This variable shall represent a pathname of the user’s preferred command language interpreter. If this interpreter does not conform to the Shell Command Language in XCU Shell Command Language, utilities may behave differently from those described in POSIX.1-2008.

SHELL is initially set from the value listed in /etc/passwd, and on a typical system you can’t log in at all if your shell isn’t set to a full path there.

@kevr
Copy link

kevr commented Sep 13, 2014

Confirmed working on 3.16 Arch Linux

@apirogov
Copy link
Author

Sorry for the late response...

I can confirm, the problem was SHELL being set to just bash... Thanks! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants