On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru


доставка роллов





 

Полезные мелочи Линукса

Папа-линуксоид и сын пошли в зоопарк. Проходя мимо клеток с пингвинами, сын радостно прыгает и кричит: "Папа, смотри - ЛИНУКСЫ!"

Сегодня я хочу поделиться маленькими хитростями, которые облегчают жизнь линуксоиду.
1. Всем людям, кто хоть раз использовал Linux, известно, что при работе с FAT32 из-под Linux русские имена файлов ну просто нечитаемы, да еще и все файлы имеют атрибут "запускаемый". Все это очень просто можно убрать - достаточно подредактировать файлик /etc/fstab:
/dev/hda1/mnt/win vfat noexec,rw,vmask002,codepage=866,iocharset=koi8-r,gid=100 0 0
Здесь:
"/dev/hda1" - расположение виндового раздела у вас на винте (в данном случае это первый primary раздел на первом винчестере);
"/mnt/win" - директория, к которой подключается виндовый раздел;
"vfat" - сигнатура, обозначающая использование FAT/FAT32;
"rw" - подключаем как read/write;
"codepade=866" - используем "родную" для FAT32 кодовую страницу;
"iocharset=koi8-r" - а для отображения на экране - koi8-r.
Все остальные параметры я расшифровывать не буду, но они требуются для этой фичи.

2. Как всем известно (или не известно), в Linux постоянно ведутся логи всех событий. Обычно они располагаются в /var/log. Но после недель работы вдруг обнаруживаешь, что места на винте стало как-то меньше, хотя вроде бы ничего нового не ставил =8-X. Оказывается, что Linux не очищает логи автоматически, а оставляет эту работу на могучие плечи пользователя. Следующий маленький скриптик очищает файлы в указанном в командной строке каталоге файлы до нулевой длины. Задание каталога в командной строке является небольшой универсализацией - а вдруг у вас несколько каталогов, которые необходимо очищать. Итак, создаем файлик с именем "clrlog" (без кавычек, ессно) и пишем в него следующее:

#!/bin/bash

if [ $1!="" ]
then
for i in $1/*
do
if [ -f $i ]
then
echo -n > $i
fi
done
fi

После чего записываем его в каталог /bin. Для запуска можно написать еще один скриптик, к примеру "Kill_Log", который тоже помещаем в /bin. В него пишем строки типа:

./clrlog /var/log
./clrlog <любой_другой_очищаемый_каталог>

и т.д.

3. После установки какого-либо дистрибутива Linux (к примеру, RedHat 7.0, Mandrake 7.1), в графической системе X-Window нет возможности переключиться на русскую раскладку клавиатуры либо она повешена на клавишу типа CapsLock, а если вам не нравится ваша раскладка - это не всем приятно. Недавно на сайте IPLabs Linux Team я прочитал решение этой проблемы и хочу его, так сказать, рассказать;-P. Исправляется все это дело в файлике /etc/XF86Config (или /etc/X11/XF86Config). Он содержит инфу о настройках X-Window системы и создается любым конфигуратором X: Xconfigurator, XF86Setup, SaX, xf86config (XF86Setup и SaX спросят вас о типе клавиатуры - выберите русскую). Там же надо добавить пути к русским KOI8-шрифтам в секцию Files, если это необходимо. Далее смотрим содержимое секции Keyboard, точнее говоря - на переменные, начинающиеся с Xkb. Переменной XkbDisable не должно быть в Файле, либо вы ее аккуратно закомментариваете, ставя в начале строки с переменной символ #. Должна присутствовать переменная XkbModel. Значение переменной XkbLayout устанавливаем в "ru":

XkbLayout "ru"

Строку с переменной XkbOptions пока закомментарим. Далее убеждаемся, что в вашем домашнем каталоге нет файла.Xmodmap. А также проверим, что при запуске X не начнут автоматически выполняться программы типа xruskb и kikbd. Настройка, точнее ее основная часть, закончена. Запустите xterm в X и убедитесь, что нажатие на CapsLock и удержание правой клавиши Alt переключает группы Рус/Lat.
Но, скорее всего, вас не удовлетворит текущая раскладка клавиатуры - цифры в верхнем ряду набираются при нажатом Shift. Если это действительно так, то тогда делаем следующее: помещаем в каталог /usr/X11R6/lib/X11/xkb/symbols раскладку ru1 для обычной клавиатуры и rums - для клавиатуры с клавишами MS, а затем исправляем строчку XkbLayout в XF86Config, указав вместо ru - ru1 или ru-ms. Если же и эти раскладки вас не устраивают, поправьте файлы раскладок, с их синтаксисом разобраться совсем несложно.
Если вы не удовлетворены клавишей CapsLock в качестве переключателя раскладок, то следует изменить строчку XkbLayout, добавив после названия раскладки слово basic в скобках, например:

XkbLayout "ru-ms(basic)"

и определить переменную XkbOptions. Она может принимать следующие значения (все они описаны в файле /usr/X11R6/lib/X11/xkb/symbols/rules/xfree86.lst):

grp:toggle - переключение правым Alt,
grp:shift_toggle - двумя клавишами shift,
grp:ctrl_shift_toggle - ctrl+shift,
grp:ctrl_alt_toggle - ctrl+alt.

Например, строка

XkbOptions "grp:shift_toggle"

задает переключение Рус/Lat двумя клавишами shift. Наконец, если вам очень уж хочется, чтобы при переключении раскладок загоралась лампочка ScrollLock, то можно сделать и это (главное - захотеть;-). Посмотрим в каталог /usr/X11R6/lib/X11/xkb/compat. Там должен быть файлик group_led. Затем загружаем в любой редактор файл /usr/X11R6/lib/X11/xkb/ rules/xfree86 и находим в нем первое вхождение слова complete, оно должно быть под словом compat. Заменяем это вхождение complete на group_led и сохраняем измененный файл. При очередном запуске X лампочка ScrollLock будет сигнализировать о переключении алфавитов.

4. Один из способов, как увеличить свободное место на винчестере, - это использование утилиты Strip. Да-да, именно ее. Как известно, при компиляции программы в Linux в выходной файл записывается так называемый debug-info, чтобы в случае сбоя этой программы можно было посмотреть, где был сбой. Но для "рядового" пользователя Linux это незачем. Тогда делаем так:

strip -s *

И из всех запускаемых файлов и библиотек в текущей директории будет удалена debug-info. На практике, 800-меговый Linux удалось укоротить почти на 150 Mb. Кому как, а для нескольких (десятков) mp3 как раз хватит.



Литература по Linux