Mosh is a remote login system that supports disconnected operations
without having to log back in. I’ve tried to install it before, but
gave up as all it did was throw error messages about not supporting
UTF-8 back at me. Having taken the time to look into it, and ending
up starting the mosh-server and mosh-client manually (instead of via
the mosh wrapper script), I finally figured out what I needed to do
to make it work.
I have a somewhat unusual preference for setting up my locales. I
basically prefer to have just about everything as it is in the en_GB
locale, but being Norwegian I need to be able to use the three
Å in uppercase) as well.
To achieve this I have my locale related environment set up like this:
This is the default for all the locale classes. But to have access to
the Norwegian characters, I need to override
For reasons unknown, this caused the mosh startup wrapper to become confused, throwing the above errors. So after a bit of digging, a bit more trial and error and quite a bit of swearing, I found out that the way to start mosh from my MacBook was as follows:
mosh --server="LANG=en_GB.utf8 LC_CTYPE=nb_NO.UTF-8 mosh-server" <HOST>
Works like a charm! I do most of my work with Terminal in full-screen mode, and there is something very satisfying about closing my MacBook mid sentence in a remote Mutt/Vim session, carrying it home, re-opening it and be able to just continue writing! Extremely cool!
To not have to type the monster command every time, I added the following to
.bash_profile (all on one line):
alias mosh='mosh --server="LANG=en_GB.utf8 LC_CTYPE=nb_NO.UTF-8 mosh-server"'