Вместо русских букв в названии файла знаки вопроса

Neo69

Как это лечится в линуксе?

artimon

ls --show-control-chars
А вообще-то правильно настроить локаль.

Neo69

Что такое локаль?

sergssk

ботай подпись Naraku )

Neo69

Я безинетный

sergssk

первое, что попалось под руку:
>>>>Русификация linux
Источник: http://nix.h1.ru
Автор: SHuRuP
email: mailto:xakep.ru?subject=nix
www: http://nix.h1.ru/
icq: 76011665
В этой статье будет рассмотрена русификация linux на примере Linux Mandrake v8.0 - KDE с кодировкой windows-cp1251 (именно с ней, а не любимой всеми koi8-r, многие могут поспорить, но и у этого варианта есть свои плюсы и минусы).
Во время установки при выборе языка лучше нажать на дополнительно и выбрать обе русские кодировки (koi8-r & windows-cp1251) - могут пригодиться в будущем. После установки ищем /etc/profile и в конце файла дописываем приблизительно следующее:
export LANG=ru_RU.CP1251
export LC_CTYPE=ru_RU.CP1251
export LC_ALL=ru_RU.CP1251
Проверить это можно, перезагрузившись и набрав locale в консоле, - всюду должно стоять *=ru_RU.CP1251.
Теперь KDE Control Center -> Look'N'Feel -> Fonts, здесь необходимо проставить всюду шрифты с кодировкой win-1251 (например: helvetica). Если шрифтов нет, то бегом на http://yahoo.com искать что-нибудь вроде: 'fonts+free+windows-cp1251'. После скачивания надо распаковать например в /usr/X11R6/lib/X11/fonts/windows-1251, после этого:
cd /usr/X11R6/lib/X11/fonts/windows-1251
ttmkfdir > fonts.dir
ttmkfdir > fonts.scale
Когда будут созданы файлы (в виде списка всех шрифтов в каталоге в /etc/X11/fs/config добавьте в список каталогов со шрифтами /usr/X11R6/lib/X11/fonts/windows-1251. Результат будет сразу после перезапуска сервера шрифтов (/etc/rc.d/init.d/xfs restart).
После этого KDE Control Center -> Personalization -> Keybord layout, там надо добавить русский язык, затем зайти на закладку 'Shortcut' и выбрать, как менять раскладку клавиатуры (лучше не выбирать + и +, так как могут быть баги; мой совет - +, или с другой буквой).
Для просмотра русских названий файлов и каталогов для дисков vfat строки с монтированием таких разделов в /etc/fstab должны выглядить приблизительно так:
/dev/hda5 /mnt/win_c vfat quiet,codepage=866,iocharset=cp1251,umask=000 0 0
Ключевым здесь, естественно, является iocharset=cp1251. Конечно, необходимо, чтобы ядро было скомпилировано с поддержкой этих кодировок (866, cp1251).
Поддержку проверки русского синтаксиса скачать можно здесь. Данный spellchecker можно скомпилить в windows-cp1251.
Чтобы шрифты выглядили красиво, нужно настроить антиалиасинг. Если его тупо включить в KDE Control Center, то шрифты маленьких размеров смотряться не очень, поэтому неплохо поэкспериментировать с файлом /etc/X11/XftConfig, вставив что-то типа:
match any size < 13 edit antialias=false;
Это заставит все шрифты, у которых размер менее 13, рисовать без антиалиасинга.
Вот основная часть и закончена, теперь осталось во всех программах прописать русские шрифты с кодировкой win-1251 и дело в шляпе.
Хочу предупредить, что абсолютного эффекта ожидать не надо, потому что локализация Linux Mandrake еще сделана не идеально, например, консоль мне под win-1251 так и не удалось настроить, хотя это не так существенно. Зато многие вещи стали намного удобней, например, набирать текст в gedit на 'родной' для большинства кодировке - это значительно лучше аналогичного его написания в кои8; в kvirc'е также это дает преимущества, т.к. не на всех серверах существует перекодировка в koi8-r; в sylpheed опять же отправление почты в win-1251 основной части интернетчиков удобней; и примеров таких можно привести еще много. Но выбор всегда за Вами.
P.S. Выражаю благодарность Александру Ильину (yahoo.com) за помощь в написании этой статьи.

sergssk

или вот ещё:
>>>>Русификация Linux
the_reaver. Источник - info-reaver.narod.ru.
Русификация консоли
Для того чтобы русифицировать консоль, необходимо настроить как правильный вывод символов на экран, так и ввод их с клавиатуры. Начнем с вывода символов.
Как Linux осуществляет вывод какой-либо строки на экран? Сначала строка пропускается через так называемую screen map (карту соответствия перекодирующую выводимые символы в соответствии с используемым терминалом шрифтом. Это позволяет, в принципе, использовать различные кодировки, не изменяя шрифт на консоли.
В Linux и прочих Unix-подобных системах в качестве основной русской кодировки используется кодировка KOI8-R. У этой кодировки есть много преимуществ по сравнению с используемыми в других системах IS08859-5 и кодовыми страницами 1251 и 866, но мы не будем их здесь обсуждать.
Итак, что же нужно сделать, чтобы настроить вывод символов в кодировке KOI8 на экран?
Во-первых, мы должны загрузить русский шрифт. Загрузка шрифта в Linux выполняется при помощи команды setfont. В принципе, в комплект поставки Linux входят KOIS-шрифты, но они весьма плохо выглядят, поэтому мы используем шрифт Суг_а8х16 в кодировке, соответствующей кодовой таблице 866.
В файл /etc/rc.d/rc.font добавьте строку
setfont Суr_а8х16
или, если команда setfont уже присутствует в этом файле, замените указанный после нее шрифт на Суr_а8х16.
Во-вторых, мы должны установить необходимую карту соответствия, которая позволит на лету перекодировать символы из KOI8 в 866 для их корректного вывода на экран при помощи установленного шрифта. Установка карты соответствия выполняется при помощи команды mapscrn.
В файл /etc/rc.d/rc.font добавьте строку
mapscrn koi2ait
Однако того, что мы сделали, еще не достаточно. На каждой консоли, на которой вам нужны русские буквы, карта соответствия должна быть активизирована. Для этого на соответствующую консоль должна быть выведена ?маги-
ческая последовательность? ESC-(K. Для вывода этой последовательности вы можете использовать команду
echo -ne '33(К'
Параметр -п запрещает вывод символа новой строки по окончании работы команды, параметр -е указывает, что вместо выражений вида ххх должен выводиться символ с восьмеричным кодом ххх. В данном случае будет выведен
символ с кодом 033 - то есть, ESC.
Конечно, вы можете каждый раз вводить эту команду вручную на той консоли, на которой вам нужны русские буквы, но этот процесс можно автоматизировать.
В файл /etc/rc.d/rc.local добавьте следующий текст:
for i in 1 2 3 4 5 6
do
echo -ne '33(К' > /dev/tty$i
done
Эта последовательность команд определяет цикл (for ... do ... done в котором переменная i последовательно принимает значения 1-6 (i in 1 2 3 4 5 6). В теле цикла выполняется вывод нужной "магической последовательности"
ESC-(K на консоль с номером i (/dev/tty$i, знак $ указывает, что вместо $i должно быть подставлено значение переменной, то есть последовательно 1,2, ...,6).
На этом настройка вывода на экран завершена.
Для того чтобы вы могли не только видеть на экране русские буквы, но и иметь возможность вводить их с клавиатуры, необходимо загрузить при помощи команды loadkeys нужную клавиатурную раскладку.
В файл /etc/rc.d/rc.local добавьте команду
loadkeys ru1
Раскладка ru1 позволит вам вводить символы в кодировке KOI8, переключаясь между латинской и русской раскладками при помощи правой клавиши Alt.Теперь вы можете перезагрузить компьютер или просто вручную выполнить описанные команды.
Однако на этом русификация консоли не закончена. Если вы попытаетесь ввести что-либо русскими буквами непосредственно в командной строке, то у вас, скорее всего, ничего не получится. Нам еще предстоит объяснить, как трактовать русские символы трем важным программам : bash, Is и less.
Начнем с bash - интерпретатора командной строки , той программы, которая выводит приглашение $ (или #, если вы работаете от root) и ожидает ввода команд. Для управления поведением bash при использовании символов из второй половины кодовой таблицы используется файл .inputrc, который находится в домашнем каталоге пользователя.
Создайте в своем домашнем каталоге файл .inputrc, сoдержащий следующие строки:
set meta-flag on
set convert-meta off
set output-meta on
Выйдите из системы (введя logout) и войдите в нее снова. Все, теперь вы можете вводить русские буквы в командной строке и даже создавать файлы с русскими именами. Попробуйте ввести :>"Привет, мир", чтобы создать пустой файл с именем Привет, мир.
Но что это? При попытке просмотреть содержимое каталога, в котором создан файл с русским именем, вместо русских букв написаны какие-то числа и вопро сительные знаки? Для того чтобы команда Is корректно отображала русские имена файлов, сделайте следующее.
В конец файла /etc/profile добавьте строку
alias ls='ls -N $LS_OPTIONS'
Вы можете и не делать этого, а просто вызывать Is с ключом -N, если хотите видеть русские имена файлов. Но точно я не гарантирую что это будет работать - при установке своего линукса у меня были проблемы - приходилось использовать другие опции. В общем, если не получится - поэксперементируйте с опциями ls.
Наконец, последняя программа, которую мы хотим образумить, это less - программа постраничного просмотра файлов. Чтобы less корректно выводила русские буквы, необходимо установить переменную окружения LESSCHARSET.
В конец файла /etc/profile впишите строчку
export LESSCHARSET=latin1
На этом русификация консоли закончена. Для того чтобы сделанные нами в файле /etc/profile изменения вступили в силу, вы должны выйти из системы и войти в нее снова.
Русификация Xwindow System
Pусские шрифты KOI8-R на XFree86
В современных дистрибутивах они скорее всего уже стоят. Первым делом (на работающем X сервере) запустите :
$ xlsfonts -fn "*-koi8-r"
Если список не пустой - примите наши поздравления :-)
Начиная с версии XFree86 3.3.2 русские фонты(шрифты) cronyx-* входят прямо в дистрибутив XFree. Если фонтов нет -- их нужно установить. Для Red Hat просто поставьте пакет XFree86-cyrillic-fonts-XXXX.rpm . Фонты установятся в /usr/X11R6/lib/X11/fonts/cyrillic .
Далее нужно подключить шрифты к X Window. Убедитесь, что в файле /etc/X11/XF86Config прописан путь :
Section "Files"
...
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
...
EndSection
Путь с cyrillic лучше всего поставить первым. Перезапустите X сервер и проверьте командой : xlsfonts -fn "*-koi8-r" .
Хорошим решением также будет использование фонт-сервера. Во-первых, он может быть один на всю организацию, а во-вторых, в современных фонт-серверах можно использовать шрифты TrueType. Для Red Hat фонт-сервер xfsft входит в пакет Xfree86-xfs.
Существует два основных способа русификации клавиатуры X :
XKB, применяющийся в современном X11R6
xmodmap, применявшийся в X11R5
При русификации X 3.3.x через XKB в /etc/X11/XF86Config должно быть прописано:
Section "Keyboard"
...
XkbRules "xfree86"
XkbModel "pc101"
XkbLayout "ru"
XkbOptions "grp:shift_toggle"
EndSection
Для X 4.0.x
Section "InputDevice"
...
Driver "keyboar

KyKyPy3HuK

fstab:
/dev/hda1 /media/windows vfat iocharset=utf8
?

sergssk

ничего против не имею, у самого так =)
Оставить комментарий
Имя или ник:
Комментарий: