Перейти к содержанию

Русификация Slackware 12

Материал из Викиучебника — открытых книг для открытого мира
Slackware 12.0

Slackware 12 (Slamd64 12), русский, UTF8

[править]

Установка

[править]

Для начала нужно систему поставить. Ничего сложного в этом нет. Заходим под root-ом, используем fdisk или cfdisk для создания разделов.

Затем запускаем setup и, начиная со swap, честно отвечаем на вопросы. Для выбора пакетов удобнее всего режим menu, lilo проще настраивается, если выбрать метод simple. При выборе пакетов важно не забыть:

  • l/glibc-i18n (содержит locale)
  • x/x11-fonts-cyrillic (русские шрифты для старых toolkitов, не использующих freetype2, например, gtk1)
  • x/dejavu-ttf или x/x11-fonts-scalable (русские ttf-шрифты, dejavu — более новый и удачный вариант)

Если используется kde:

  • kdei/kde-i18n-ru (русский перевод kde)
  • kdei/koffice-i18n-ru (русский перевод koffice)

Поставить нужные пакеты из extra/ и при желании обновиться из testing/

  • extra/aspell-word-lists/aspell-ru — русский словарь для aspell

Стандартный набор ttf-шрифтов от Microsoft

[править]

Ставить нужно сначала cabextract, потом webfonts. Если кого-то смущает слово microsoft, можно не смущаться, это шрифты Agfa Monotype, просто одна малоизвестная софтверная контора купила на них лицензию и выложила их в сети на наиболее либеральных из всех купивших условиях. Другой вариант этих шрифтов можно поискать в дистрибутивах SUSE/Novell.

Поддержка UTF-8

[править]

Для поддержки UTF8 понадобятся следующие вещи:

Русский в консоли

[править]

Русский шрифт в /etc/rc.d/rc.font

#!/bin/sh
#
# This selects your default screen font from among the ones in
# /usr/share/kbd/consolefonts.
#
unicode_start LatArCyrHeb-16
for i in 1 2 3 4 5 6;do
 echo -ne "\033%G" >/dev/tty$i
done

Примечание: если вам не понравился шрифт, который стоял изначально, вместо LatArCyrHeb-16 пропишите cyr-sun16

Раскладка клавиатуры в /etc/rc.d/rc.keymap

#!/bin/sh
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.
if [ -x /usr/bin/loadkeys ]; then
 /usr/bin/loadkeys /usr/share/kbd/keymaps/i386/qwerty/ru-utf.map.gz
fi

Переключение раскладки по правым Ctrl-Alt.

Локаль в /etc/profile.d/lang.sh

#!/bin/sh
# Set the system locale.  (no, we don't have a menu for this ;-)
# For a list of locales which are supported by this machine, type:
#   locale -a

# en_US is the Slackware default locale:
#export LANG=en_US
export LANG=ru_RU.UTF-8

# 'C' is the old Slackware (and UNIX) default, which is 127-bit
# ASCII with a charmap setting of ANSI_X3.4-1968.  These days,
# it's better to use en_US or another modern $LANG setting to
# support extended character sets.
#export LANG=C

# There is also support for UTF-8 locales, but be aware that
# some programs are not yet able to handle UTF-8 and will fail to
# run properly.  In those cases, you can set LANG=C before
# starting them.  Still, I'd avoid UTF unless you actually need it.
#export LANG=en_US.UTF-8

# Another option for en_US:
#export LANG=en_US.ISO8859-1

# One side effect of the newer locales is that the sort order
# is no longer according to ASCII values, so the sort order will
# change in many places.  Since this isn't usually expected and
# can break scripts, we'll stick with traditional ASCII sorting.
# If you'd prefer the sort algorithm that goes with your $LANG
# setting, comment this out.
export LC_COLLATE=C

# End of /etc/profile.d/lang.sh


и /etc/profile.d/lang.csh

#!/bin/csh
# Set the system locale.  (no, we don't have a menu for this ;-)
# For a list of locales which are supported by this machine, type:
#   locale -a

# en_US is the Slackware default locale:
##setenv LANG en_US
setenv LANG ru_RU.UTF-8

# 'C' is the old Slackware (and UNIX) default, which is 127-bit
# ASCII with a charmap setting of ANSI_X3.4-1968.  These days,
# it's better to use en_US or another modern $LANG setting to
# support extended character sets.
#setenv LANG C

# There is also support for UTF-8 locales, but be aware that
# some programs are not yet able to handle UTF-8 and will fail to
# run properly.  In those cases, you can set LANG=C before
# starting them.  Still, I'd avoid UTF unless you actually need it.
#setenv LANG en_US.UTF-8
# Another option for en_US:
#setenv LANG en_US.ISO8859-1

# One side effect of the newer locales is that the sort order
# is no longer according to ASCII values, so the sort order will
# change in many places.  Since this isn't usually expected and
# can break scripts, we'll stick with traditional ASCII sorting.
# If you'd prefer the sort algorithm that goes with your $LANG
# setting, comment this out.
setenv LC_COLLATE C

# End of /etc/profile.d/lang.csh

Не забудьте убедиться в том, что на файлы rc.font, rc.keymap, lang.sh, lang.csh установлен атрибут "executable"!

Для поддержки 3D на новых видеокартах от ati и nvidia надо поставить бинарные драйвера:

[править]

Ati radeon <=9250 поддерживаются только свободными драйверами, ничего ставить не нужно

Ati r300 (от 9500 до X600) поддерживаются как свободными драйверами, так и бинарными фирменными.

Для свободных драйверов начиная с 12.0 ничего ставить не нужно (можно обновить mesa до последней версии скачав исходники и поменяв цифру в Slackbuild-е из sources если есть какие-то проблемы с 3D-приложениями).


Ati и бинарные фирменные драйвера: В случае использования несвободных драйверов ati надо сначала настроить X, а потом ставить драйвер. Поскольку для работы драйвера надо shared memory support, то в /etc/fstab надо дописать строчку:

tmpfs /dev/shm tmpfs defaults 0 0

Скачать с сайта ati ati-driver-installer и запустить его. Затем сначала испортить /etc/X11/xorg.conf с помощью aticonfig и потом восстанавить то, что это кривое чудо испортило, обратно, оставив только Section «Device»

Nvidia и старые карты (не FX и не Mx400/MX440) — скачивается установщик версии 7174 или 7182: ftp://download.nvidia.com/XFree86/Linux-x86/1.0-7182/NVIDIA-Linux-x86-1.0-7182-pkg1.run

Nvidia и новые карты: скачивается и ставится последняя версия установщика

Настройка X-ов

[править]

Сохранив прежний файл настроек X-ов cp /etc/X11/xorg.conf /etc/X11/xorg.conf.old, можно создать новый c помощью xorgsetup. Для стандартной русско-английской раскладки с переключением по ctrl-shift надо выбрать раскладки us, none, ru, winkeys и Options grp: ctrl_shift_toggle и grp_led: scroll Затем в него надо внести следующие изменения:

Добавить русские шрифты из x11-fonts-cyrillic:

FontPath     "/usr/X11R6/lib/X11/fonts/cyrillic/"

после

FontPath     "/usr/X11R6/lib/X11/fonts/misc/"

Также можно заменить

Option "XkbLayout" "us,ru(winkeys)"

на

Option       "XkbLayout"  "us,ru"
Option       "XkbVariant"  "winkeys"

(Этот вариант в дальнейшем станет основным, нужен для gnome 2.16, Xorg >= 7.1)

Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll" 

переключение по alt+shift, при русской раскладке горит лампочка scroll lock

Разрешить использовать 3D ускорение всем:

Section "DRI"
Mode 0666
EndSection

если надо ограничить использование 3D ускорения только одной группой (users), то:

Section "DRI"
Group "users"
Mode 0660
EndSection

Настройка звука

[править]

Далее необходимо настроить звук:

alsaconf
alsamixer
alsactl store

Для совсем старых звуковых карт на шине ISA может понадобиться раскомментировать загрузку соответствующих модулей ядра в /etc/rc.d/rc.modules-###

Если любимый музыкальный плеер не хочет играть mp3 с русскими тегами, то надо пересобрать taglib, добавив к нему патч с http://rusxmms.sf.net/

Настройка /etc/fstab для поддержки русских имен на дисках с FAT, NTFS и сменных носителях

[править]
/dev/hda5    /mnt/dosc   vfat showexec,noexec,nosuid,nodev,umask=000,utf8,codepage=866 0 0

CDROM/DVD:

/dev/cdrom      /mnt/cdrom  iso9660 user,noauto,nosuid,noexec,nodev,ro,utf8 0   0

floppy:

/dev/fd0        /mnt/floppy vfat showexec,user,noauto,sync,noexec,nosuid,nodev,umask=000,utf8,codepage=866 0 0

usb flash:

/dev/sda1       /mnt/memory  vfat showexec,noexec,nosuid,nodev,noauto,user,umask=000,utf8,codepage=866 0 0
/dev/sdb1       /mnt/memory  vfat showexec,noexec,nosuid,nodev,noauto,user,umask=000,utf8,codepage=866 0 0

Смысл каждой опции можно узнать из man mount

определить какие накопительные запоминающие устройства есть в системе можно коммандой cfdisk -l

Если вы используете драйвер NTFS-3G для монтирования NTFS-разделов в режиме чтения и записи (он используется Slackware 12.1 и Slamd64 12.1 по умолчанию), используйте следующий вид /etc/fstab (взято из OpenSUSE 11.0, проверено на Slackware 12.1 и Slamd64 12.1):

/dev/sda1        /mnt/winsys      ntfs-3g     umask=000,locale=ru_RU.UTF-8        1   0

Настройка принтера

[править]

Необходимо зайти по адресу http://127.0.0.1:631 и настроить свой принтер. Если принтеру требуются какие-либо драйвера, то узнать об этом можно на http://www.linuxprinting.org. Для HP нужен пакет hplip. Младшие модели лазерных принтеров от HP (от 1000 до 1018) требуют, кроме того, установку драйвера foo2zjs. Если драйверу принтера для работы нужен foomatic, то он входит в пакет hplip (в -current уже идёт отдельным пакетом).

Настройка firewall

[править]

весьма желательно сразу создать rc.firewall, пример простых правил для домашней машины (всех выпускать, никого не впускать) можно взять тут: http://rlworkman.net/conf/firewall/rc.firewall.desktop.generic

Настройка TeX

[править]

Наименьшая — запустить texconfig и выбрать PAPER->A4. Для полноценной поддержки лучше поставить TeXlive

Дополнительные программы

[править]

или http://dropline.net/gnome. Dropline подменяет собой многие дистрибутивные пакеты.

Для корректного вывода страниц на русском языке, а также правильного отображения диагностических сообщений man необходимо скачать исходники программы man — http://primates.ximian.com/~flucifredi/man/man-1.6f.tar.gz, а затем выполнить следующие команды:

tar xzf man-1.6f.tar.gz
cd man-1.6f
iconv -f koi8-r -t utf-8 msgs/mess.ru > /tmp/mess.ru
mv /tmp/mess.ru ./msgs/
echo "$ codeset=UTF-8" > msgs/mess.ru.codeset
./configure +lang en,ru -confdir /usr/lib +fhs --prefix=/usr
make
su -c 'make install'
cd ..
rm -Rf man-1.6f

И, напоследок, в /usr/lib/man.conf заменить строку

NROFF /usr/bin/nroff -Tlatin1 -mandoc

на

NROFF iconv -f utf8 -t koi8r | /usr/bin/nroff -Tlatin1 -mandoc -c | iconv -f koi8r -t utf8

Прочее

[править]

Для того, чтобы компьютер выключался кнопкой power надо написать в /etc/rc.d/rc.modules

/sbin/modprobe button

Чтобы сконвертировать русские имена файлов на linuxовых файловых системах, созданных в другой локали (koi8r) можно воспользоваться программой convmv.


Copyleft (l) Daniil Bratashov dn2010[at]km[dot]ru dn2010[at]gmail[dot]com Special Thanks to Dolphin, Shturman, Dmitry Myazin and many others @LOR Текст может свободно распространяться с сохранением авторства. Данная версия является промежуточной и будет изменяться в дальнейшем.

Разрешаю использовать этот файл на основе лизензии GFDL Даниил Браташов.