Кириллица в именах сетевых ресурсов (Gnome, Nautilus, сеть Windows и имена на кириллице)
Модераторы: SLEDopit, Модераторы разделов
-
Мессир
- Сообщения: 7
Кириллица в именах сетевых ресурсов
Приветствую, форумчане!
Проблеме более 9000 лет, она кажется весьма тривиальной, и вот не думал я, что в 2016-м буду биться с ней на протяжении нескольких суток абсолютно безуспешно...
Это был крик души. Теперь суть.
Итак, имеем:
- Scientific Linux CE 6.7 (Аналог CentOS той же версии)
- GNOME 2.28.2
- Nautilus 2.28.4
- Компьютер работает в сети windows, пользователю необходимо заходить на расшаренные ресурсы windows-машин и просматривать/скачивать файлы с них.
Проблема: кракозябры вместо кириллицы в именах ресурсов.
Шрифты M$ установлены (пакет msttcore-fonts-installer-2.6-1.noarch.rpm). В smb.conf прописан dos charset = CP866, и в консоли всё нормально. В частности, smbclient и smbtree показывают все имена на русском. Следовательно, дело не в Samba, а в Nautilus. (Точнее, в GNOME, потому что в Gnome Commander, например, та же тема). Пробовал также firefox'ом через smb:// Там та же ситуация, только кракозябры выглядят по-другому.
Вопрос: где в GNOME прописать, чтобы ресурсы smb:// отображались в кодировке cp866?
В gconf-editor есть секция /system/smb, и в ней только один ключ: Workgroup. Может быть, добавить ключ dos charset? Или что-то в секцию Nautilus'а? Есть где-то полный список ключей gconf? (Пока сильно не искал.)
Туда ли я вообще копаю? И если нет, куда копать? За двое суток перерыл пол-интернета, мозги закипают уже. Многие люди сталкивались именно с такой проблемой, но решения её нигде не предложено. Надеюсь, эта тема исправит ситуацию.
Заранее благодарен за ответы.
UPD Подумал о ещё одном варианте решения проблемы: можно было бы запускать Nautilus с параметром, явно задающим кодировку. Что-то вроде nautilus --codepage=cp866
Кто-нибудь знает, возможно ли это? В смысле, есть ли такой параметр? nautilus --help-all ничего такого не показывает, но в man'е сказано: "Other standard GNOME options not listed here are also supported." Может, из этих что-нибудь?
В общем, буду признателен за любые идеи, ибо сам уже в отчаянии. ( Особенно стыдно перед человеком, которому расхваливал Линукс, и как он всё умеет "искаропки". А тут выходит, что элементарный функционал не могу обеспечить... ((
Проблеме более 9000 лет, она кажется весьма тривиальной, и вот не думал я, что в 2016-м буду биться с ней на протяжении нескольких суток абсолютно безуспешно...
Это был крик души. Теперь суть.
Итак, имеем:
- Scientific Linux CE 6.7 (Аналог CentOS той же версии)
- GNOME 2.28.2
- Nautilus 2.28.4
- Компьютер работает в сети windows, пользователю необходимо заходить на расшаренные ресурсы windows-машин и просматривать/скачивать файлы с них.
Проблема: кракозябры вместо кириллицы в именах ресурсов.
Шрифты M$ установлены (пакет msttcore-fonts-installer-2.6-1.noarch.rpm). В smb.conf прописан dos charset = CP866, и в консоли всё нормально. В частности, smbclient и smbtree показывают все имена на русском. Следовательно, дело не в Samba, а в Nautilus. (Точнее, в GNOME, потому что в Gnome Commander, например, та же тема). Пробовал также firefox'ом через smb:// Там та же ситуация, только кракозябры выглядят по-другому.
Вопрос: где в GNOME прописать, чтобы ресурсы smb:// отображались в кодировке cp866?
В gconf-editor есть секция /system/smb, и в ней только один ключ: Workgroup. Может быть, добавить ключ dos charset? Или что-то в секцию Nautilus'а? Есть где-то полный список ключей gconf? (Пока сильно не искал.)
Туда ли я вообще копаю? И если нет, куда копать? За двое суток перерыл пол-интернета, мозги закипают уже. Многие люди сталкивались именно с такой проблемой, но решения её нигде не предложено. Надеюсь, эта тема исправит ситуацию.
Заранее благодарен за ответы.
UPD Подумал о ещё одном варианте решения проблемы: можно было бы запускать Nautilus с параметром, явно задающим кодировку. Что-то вроде nautilus --codepage=cp866
Кто-нибудь знает, возможно ли это? В смысле, есть ли такой параметр? nautilus --help-all ничего такого не показывает, но в man'е сказано: "Other standard GNOME options not listed here are also supported." Может, из этих что-нибудь?
В общем, буду признателен за любые идеи, ибо сам уже в отчаянии. ( Особенно стыдно перед человеком, которому расхваливал Линукс, и как он всё умеет "искаропки". А тут выходит, что элементарный функционал не могу обеспечить... ((
-
Мессир
- Сообщения: 7
Re: Кириллица в именах сетевых ресурсов
Ещё есть идея. Вот Nautilus сам монтирует сетевые ресурсы как cifs (ведь монтирует же, надо полагать?). Так вот: откуда он берёт опции монтирования? Найти бы да прописать туда charset...
-
Bizdelnick
- Модератор
- Сообщения: 21475
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Кириллица в именах сетевых ресурсов
За монтирование отвечает gvfs.
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
Мессир
- Сообщения: 7
Re: Кириллица в именах сетевых ресурсов
Да, уже докопался до этого. Курю https://wiki.gnome.org/Projects/gvfs/doc
Практического толку пока никакого. )
Спасибо за ответ.
-
nerve
- Сообщения: 280
- ОС: OpenBSD
Re: Кириллица в именах сетевых ресурсов
как вариант, за русские имена расшаренных ресурсов можно пальцы ломать..но то такое.
всего навсего надо было установить правило, что имя сетевого ресурса должно быть только на английском языке.
а так конечно сочувствую..
всего навсего надо было установить правило, что имя сетевого ресурса должно быть только на английском языке.
а так конечно сочувствую..
-
Мессир
- Сообщения: 7
Re: Кириллица в именах сетевых ресурсов
Не могу согласиться. Да, сеть не моя. И да, в своей я никогда не называю шары по-русски. Но:
1) На дворе 21-й век, и вся Россия уставлена компьютерами и опутана сетями. Не должно быть таких ограничений. Имхо, правильнее ломать пальцы мелкомягким за игнор UTF8. А ломание пальцев пользователям нужно оставить в веке 20-м. Сегодня пользователь должен работать с комфортом, ни о чём не задумываясь и ничем не заморачиваясь.
2) Даже если не брать во внимание 1). Что ж теперь - и все файлы называть только по-буржуйски? Это уже чересчур, не находите?
А ведь в данном случае дело не только и даже не столько в именах компьютеров/расшаренных папок. Допустим, они все были бы названы по-английски. Но ведь рано или поздно юзер доходит собственно до списка файлов, хранящихся в шаре. А в России имена файлам дают всё больше кириллические...
-
s.xbatob
- Сообщения: 1139
- ОС: Fedora
Re: Кириллица в именах сетевых ресурсов
Мессир писал(а): ↑31.03.2016 11:20
Не могу согласиться. Да, сеть не моя. И да, в своей я никогда не называю шары по-русски. Но:
1) На дворе 21-й век, и вся Россия уставлена компьютерами и опутана сетями. Не должно быть таких ограничений. Имхо, правильнее ломать пальцы мелкомягким за игнор UTF8. А ломание пальцев пользователям нужно оставить в веке 20-м. Сегодня пользователь должен работать с комфортом, ни о чём не задумываясь и ничем не заморачиваясь.
2) Даже если не брать во внимание 1). Что ж теперь - и все файлы называть только по-буржуйски? Это уже чересчур, не находите?
А ведь в данном случае дело не только и даже не столько в именах компьютеров/расшаренных папок. Допустим, они все были бы названы по-английски. Но ведь рано или поздно юзер доходит собственно до списка файлов, хранящихся в шаре. А в России имена файлам дают всё больше кириллические...
А в спецификации протокола про кодировку имён что-либо сказано?
Если нет, то все подобные рассуждения - демагогия.
-
Bizdelnick
- Модератор
- Сообщения: 21475
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Кириллица в именах сетевых ресурсов
([MS-CIFS]) писал(а):Unicode file name support. CIFS supports both extended ASCII (OEM) character set and Unicode file names. CIFS supports 8.3 name format file names, long file names using the extended ASCII character set (8-bit characters), and long file names in Unicode.
Но если в документе от MS видишь надпись «Unicode», не верь глазам своим. В лучшем случае имеется в виду UTF-16LE.
Upd.
Так что единственный вариант, не требующий возни с настройками монтирования каждой шары, — настроить сервер на использование юникода.there is no support for negotiating the charset to be used in the SMB/CIFS protocol.
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
nerve
- Сообщения: 280
- ОС: OpenBSD
Re: Кириллица в именах сетевых ресурсов
Bizdelnick писал(а): ↑31.03.2016 13:40Так что единственный вариант, не требующий возни с настройками монтирования каждой шары, — настроить сервер на использование юникода.
так у него проблема не в том что с линукс машин проблемно открываются шары с русскими именами на каком-то одном сервере, а линукс машина одна и виндовс машин много и надо иметь возможность нормально открывать ихние шары, то есть что-то настраивать на стороне "серверов" - не вариант.
или я не правильно понял?
-
Bizdelnick
- Модератор
- Сообщения: 21475
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Кириллица в именах сетевых ресурсов
Ну не знаю, лично я предпочитаю решать проблемы, устраняя их причины, а не борясь со следствиями.
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
Мессир
- Сообщения: 7
Re: Кириллица в именах сетевых ресурсов
Bizdelnick писал(а): ↑31.03.2016 13:40<...>
Так что единственный вариант, не требующий возни с настройками монтирования каждой шары, — настроить сервер на использование юникода.
Если б это был единственный сервер... Но увы - это сеть с сотней компьютеров, и никто не знает, с какого из них пользователю понадобится получить документ. Но даже если б это был единственный сервер, повторюсь: я не администрирую эту сеть, вообще никакого отношения к ней не имею. Я просто установил её пользователю Linux. И даже если бы был непосредственный контакт с админом... Согласитесь, мало кому понравится, когда к тебе приходит какой-то "левый" человек и начинает указывать тебе... ну, вообще, начинает указывать тебе. )
Bizdelnick писал(а): ↑31.03.2016 15:38Ну не знаю, лично я предпочитаю решать проблемы, устраняя их причины, а не борясь со следствиями.
Это мудро. Я тоже (поэтому у меня вся организация на Linux
nerve писал(а): ↑31.03.2016 15:16<...>
так у него проблема не в том что с линукс машин проблемно открываются шары с русскими именами на каком-то одном сервере, а линукс машина одна и виндовс машин много и надо иметь возможность нормально открывать ихние шары, то есть что-то настраивать на стороне "серверов" - не вариант.
или я не правильно понял?
Вы поняли совершенно правильно.
По теме. Сутки ковыряния в документации GConf'а ничего не дали (хотя, конечно, узнал много нового). В связи с этим вопрос: может, кто подскажет юзер-френдли файловый менеджер для GNOME с возможностью смены кодировки, как в mc?
-
Мессир
- Сообщения: 7
Re: Кириллица в именах сетевых ресурсов
Интересный апдейт.
В порядке эксперимента взял сабжевую машину и подключил к другой сети на другом предприятии. Проверил шары на трёх компьютерах: с windows 7, 8.1 и Server 2003. Везде русские символы отображаются нормально.
Вопрос: в чём может быть дело, от чего это зависит?
В порядке эксперимента взял сабжевую машину и подключил к другой сети на другом предприятии. Проверил шары на трёх компьютерах: с windows 7, 8.1 и Server 2003. Везде русские символы отображаются нормально.
Вопрос: в чём может быть дело, от чего это зависит?
-
nerve
- Сообщения: 280
- ОС: OpenBSD
Re: Кириллица в именах сетевых ресурсов
"вот это поворот" ©.
-
Bizdelnick
- Модератор
- Сообщения: 21475
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Кириллица в именах сетевых ресурсов
Может кодировка определяется доменными настройками?
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
Мессир
- Сообщения: 7
Re: Кириллица в именах сетевых ресурсов
Да уж. Вечером воткнул в домашнюю сетку, шара на ноутбуке с Вин10 с русскими буквами отображается нормально.
Репа сильно зачесалась...
Понятно, что первые мысли в этом роде. "Но как, Холмс?" Кстати, домена, насколько я могу судить, нет. Вижу только кучу рабочих групп. Хотя у подключения есть dns-суффикс вида institut.univer.ru, и открывается интранет-сайт.
Но даже если. Как контроллер домена может влиять на отображение шар одного клиента на другом?
-
Bizdelnick
- Модератор
- Сообщения: 21475
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Кириллица в именах сетевых ресурсов
Он может влиять на то, в какой кодировке винда отдаёт имена файлов.
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |