The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Konqueror, KDE desktop и вопросики вместо русских букв (kde konqueror rus)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: kde, konqueror, rus,  (найти похожие документы)
From: WhiteUnicorn <http://whiteunicorn.dax.ru>; Date: Mon, 20 Sep 2004 18:21:07 +0000 (UTC) Subject: Konqueror, KDE desktop и вопросики вместо русских букв Оригинал: http://whiteunicorn.dax.ru/tricks/unix/kde_konq.html Проблема. Несмотря на то, что система отлично врубается в русские имена файлов, без проблем работает с ними в консоли, замечательно показывает их на кнопках TaskBar aka KDE Panel, рисует их в строке заголовка окон и вообще не испытывает каких либо трудностей по поводу их существования, в окне просмотра файлов в konqueror file manager и в именах ярлыков на рабочем столе вместо этих русских букв показываются вопросы. Дополнительные симптомы: Если в konquerror попытаться переименовать файл и начать набирать русские буквы, то пишутся знаки вопроса. Но если завершить переименование, то никто ругаться не будет, файл переименуется. Если посмотреть на него из консоли - то имя будет совершенно нормально русским, какое мы и набирали. Мало того, в статус баре самогО Konquerror имя этого файла тоже показывается нормально. Т.е. проблема не в том, что при вводе идет неправильная кодировка, а именно в шрифте, который konquerror использует для отображения имен файлов. Та же картина наблюдается и на рабочем столе в именах ярлыков. Решение. Оно подсказано Иваном Паскалем, на сайте которого есть много полезной информации на тему локализации не только локализации юниксов (http://www.tsu.ru/~pascal). Konquerror и kdesktop выбирают неправильную кодировку для шрифта, которым все это отображается. Значит надо поменять кодировку. Но. В окнах настройки шрифта (во всяком случае для kde 2.2.1) _нет_ поля выбора кодировки. Только имя шрифта и размер. Однако все очень просто. Механизм задания шрифта в этих приложениях ничем не отличается от кучи других. Конфиги у них всех тоже достаточно однотипные. Шрифты в этих конфигах задаются по одной и той же схеме. Значит все, что нам нужно сделать - это взять конфиг от любой другой прогаммы, где со шрифтами все в порядке, и посмотреть, как там задан шрифт. В качестве образца берем, например, ~/.kde/share/config/kdeglobals В секции [Globals] есть вот такая строка: menuFont=arial,12,5,22,50,0 Первое число после имени шрифта - размер, третье - как раз кодировка. Что значат остальные - не разбиралась. Путем несложных экспериментов можно выяснить, что 22 соответствует iso10646-1 (В данной версии KDE во всяком случае. По любому лучше посмотреть, какое число стоИт в этом месте у вас). Теперь нужно исправить подобные строчки в файлах для konquerror и kdesktop, после чего перегрузить KDE. Вот и вся проблема. :)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, Виталий Репин (?), 01:00, 17/09/2006 [ответить]  
  • +/
    Следует отметить, что описанное решение помогает далеко не во всех случаях.

    Бывает, что проблема связана не с отображением - то есть со шрифтами все OK, но вопросики вместо русских букв в konqueror, kdesktop имеют место быть.

    Отличительный признак - пытаешься создать через эти приложения файл с русским именем.  Файл создается, но в названии его действительно фигурируют "?" (проверяется через обычную текстовую консоль).

    Часто ситуация носит вообще магический оттенок - при запуске kde с локального X-сервера все OK, при запуске с удаленных X'ов - описанное поведение.

    Дело в том, что desktop, konqueror и прочие элементы KDE не сами работают с файлами, а делают это через процесс kio_file, запускаемый процессом kdeinit.  И бывает ситуация, когда kdeinit не видит переменной LANG и считает что locale у него C, а кодировка latin1.  Так же считают и его потомки - kio_file и пр.  

    Проверить элементарно - прибить kio_file kill'ом и запустить ручками.  Если после этого файлы с русскими именами создаются - вы в хопре.

    Лечится элементарно - необходимо чтобы kdeinit видел LANG.  Жесткое решение - сделать export LANG непосредственно перед запуском kdeinit в скрипте startkde.  Правильное - разобраться с пользовательскими профайлами.  К примеру, в gentoo
    помогает прописывание LANG в /etc/env.d
      

     
     
  • 2, Виталий Репин (?), 01:04, 17/09/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Проверить элементарно - прибить kio_file kill'ом и запустить ручками.  Если после
    >этого файлы с русскими именами создаются - вы в хопре

    Добавление -  ест-но в правильном окружением (export LANG=ru_RU.KOI8-R или что там у вас стоит)

     
     
  • 3, Антон (??), 18:58, 21/11/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Я решил эту проблему просто добавим строку export LANG=ru_RU.KOI8-R в .cshrc (во FreeBSD) для своего пользователя. Думаю можно и где нить в другом месте задать - чтобы для всех пользователей было так.
     
     
  • 4, Аноним (-), 00:11, 07/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > Думаю можно и где нить в другом месте задать - чтобы для всех пользователей было так.

    /usr/local/share/config/kdm/Xsession ?

     
  • 5, Vitold (?), 11:40, 15/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Я решил эту проблему просто добавим строку export LANG=ru_RU.KOI8-R в .cshrc (во
    >FreeBSD) для своего пользователя. Думаю можно и где нить в другом
    >месте задать - чтобы для всех пользователей было так.

    Добавил такую строчку в указанный файл, перезагрузил иксы, - те же яйца только в профиль! :-(
    Т.е. системное меню всё на русском (как в Консоли так и в самой КДЕ), но если пишешь по-русски - отображаются "вопросики", хоть ты тресни!
    Если можно, опишите подробнее, что ещё можно предпринять. Только пожалуйста не на "слэнге", а то эти понятные Вам (продвинутым юниксоидам) сокращения вводят меня (чайника) в глубокую непонятку...

    PS. В процессе поиска наткнулся на такую инфу:
    " ... в файле  ~/.kde/share/config/kdeglobals
    В секции [Globals] есть вот такая строка:
    menuFont=arial,12,5,22,50,0 (смотрел - действительно есть такая!)

       Первое число после имени шрифта - размер, третье - как раз кодировка.
      
       Путем несложных экспериментов можно выяснить, что 22 соответствует
       iso10646-1 (В данной версии KDE во всяком случае. По любому лучше
       посмотреть, какое число стоИт в этом месте у вас). ... "

    Может кто подскажет, КАКИМ именно образом можно вычислить, что должно быть прописано в данной строке в моём случае? ( У меня FreeBSD7, KDE 3.5)

    Заранее спасибо!


     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру