Am 21.01.19 um 16:00 schrieb Stefan Baur: > My guess is that FAT32 (to be more precise: the vfat mount module) > doesn't support UTF-8 out of the box, and/or you're using some regional > charset (KOI8-R, maybe?) instead of UTF-8. On a system that expects > UTF-8, this will cause confusion ...
Well, looking at the source of x2gousbmount, I think the problem is this: if (system("mount -tntfs $dev /media/$name/$ldev -o uid=$user,sync,uni_xlate") == 0) [...] elsif (system("mount -tvfat $dev /media/$name/$ldev -o uid=$user,sync,uni_xlate") == 0) [...] So for both ntfs and vfat mounts, uni_xlate is set. man mount says for ntfs: uni_xlate={0|1|2} For 0 (or `no' or `false'), do not use escape sequences for unknown Unicode characters. For 1 (or `yes' or `true') or 2, use vfat-style 4-byte escape sequences starting with ":". Here 2 give a little-endian encoding and 1 a byteswapped bigendian encoding. while for vfat, the same parameter is documented to do something else: uni_xlate Translate unhandled Unicode characters to special escaped sequences. This lets you backup and restore filenames that are created with any Unicode characters. Without this option, a '?' is used when no translation is possible. The escape character is ':' because it is otherwise invalid on the vfat filesystem. The escape sequence that gets used, where u is the Unicode character, is: ':', (u & 0x3f), ((u>>6) & 0x3f), (u>>12). AND man mount also says under "vfat" utf8 UTF8 is the filesystem safe 8-bit encoding of Unicode that is used by the console. It can be enabled for the filesystem with this option or disabled with utf8=0, utf8=no or utf8=false. If 'uni_xlate' gets set, UTF8 gets disabled. The last sentence is the important one. So, since we are setting uni_xlate for the vfat mounts, utf8 gets disabled, which explains why you're seeing the hex codes instead. A workaround for you is to cd into the ./patch/includes.chroot/usr/lib/x2go/tce/ directory you created, and edit the file x2gousbmount there. Look for the line elsif (system("mount -tvfat $dev /media/$name/$ldev -o uid=$user,sync,uni_xlate") == 0) (all on one line) and replace 'uni_xlate' with 'utf8'. After that, create a new build and deploy it. Please let us know if that worked. If it did, we will have to think about how to handle this in future releases. Kind Regards, Stefan Baur -- BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243 _______________________________________________ x2go-user mailing list x2go-user@lists.x2go.org https://lists.x2go.org/listinfo/x2go-user