Eng ось с поддержкой русских файлов.

Автор Goros, 06 февраля 2020, 21:33:30

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Goros

День добрый! У меня установлена debian 9, kde.  Столкнулся с проблемой, которую не получается решить.
Мне приятней пользоваться ОСью на английском языке. Однако никакие программы не открывают файлы с русскими именами и сайты их выгружать отказываются (если переименовать в англ, то все хорошо). Конечно вариант их всех переименновывать, но это не выход.
В консоли и mc имена данных файлов отображаются знаками вопроса. Все способы гугла мне не помагают.
Сейчас в файлике /etc/default/locale прописано
LANGUAGE=en_US.UTF-8
LANG="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"


Через команду dpkg-reconfigure console-setup выставлял
Cyrillic - Slavic languages (also Bosnian and Serbian Latin)
и
Combined - Latin; Slavic; Cyrillic; Hebrew; basic Arabic
но результата не давало.
Как я понимаю, что где-то что-то не допичываю. Если кто-то знает путь решения, подтолкните, пожалуйста, куда копать?

I-Jurij

Русская локаль и шрифты с поддержкой кириллицы установлены?
У меня для консоли terminus (на любителя, конечно, но по мне так норм), в  gui - dejavu. Проблем не было.

Olej

Цитата: Goros от 06 февраля 2020, 21:33:30Сейчас в файлике /etc/default/locale прописано
Установите все locale в:

olej@ACER:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

И будет вас счастье.  :D
См. смена дефаултной локали.


ChubaDuba

Девятка у вас какая? В версии i386 присутствует небольшой глюк по умолчанию с русскими буквами в консоли.

Goros

Цитата: I-Jurij от 06 февраля 2020, 22:23:43Русская локаль и шрифты с поддержкой кириллицы установлены?
Что имеется ввиду под установкой русской локали? Если в  dpkg-reconfigure locales выбрать ru_RU.UTF-8 UTF-8 и установить по умолчанию ру, то он переводит всю ось на русский, чего я не хочу.

Цитата: Olej от 06 февраля 2020, 22:53:09И будет вас счастье.
Не будет, т.к. данное действие делает половину оси на русском, что вобще убожество. Мне же хочется иметь английский варинт, но чтобы поддерживались файлы с русскими именами.

Цитата: ChubaDuba от 06 февраля 2020, 23:35:13Девятка у вас какая? В версии i386 присутствует небольшой глюк по умолчанию с русскими буквами в консоли.
4.9.0-8-amd64

ChubaDuba

За язык интерфейса отвечает параметр LC_MESSAGES
Попробуйте такой вариант:

LANG="en_US.UTF-8"
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=""

I-Jurij

Цитата: Goros от 07 февраля 2020, 15:33:48Что имеется ввиду под установкой русской локали? Если в  dpkg-reconfigure locales выбрать ru_RU.UTF-8 UTF-8 и установить по умолчанию ру, то он переводит всю ось на русский, чего я не хочу.
Имеется в виду, что они вообще есть. Я, например лишние удаляю с пом. bleachbit. И я не помню уже, по умолчанию есть русская локаль в системе после установки с английской локалью или нет.
На другом дистрибутиве в английской версии не было русской локали и шрифтов с поддержкой кириллицы, ставил вручную, переназначал шрифты - работало.

Olej

Цитата: I-Jurij от 07 февраля 2020, 20:57:06И я не помню уже, по умолчанию есть русская локаль в системе после установки с английской локалью или нет.
Нет (Debian 10).

Goros

Цитата: ChubaDuba от 07 февраля 2020, 16:12:44За язык интерфейса отвечает параметр LC_MESSAGES
Попробуйте такой вариант:
Код: [Выделить]
LANG="en_US.UTF-8"
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=""
Мне же просто напрямую менять файл /etc/default/locale? Потому что Ваши значения не дали результатов, только теперь в файловом менеджере русские символы отображаются замещающим симоволом (�).
Цитата: I-Jurij от 07 февраля 2020, 20:57:06Имеется в виду, что они вообще есть. Я, например лишние удаляю с пом. bleachbit. И я не помню уже, по умолчанию есть русская локаль в системе после установки с английской локалью или нет.
На другом дистрибутиве в английской версии не было русской локали и шрифтов с поддержкой кириллицы, ставил вручную, переназначал шрифты - работало.
Изначально ничего нет, но с указанными 1 посте настройками в locale-файле в том же Dophin отображаются имена с русскими названиями, но не открываются.

I-Jurij

#9
Давайте по одной проблемы решать:
1.
Цитата: Goros от 06 февраля 2020, 21:33:30В консоли и mc имена данных файлов отображаются знаками вопроса.
- консольный шрифт пробовали заменить на terminus?  Команд наизусть не помню, ни дебиан ни убунту рядом нет, читайте доки или спрашивайте кого.
2. Открытие файлов: скорее всего путь с русскими именами файлов превращается в набор символов, которые не может переварить тот же dolphin. Т.е. нет каких-то русских пакетов для KDE. Я бы поискал все языковые пакеты (ну или хотя-бы нужные) и установил. Что-то вроде apt-cache search *ru.apt-cache search *rus (точку апт может и не понимает, заодно проверите), или в синаптике поискать русские языковые пакеты.

PS:
а что покажет cat ./etc/default/console-setup ?

PPS: что-то мне кажется, что в этом случае проще sudo locale-gen
sudo update-locale LANG=ru_RU.UTF-8 LC_MESSAGES=POSIX
, а потом вручную сделать так как ChubaDuba показал. НЕ ДЕЛАЙТЕ ПОКА...

Goros

Цитата: I-Jurij от 08 февраля 2020, 21:51:05Давайте по одной проблемы решать:
1.
Цитата: Goros от 06 Февраль 2020, 21:33:30
В консоли и mc имена данных файлов отображаются знаками вопроса.
- консольный шрифт пробовали заменить на terminus?  Команд наизусть не помню, ни дебиан ни убунту рядом нет, читайте доки или спрашивайте кого.
2. Открытие файлов: скорее всего путь с русскими именами файлов превращается в набор символов, которые не может переварить тот же dolphin. Т.е. нет каких-то русских пакетов для KDE. Я бы поискал все языковые пакеты (ну или хотя-бы нужные) и установил. Что-то вроде
Код: [Выделить]
apt-cache search *ru.
Код: [Выделить]
apt-cache search *rus
(точку апт может и не понимает, заодно проверите), или в синаптике поискать русские языковые пакеты.

PS:
а что покажет
Код: [Выделить]
cat ./etc/default/console-setup
?

PPS: что-то мне кажется, что в этом случае проще
Код: [Выделить]
sudo locale-gen
sudo update-locale LANG=ru_RU.UTF-8 LC_MESSAGES=POSIX
, а потом вручную сделать так как ChubaDuba показал. НЕ ДЕЛАЙТЕ ПОКА...

Я попробовал по другому. Я к своему исходному файлу с локалями дописал
LC_ALL="en_GB.UTF-8"
предварительно сгенерировав локали. И все, файлы с русскими названиями открываются, в консоле отображаются верно. Убираем, проблема возращается. Понимаю, что этот вариант костыль и так лучше не делать.
Но такое решение подталкивает, что где-то чего-то недописано, раз переменная LC_ALL отвечает за все переменные LC. Но где и что?

Olej

Цитата: Goros от 09 февраля 2020, 16:24:17что где-то чего-то недописано, раз переменная LC_ALL отвечает за все переменные LC. Но где и что?
Arch wiki - Locale (Русский) :
Цитировать
LC_ALL
Переменная LC_ALL переопределяет своим значением все LC_*-переменные, включая LANG, независимо от того, установлены они или нет.
Переменная LC_ALL — единственная из всех LC_-переменных, которую нельзя установить в /etc/locale.conf: она предназначена только в целях проверки при решении проблем.
(выделено не мной, а в источнике)

I-Jurij

Цитата: Goros от 09 февраля 2020, 16:24:17этот вариант костыль
В чем костыльность?  Тем более если все начинает работать? Я бы больше время не тратил. Только если бы для развлечения или понимания.

Olej


Goros

Цитата: Olej от 09 февраля 2020, 17:15:09
Цитата: Goros от 09 февраля 2020, 16:24:17что где-то чего-то недописано, раз переменная LC_ALL отвечает за все переменные LC. Но где и что?
Arch wiki - Locale (Русский) :
Цитировать
LC_ALL
Переменная LC_ALL переопределяет своим значением все LC_*-переменные, включая LANG, независимо от того, установлены они или нет.
Переменная LC_ALL — единственная из всех LC_-переменных, которую нельзя установить в /etc/locale.conf: она предназначена только в целях проверки при решении проблем.
(выделено не мной, а в источнике)

Я ничего не знаю про арч, поэтому не могу сказать можно ли верить их документации, но у меня заработало именно если указать LC_ALL="en_GB.UTF-8" и если убрать все ломается.
Но если почитать тут, то никаких нельзя не найдем, только не советуется и только для тестов.

Цитата: I-Jurij от 09 февраля 2020, 18:10:37
Цитата: Goros от 09 февраля 2020, 16:24:17этот вариант костыль
В чем костыльность?  Тем более если все начинает работать? Я бы больше время не тратил. Только если бы для развлечения или понимания.
Костыль в том, что остальные настройки LC перестают работать (как и указано в документации). Хочется разобраться, что я упускаю, но своих знаний не хватает, при этом нагуглить ответ не получается.