通过SSH与西里尔语一起工作

时间:2018-08-07 21:41:53

标签: linux ssh locale windows-subsystem-for-linux

我有将WSL作为主机和Arch Linux guest的Windows 10,我也有两个脚本。 拳头,在主机Windows机器上:

#!/bin/bash

cat clip | /mnt/c/Window/System32/clip.exe

第二,在远程访客计算机上:

#!/bin/bash

scp /home/sandric/clip host:clip
ssh host "./hclip.sh"

如您所见,文件剪辑在远程计算机上填充了一些文本,然后通过scp发送到主机,最后将其内容放入Windows剪贴板。一切正常,直到此文件包含西里尔字母内容,例如“тест”。如果我从远程计算机上调用./hclip.sh-剪贴板上充满了“yé╨╡╤ü╤é”字样,但是很奇怪,如果我直接运行脚本而不是从ssh会话运行-我得到的是西里尔字母

换句话说,从Windows主机:./hclip.sh(其内容为cat clip | /mnt/c/Window/System32/clip.exe)中使用“тест”进行操作,我在剪贴板中得到了相同的“тест”。但是,如果我改为先登录来宾linux,然后在剪辑文件中使用相同的“тест”运行“ ssh'./hclip.sh'”,我会发脾气。

我认为我在ssh配置中缺少某些语言环境设置,是吗?我应该将其放置在/ etc / ssh / config或本地.ssh / config中的什么位置?

更新

经过一些测试,我发现实际上它的ControlPersist ssh设置由于某种原因导致了错误的编码。这是我的访客ssh的配置:

host host
    HostName 10.0.2.2
    User sandric
    ControlMaster auto
    ControlPath /tmp/ssh-host
    ControlPersist yes #Causing trouble

如果我在最后一行发表评论-一切工作正常,那是因为它很长-我不想在要向剪贴板中写入smth时关闭隧道并打开新连接。

0 个答案:

没有答案