Mac UTF-8 a Samba s vfs_fruit

Mac UTF-8 a Samba s vfs_fruit
« kdy: Dnes v 13:01:31 »
Před časem jsem narazil na ošklivost ve Finderu, který nezobrazuje soubory, pokud jejich název obsahuje složené UTF-8 znaky, tj. nikoli znak s diakritikou (zakódované do dvou bytů), ale znak + znak diakritiky (zakódované do 3 bytů).

Stává se mi, že uživatelé z Windows uloží soubory, které obsahují v názvu jednou tak, podruhé jinak zakódované znaky. V Linuxu se mi pochopitelně obojí zobrazuje nerozlišitelně stejně, dokud jsem nenechal název převést na hexadecimální čísla. K odhalení může pomoct Putty, který za určitých okolností zobrazuje složené znaky špatně.

Četnost s jakou Windows něco takového provedou je nezanedbatelná. Možná každý desátý soubor? Nepodařilo se mi vypozorovat jestli to jsou názvy, které uživatel vytvoří zkopírováním odněkud, nebo naklepe na klávesnici, nebo jestli to je specificky častější pro určitý software (stává se to u souborů s MS Office).

Nějak se mi to podařilo vyřešit pomocí vfs_fruit v kombinaci s mangled names (vypne překódování názvů do zkráceného názvu pouze z osmi znaků ASCII) a v kombinaci s unix charset a display charset, viz relevantní kousek konfigurace.

Modul catia je dle manuálu nutný pro volbu fruit:encoding = native.

Kód: [Vybrat]
        unix charset = UTF-8
        display charset = UTF-8
...
        vfs object = recycle fruit catia streams_xattr

        fruit:encoding = native
        fruit:resource = file
        fruit:posix_rename = yes
        fruit:veto_appledouble = yes
        fruit:nfs_aces = no
        fruit:wipe_intentionally_left_blank_rfork = true

        mangled names = no

Následně v každém sharu mám zapnuto ve shodě s globálním nastavením (kdesi psali, že to je potřeba):

Kód: [Vybrat]
        vfs object = recycle fruit catia streams_xattr
Nejsem si jistý volbou fruit:encoding = native vs private. Pochopil jsem, že jde o překódovávání nepovolených znaků do privátního rozahu UTF-8, ale jakých přesně znaků? Týká se to i složených znaků s diakritikou? Nebo jen znaků, které nejsou povolené na unixlike systémech, ale na Windows nevadí? Manuál mi připadá neúplný.

A která z voleb vlastně zajišťuje překódování složených znaků? Jsou místa, kde vfs_fruit nemám a MACkaři mi problémy nehlásili.

https://www.samba.org/samba/docs/current/man-html/vfs_fruit.8.html

Problém je, že když jsem fruit:encoding nastavil na private, tak začal padat Finder při pokusu o vstup do některých složek s diakritikou v názvu. Pád Finderu se projeví tak, že krátce po otevření složky (1s?) se zavřou všechna okna Finderu a odpojí se od Samby. Uživatel se pak musí znovu přihlásit.

Jako upřímně - mě to přijde jako dlouhodobě neřešená chyba MAC OSX a ne problém, který by se měl řešit na Sambě. Ale protože od Apple řešení očekávat nelze (dohledal jsem diskuze i 10 let staré, kde měl kdosi podobný problém), hledám rovnák na vohejbák pomocí nastavení Samby.

Jakou s tímto máte zkušenost?

Nepřipadá mi správné uživatelům radit, aby diakritiku v názvech přestali používat, jako to bývalo běžné v dobách DOSu a W9x.


jjrsk

  • ****
  • 499
    • Zobrazit profil
Re:Mac UTF-8 a Samba s vfs_fruit
« Odpověď #1 kdy: Dnes v 17:02:53 »
https://wiki.samba.org/index.php/Configure_Samba_to_Work_Better_with_Mac_OS_X

Tuhle to maji ponekud jinak nez to mas ty.

S vecma od jabka je to easy, proste nefungujou (resim s dodavatelem, ze jablecny kramy se neumej prihlasit domenovym uctem k firemnimu webu, cokoli jinyho funguje). Opakovane resim problemy s certifikatama, vpnkama ... atd atd.

A rekni uzivatelum at diaktiriku (nejen v nazvech) nepouzivaj ;D.