Mosh: Difference between revisions

From NixOS Wiki
imported>Mic92
No edit summary
imported>Mjlbach
No edit summary
Line 27: Line 27:


See also https://github.com/NixOS/nixpkgs/issues/3702#issue-40762878
See also https://github.com/NixOS/nixpkgs/issues/3702#issue-40762878
=== The locale requested by LANG=*** isn't available here. ===
This error occurs when trying to connect to a linux server (non-NixOS distribution) on which mosh-server has been installed via nix. The easy solution is to set LOCALE_ARCHIVE to your OS locale-archive in your .profile or .zshenv:
<syntaxhighlight lang=bash>
export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive
</syntaxhighlight>


<hr />
<hr />
== References ==
== References ==
<references />
<references />

Revision as of 09:27, 14 December 2020

Troubleshooting

Missing /run/user/1000

Using a mosh session, $XDG_RUNTIME_DIR (/run/user/1000) doesn't exist and causes issues such as:

  • nix-shell failing with Error in tempdir() using /run/user/1000/nix-shell.XXXXX

This is caused by the way mosh handles logging-in to the system, the login is actually handled by a short ssh session, which ends immediately. logind, as it is used, closes the user's session and cleans up behind, since there is no lingering configured by default.

To enable lingering use:

$ loginctl enable-linger $USER

Then reconnect with mosh.

As a workaround, it is also possible to set an alias in the user's shell on the server wrapping mosh-server to keep the session around. [1]

alias mosh-server = "systemd-run --user --scope mosh-server"

See also https://github.com/NixOS/nixpkgs/issues/3702#issue-40762878

The locale requested by LANG=*** isn't available here.

This error occurs when trying to connect to a linux server (non-NixOS distribution) on which mosh-server has been installed via nix. The easy solution is to set LOCALE_ARCHIVE to your OS locale-archive in your .profile or .zshenv:

export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive

References