Решение для XKB и глупых программ в бинарниках (rus X locale module)
Ключевые слова: rus, X, locale, module, (найти похожие документы)
_ RU.LINUX (2:5077/15.22) __________________________________________ RU.LINUX _
From : Ivan Pascal 2:5020/400 24 Jan 28 13:17:56
Subj : Решение для XKB и глупых программ в бинарниках
_______________________________________________________________________________
From: Ivan Pascal <pascal@tsu.ru>
Alexander Pevzner wrote:
> AK> Кстати, а нельзя ли пропихнуть в glibc "принудительную" установку
> AK> локали? А чтобы сохранить POSIX-совместимость (и чтобы Корчмарь не
> AK> ругался :), сделать эту фичу включаемой в run-time, скажем, еще через
> AK> одну переменную среды.
>
> Кто-то мне говорил, что у динамическая библиотека может иметь функцию,
> которая автоматически будет вызвана при загрузке библиотеки. Если
> это правда, то надо сделать .so-шничек, который из этой функции будет
> звать setlocale(), и грузить его LD_PRELOAD'ом.
>
Hу дык...
Вот что у меня в архивах имеется.
Обратите внимание на дату.
-----------------------------------
From: Yuriy Kaminskiy <Yuriy.Kaminskiy@p21.f517.n5020.z2.fidonet.org>
Date: Sun, 27 Sep 98 00:03:28 +0400
Subject: Решение для XKB и глупых программ в бинарниках :)
Hello All!
Поскольку мне было сильно влом перекомпилировать tk я написал такой
вот
простой модуль Ж). Возможно, он может помочь и WABI.
Данный метод должен помочь всем программам, использующим XLookupString
для
преобразования keyboard events в символы [xdos, tcl/tk, acrobat reader,
...;
btw, xemacs и xfte к таковым не относятся :(].
===begin x_setlocale.c===
/* (c) Yuriy Kaminskiy, 1998 :) */
#define X_LOCALE /* it may be not needed on some libc/Xlib ? */
#include <X11/Xlib.h>
#include <X11/Xlocale.h>
static void init_x_locale() __attribute__((constructor));
static void init_x_locale() {
setlocale(LC_CTYPE,"");
XSetLocaleModifiers("");
}
=== end x_setlocale.c===
Использование:
===begin x_setlocale.sh===
#!/bin/sh
export LD_PRELOAD=/usr/local/lib/x_setlocale.so
exec $@
=== end x_setlocale.sh===
--
Yuriy Kaminskiy.
--------------------
--
-----
Ivan Pascal | pascal@tsu.ru
Administrator of | Tomsk State University.
university network | Tomsk. Russia.
--- ifmail v.2.15dev4
* Origin: Tomsk State University (2:5020/400)
598 Прочтений • [Решение для XKB и глупых программ в бинарниках (rus X locale module)] [08.05.2012] [Комментариев: 0]