Итак..
Русификация консоли
Ниже листинг конфигов. Прведите свои в такой же вид для русификации
консоли.
Для всех файлов должен быть выставлен аттрибут на выполнение!
/etc/rc.d/rc.font
Код: Выделить всё
#!/bin/sh
#
setfont -v Cyr_a8x16.psfu.gz
#устанавливает шрифт(выберите подходящий вам)
mapscrn /usr/share/kbd/consoletrans/koi2alt
#устанавливает таблицу перекодировки
for i in 1 2 3 4 5 6; do
#применяет для консолей с 1 по 6
echo -ne "\033(K" >/dev/tty$i
done
Код: Выделить всё
#!/bin/sh
if [ -x /usr/bin/loadkeys ]; then
#если есть утилита loadkeys,
/usr/bin/loadkeys ru4.map
#загрузить русскую раскладку
fi
Код: Выделить всё
export LANG=ru_RU.KOI8-R
#собственно задает кодировку
Здесь алиасы для цветного листинга и удобства работы в консоли:
~/.bash_profile
Код: Выделить всё
alias ls='ls --color'
alias dir='ls -ls'
alias ..='cd ..'
alias ...='cd ../..'
alias df='df -h'
Я не стал.
Иксы
После установки локали для русификации иксов требуется лишь чуть
подправить конфиг для нормального переключания раскладок:
Часть /etc/X11/xorg.conf, секция клавиатуры
Код: Выделить всё
# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************
Section "InputDevice"
Identifier "Keyboard1"
Driver "kbd"
Option "AutoRepeat" "500 30"
Option "XkbRules" "xorg"
Option "XkbModel" "pc101"
Option "XkbLayout" "us,ru(winkeys)"
#устанавливает основную раскладку us и дополнительную ru(winkeys).
Option "XkbOptions" "grp:lwin_switch,grp:ctrl_shift_toggle" #переключение между раскладками по ctrl+shift а так же во время
удерживания клавиши Win, раскладка временно меняется на противоположную.
Также у меня при включенной консольной мыши, gpm конфликтовал с
иксовой мышой. Решение оказалось рядом - в /etc/rc.d/rc.gpm в конце приписка,
прочитав которую, делаем следущее:
а) Заменяем в /etc/rc.d/rc.gpm каждую строку запуска gpm на
/usr/sbin/gpm -R msc -m /dev/mouse -t ps2
#тип мышки и ее файл устройства ставьте свой.
б) В /etc/X11/xorg.conf, в секции про мышу, меняем протокол и файл устройства:
Код: Выделить всё
# **********************************************************************
Core Pointer's InputDevice section
# **********************************************************************
Section "InputDevice"
Option "Protocol" "MouseSystems" # Auto detect
Option "Device" "/dev/gpmdata"
А если конфликтов меж gpm и иксами не вдно - то лучше вообще ничего
не трогать
Шрифты
После установки сразу бросились в глаза ужасные шрифты в иксах.
Заменяем их на приличные шрифты, выдранные из винды:
Некоторые дистрибутивы, такие как SuSE, имеют небольшие скрипты
для загрузки пакета Windows Core Font. Если Вы владелец CD с Windows,
на нем есть программы позволяющие извлечь файлы шрифтов из архивов .cab.
Если Вы используете двойную загрузку как я, примонтируйте раздел с Windows
и скопируйте папку со шрифтами в Вашу домашнюю директорию. Это
необязательно, но необходимо, если Вы планируете удалить раздел с Windows.
Теперь мы должны добавить шрифты TrueType в Linux. Обычно в Linux шрифты
располагаются в /usr/X11R6/lib/X11/fonts. Быстрый взгляд на /etc/X11/xorg.conf
сообщит Вам следующее:
Код: Выделить всё
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/TTF"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/opt/kde/share/fonts"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/local/share/fonts"
FontPath "/usr/X11R6/lib/X11/fonts"
FontPath "/usr/local/share/fonts/TTF" #<-- строка создана менеджером шрифтов KDE
FontPath "/usr/share/fonts"
FontPath "/usr/share/fonts/default"
находиться в каталоге fonts или создайте сами каталог TTF. Вы можете также
добавить каталог ~/fonts, если не хотите, чтобы шрифты распространялись на
всю систему, но я обычно устанавливаю их для всей системы. Если Вы не
создавали новый каталог для шрифтов, убедитесь, что добавили строку
FontPath, чтобы указать, где X могут их найти.
Простейший путь установить новые шрифты - использовать менеджер
шрифтов KDE в Центре управления в разделе "Системные установки".
Перейдите в администраторский режим (для установки шрифтов для всей
системы) и щелкните на директорию TTF в дереве каталогов. Щелкните
"Добавить шрифты" в панели инструментов. Укажите на каталог со шрифтами
Windows и выберите все шрифты, которые желаете добавить: Arial, Comic Sans
MS, Courier New, Tahoma, Times New Roman и Verdana как минимум. Конечно, Вы
можете добавить, все, которые хотите. Если Вы используете этот путь,
шрифты будут установлены в каталог /usr/local/share/fonts/TTF и путь к нему
будет создан в xorg.conf как в листинге выше. Мы сделали это в первую
очередь, так как перекомпиляция freetype2 может нарушить работу мереджера
шрифтов KDE - это все всемя случалось у меня в KDE 3.2.x.
Во время правки xorg.conf убедитесь, что 100dpi-шрифты находятся выше 75dpi-шрифтов.
2. DPI - точек на дюйм
Window использует по умолчанию 96 dpi. Linux - 75 или 81. Вот почему шрифты в
Linux всегда такие маленькие по сравнению с теми же самыми шрифтами в
Windows при одинаковом размере экрана и шрифтов. В зависимости от Вашей
ситуации мы должны сделать следующие шаги, чтобы заставить Linux
работать при 96 dpi.
a) Если Вы сначала загружаетесь в консоль (runlevel 3) и используете startx для
запуска Х-ов, отредактируйте скрипт /usr/X11/bin/startx. В зависимости от
дистрибутива, это может быть символьная ссылка.
Код: Выделить всё
defaultserverargs="-dpi 96"
раз, как Вы запускаете startx, Вы будете загружаться с разрешением 96x96 dpi.
б) Если Вы автоматически стартуете X-Window через KDM или GDM, Вам нужно
отредактировать xorg.conf or XF86Config. Это немного посложнее. Мы должны
использовать переменную DisplaySize и она будет разная для каждого размера
экрана. Я использую 1280x1024:
Код: Выделить всё
# **********************************************************************
# Monitor section
# **********************************************************************
Section "Monitor"
Identifier "My Monitor"
HorizSync 31 - 86
VertRefresh 50-180
Option "dpms"
DisplaySize 337.5 270.0 #<--- обратите внимание
EndSection
96x96 dpi при размере экрана 1280x1024. Переменная
задается
DisplaySize X Y
где
X = ширина_экрана_в_пикселях * 25.4 / желаемый_dpi
Y = высота_экрана_в_пикселях * 25.4 / желаемый_dpi
в) Если Вы используете Gnome, то даже если мы выполнили предыдущие шаги,
этого недостаточно. Идем в Gnome/Desktop Prefs/Fonts/Details и изменяем
опцию DPI вверху страницы на 96. Если даже Вы не используете Gnome, но
применяете демон gnome-setting для переноса оформления из Gnome в KDE, или
просто используете приложения из Gnome, такие, как evolution, Вам необходимо
выполнить это действие, т.к. они могут привнести настройки dpi в KDE и
сделать отображение шрифтов неустойчивым.
ОК, мы имеем TrueType шрифты и (или) dpi установлено на 96x96. Теперь нам нужно
3. Перекомпилировать Freetype2 для задействования интерпретатора байт-кодов
Загрузите исходные тексты с http://www.freetype.org/.
Это TRUETYPE readme из пакета исходников freetype2:
Код: Выделить всё
How to enable the TrueType native hinter if you need it
--------------------------------------------------------
Бла-бла-бла, тут неинтересно (прим. переводчика)
--------------------------------------------------------
- откройте файл "include/freetype/config/ftoption.h"
- найдите строку:
#undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
- замените на:
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
Прежде чем компилировать и устанавливать вероятно Вы захотите удалить
ранее установленный пакет. Я видел, это советуют в других документах, но я не
вижу в этом особой необходимости. Библиотека freetype в Slackware находится
в составе пакетов X-Window и не может быть удалена одна.
Убедитесь, что новые пакеты с исходными текстами установлены, так что Вы
можете начать компиляцию.
Итак, начнем...
Код: Выделить всё
./configure
Код: Выделить всё
make
yada yada" можете игнорировать.
Зарегистрируйтесь root'ом:
Код: Выделить всё
su -
make install
Будучи root'ом запустите
Код: Выделить всё
ldconfig
оставьте сглаживание шрифтов, но исключите диапазон от 0.0pt до 14.0 или
15.0pt. Замените все шрифты на Arial или Verdana размером 9 или 10 pt и
перезапустите X-Window.
Вы должны увидеть огромную разницу, как шрифты отрисовываются без
сглаживания (при этом размере).
Шаг 3: Приложения GTK2 (Gimp Tool Kit) в KDE
Приложения типа Mozilla, Gnumeric, Gaim, Abiword, Blufish, Pan являются
приложениями GTK2. При использовании их в KDE они не будут следовать
установкам шрифтов и размеров, которые Вы установили, пока Вы не
создадите скрытый файл в Вашей домашней директории.
Создайте текстовый файл, назовите его .gtkrc-2.0 и добавьте в него
следующую строку:
Код: Выделить всё
gtk-font-name = "Verdana 9"
Если вы используете KDM, то можно задать плотность пикселей и не
высчитывая вручную геометрию экрана. Для этого редактируем файл kdmrc (в
Gentoo он находится в /usr/kde/3.5/share/config/kdm/, в вашем дистрибутиве
смотрите размещение KDE). Находим следующую секцию:
Код: Выделить всё
[X-:*-Core]
AllowNullPasswd=true
AllowShutdown=All
NoPassEnable=false
NoPassUsers=
ServerArgsLocal=-nolisten tcp -dpi 96 #<-- обратите внимание.
ServerCmd=/usr/bin/X -br
Чтобы после установки из исходников можно было легко удалять и
конфигурировать программу, непосредственно после конфигурирования и
компиляции, перед установкой создаем пакет .tgz с бинарями. Для чего
собственно нужна утилита slacktrack.
После её установки (скачал с оффсайта), процесс установки из исходников
выглядит примерно так:
Код: Выделить всё
./configure ..различные опции
make
slacktrack -r -p имя_будущего_пакета make install
получаем готовый .tgz-пакет, которым уже рулим с помощью pkgtool.
Автологин
Так как кроме меня компьютер никем не используется, а каждый раз логиниться
на 4-6 консолях задалбывает, сделал автологин - после загрузки сразу входит в
баш под юзером на 4 консолях. Внимание. Не рекомендуется параноикам,
так как это серьезная уязвимость в безопасности
Итак.
Убираем из /etc/passwd пароль на пользователя (второе поле в записи).
Код: Выделить всё
user::1001:100:,,,:/home/user:/bin/bash
Код: Выделить всё
int main() {
execlp( "login", "login", "-f", "user", 0);
}
Компилируем это дело
Код: Выделить всё
gcc -o autologinuser autologinuser.c
Код: Выделить всё
install -m 744 autologinuser /sbin
Код: Выделить всё
c1:1235:respawn:/sbin/agetty -n -l /sbin/autologinuser 38400 tty1 linux
c2:1235:respawn:/sbin/agetty -n -l /sbin/autologinuser 38400 tty2 linux
c3:1235:respawn:/sbin/agetty -n -l /sbin/autologinuser 38400 tty3 linux
c4:1235:respawn:/sbin/agetty -n -l /sbin/autologinuser 38400 tty4 linux
/etc/syslog.conf
Код: Выделить всё
#Выводим syslog на консоль
*.=info;*.=notice /usr/adm/messages
*.=info;*.=notice /dev/tty8
#Выводим maillog в отдельный файл
mail.=info /usr/adm/maillog
touch /var/adm/maillog
На сегодня всё.