Українізація Slackware (і будь-якого іншого дистру)
(Adding Ukrainian support to Slackware)
Також ця стаття буде корисна при українізації всіх інших Linux-дистрибутивів, в яких немає інших засобів налаштування, оскільки використовуються універсальні підходи.
Взагалі Ви можете подібним шляхом налаштувати практично будь-який Лінукс (хоча деякі дистри містять власні конфігуратори, які, можливо, простіші для початківця, та можуть виконати налаштування при встановленні автоматично).
Автор (Андрій Головинський tikus at ukrpost.net) давно перестановлював систему, тож може якусь із проблем і забув. Хотілося б, щоб матеріал був повним, тож присилайте описи проблем.
Встановлення української локалі
Додаємо до /etc/profile таке
#my localization
export LC_ALL=uk_UA
export LANG=uk_UA.KOI8-U
export LESSCHARSET=koi8-r
export CHARSET=koi8-u
#end of my localization
Замість того щоб змінювати файл який відповідає за загальносистемні налаштування можна створити файл .profile в домашньому каталозі користувача і додати туди наступні рядки:
export LC_MESSAGES="en_US.utf8"
export LANG="uk_UA.utf8"
export LC_NUMERIC="uk_UA.utf8"
export LC_TIME="uk_UA.utf8"
export LC_MONETARY="uk_UA.utf8"
export LC_COLLATE="uk_UA.utf8"
export LC_PAPER="uk_UA.utf8"
export LC_NAME="uk_UA.utf8"
export LC_ADDRESS="uk_UA.utf8"
export LC_TELEPHONE="uk_UA.utf8"
export LC_MEASUREMENT="uk_UA.utf8"
В даному випадку інтерфейс X програм буде на англійській американській а все інше буде українським. Список доступних локалей можна проглянути виконавши команду locale -a.
Запис uk_UA.KOI8-U значить:
uk - мова повідомлень - українська. (Можете поставити ru,us, якщо хочете)
KOI8-U системне кодування.
Додаємо до /etc/rc.d/rc.font таке
setfont koi8u_8x16
for n in 1 2 3 4 5 6; do
echo -ne "\033(K" > /dev/tty$n
done
Додаємо до /etc/rc.d/rc.keymap таке
#!/bin/sh
# Load the keyboard map. More maps are in /usr/lib/kbd/keytables.
if [ -x /usr/bin/loadkeys ]; then
/usr/bin/loadkeys ru1.map
fi
Українські назви файлів
Має бути ввімкнена підтримка потрібних кодувань у ядрі (koi8-r,koi8-u,utf-8,cp866,etc) В Linux-розділах мають працювати відразу (якщо ні, дивіться розділ про шрифти), Ось /etc/fstab
root@mainframe:~# cat /etc/fstab
/dev/hda2 swap swap defaults 0 0
/dev/hda3 / reiserfs defaults 1 1
/dev/hda4 /mnt/dos vfat uid=tikus,umask=022,noexec,codepage=cp866,iocharset=koi8-u 1 0
/dev/hda1 /mnt/winnt ntfs uid=tikus,ro,noexec,iocharset=koi8-u 1 0
/dev/cdrom /mnt/teac iso9660 users,noauto,owner,ro,iocharset=koi8-u 0 0
#Skipped...
//tikus/huge /mnt/huge smbfs noauto,username=tikus,password="skipped",codepage=866,iocharset=koi8-u
192.168.0.2:/mnt/win_d/Unix_soft /mnt/stern_Unix_soft nfs ro,user,noauto 0 0
Відмітьте використання iocharset, codepage з різними файловими системами.
Більше ви можете дізнатись тут ?Кирилиця на розділах MS Windows.
Українські шрифти і X
В стандартних шрифтах, що йдуть в дистрибутиві, є проблеми із українськими літерами. Не всі збірки українських шрифтів працюють нормально. Пакет CYR-RFX виявився найбільш вдалим(шукайте в мережі). Інсталюємо його в /usr/X11/lib/fonts/cyrillic і додаємо в /etc/X11/xorg.conf
# Зауважте, кириличні шрифти стоять перед іншими
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
Потім додаємо TrueType шрифти
Скопіюйте з вашої ліцензійної версії Windows (або викачайте, наприклад тут) всі шрифти в /usr/X11R6/lib/X11/fonts/TTF/
Тепер іх треба підготувати до роботи. Цей скрипт, запущений всередині каталогу з шрифтами переведе імена їх файлів до нижнього регістру.
root@mainframe:/usr/X11/lib/fonts# cat to_lower_case.sh
#!/bin/sh
#
## -------- convert upper to lower case ---------
ls * | while read f
do
if [ -f $f ]; then
if [ "$f" != "`echo \"$f\" | tr A-Z a-z`" ]; then
#Note that 'This' will overwrite 'this'!
mv -iv "$f" "`echo \"$f\" | tr A-Z a-z`"
fi
fi
done
## eof
Далі робимо наступне:
#cd TTF
#mkfontscale
#mkfontdir
#reboot
Тепер xlsfonts має показати, що шрифтів побільшало.
Для кращого розуміння читайте XFree86 Font De-uglification HOWTO
Українська розкладка клавіатури в X
Просто додається наступним чином:
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us,ua,ru" #Це потрібний рядок
Option "XkbVariant" "winkeys"
Option "XkbOptions" "grp:toggle,lv3:menu_switch,grp_led:scroll"
Більше ви можете дізнатись тут ?Як перемикати клавіатурні розкладки під X-ами
Робота з українськими назвами файлів в програмах на GTK2
Такий рецепт допоможе.
root@mainframe:/usr/X11/lib/fonts/TTF# cat /etc/profile.d/gtk+.sh
#!/bin/sh
GDK_USE_XFT=1
export GDK_USE_XFT
G_BROKEN_FILENAMES=1
export G_BROKEN_FILENAMES
G_FILENAME_ENCODING=KOI8-U #@local
Завваги:
- При оновленні Slackware ці чари зникнуть
- Деякі GTK2 програми просто не розуміють необхідності перекодування, тоді слід писати звіт про помилку її авторам.
Назви пісень у mp3 в xmms
Є патч до xmms, який автоматично розпізнає кодування. Російського автора, називається, rusxmms
Експорт кирилиці в Samba
root@mainframe:/Ahrives_Unstable/Slackware/packages# cat /etc/samba/smb.conf
[global]
#...Skipped....
dos charset = 866
unix charset = KOI8-U
display charset = KOI8-U
#................