4.3.1. Общее описание и методика работы
Что за зверь эта GNOMEСреда GNOME (GNU Network Object Model Environment — Сетевая Объектная Среда GNU) — один из основных конкурентов среде KDE. Среда GNOME (
www.gnome.org
) является частью проекта GNU (www.gnu.org
), начатого в 1984 году и ставящего своей целью создание полноценной UNIX-подобной системы, целиком состоящей из свободно распространяемого кода.GNOME — дружественная рабочая среда, значительно облегчающая использование компьютера. Среда GNOME включает в себя рабочий стол, панель для запуска программ и показа информации о состоянии системы, а также набор всевозможных приложений, которые тесно взаимодействуют друг с другом. GNOME, как и KDE, является полностью открытой разработкой: каждый может выкачать исходные тексты среды и использовать их. Благодаря этому в процессе разработки GNOME участвовали и участвуют сотни программистов со всего мира.
В среде GNOME настраивается практически все: один раз настроив сеанс по своему вкусу, вам больше не нужно будет повторять его настройку, потому что менеджер сеансов позаботится о сохранении настроек. Как и в KDE, в GNOME поддерживается метод drag-and-drop.
На данный момент в составе большинства дистрибутивов Linux поставляется версия GNOME 2.6, но она уже считается устаревшей, поскольку относительно недавно вышла версия GNOME 2.10. Справедливости ради нужно отметить, что некоторые дистрибутивы (например, Fedora Core 3) содержат версию GNOME 2.8, которая не сильно отличается от версии 2.10.
Основные элементы среды — это рабочий стол, панель GNOME и панель задач. На панели GNOME (узкая полоска вверху экрана) расположены кнопки главного меню Приложения (выбор приложения) и Команды (различные команды, например, Выполнить или Завершить сеанс), а также апплеты. Все остальное пространство называется рабочим столом (см. рис. 4.3). Нижняя полоска внизу экрана — это панель задач. Ее можно временно убрать с экрана, щелкнув по стрелке в углу. Апплеты — небольшие программы, которые работают внутри панели и запускаются щелчком мыши по значку на панели. Сразу после установки вы можете увидеть там, например, календарь.
Рис. 4.3. Рабочий стол GNOME
Один из базовых принципов GNOME 2 состоит в том, чтобы упрощать все, что только можно: элементов управления под рукой у пользователя должно быть как можно меньше. Девизом GNOME 2 стала фраза «just works» — «работает, и все», без дополнительных настроек.
Так, монтирование съемных носителей выполняется автоматически: вставьте компакт-диск или flash-накопитель, и на рабочем столе сразу же появится соответствующий значок. Размонтируйте носитель командой Отсоединить (Eject) из контекстного меню этого значка. Следует отметить также, что GNOME распознает тип съемного носителя и в зависимости от типа запускает то или иное приложение. Например, когда вы вставите DVD-диск, будет запущен DVD-проигрыватель.
Файловый менеджер NautilusНачиная с версии 1.4, в пакет GNOME входит файловый менеджер Nautilus, в дальнейших версиях ставший файловым менеджером по умолчанию. Это разработка компании Eazel, собравшей у себя ветеранов Apple — создателей интерфейса Macintosh, до сих пор никем не превзойденного по простоте и удобству. В нем нет ничего лишнего: ни панели инструментов, ни адресной строки — только окно с файлами и каталогами.
Рис. 4.4. Файловый менеджер Nautilus
Каждый каталог открывается в новом окне, а размер, положение окна и представление файлов (значками или списком) привязаны к этому каталогу: в следующем сеансе окно этого каталога откроется в том же месте рабочего стола. Такой интерфейс называется пространственно ориентированным. Идея состоит в том, что на настоящем рабочем столе бумажные папки не замещают друг друга, а всегда лежат там, куда вы их последний раз переложили. Считается, что так новичку легче применить навыки, приобретенные в реальном мире. Если же вы не новичок, и привыкли к нормальному интерфейсу браузера, то пользуйтесь правой кнопкой мыши или смените настройки через конфигурационный файл в
~/.gconf/apps/nautilus/preferences
.Кнопка «Назад», привычная по Проводнику Windows, выглядит как галочка в левом углу строки состояния. В диалоге открытия файла отсутствует строка ввода имени, но ее можно вызвать комбинацией клавиш Ctrl+L.
В Nautilus встроена возможность записи компакт-дисков: программа nautilus-cd-burner.
С версии 2.6 основным веб-браузером стал Epiphany (
http://www.gnome.org/projects/epiphany
), облегченная версия браузера Galeon на движке Mozilla. Роль почтового клиента исполняет органайзер Evolution.Настроить среду GNOME можно как из меню Приложения→Параметры (Applications→Desktop Preferences), так и из командной строки. Графический конфигуратор называется gconf-editor.
Расширенная система управления MIME-типамиСледующая особенность GNOME 2.8-2.10 — расширенная система управления MIME-типами. Если вы пытаетесь открыть не зарегистрированный в системе MIME-тип (например, файл с расширением .doc, а система не знает, какое приложение обрабатывает файлы с таким расширением), то будет отображено окошко, в котором можно будет связать данный тип с конкретным приложением для его обработки.
Рис. 4.5. Аналог команды «Открыть с помощью»
Если для данного типа установлено несколько программ (например, для HTML-файлов установлено несколько браузеров), то, щелкнув по файлу правой кнопкой мыши, вы сможете выбрать предпочитаемое приложение — прямо как команда «Открыть с помощью» в Windows. Такая организация интерфейса упрощает работу с Linux начинающим пользователям.
Поддержка службы DNS-Based Service DiscoveryТеперь GNOME поддерживает службу DNS-Based Service Discovery, которая позволяет организовать привычное для пользователей Windows сетевое окружение — вам не нужно ни ломать голову над настройкой Samba, ни настраивать посторонние программы для просмотра Windows-сети.
Рис. 4.6. Самое обычное сетевое окружение
Особенности последних версийДумаю, не нужно говорить о том, что сам интерфейс последней версии GNOME стал намного приятнее и появилось много разнообразных тем рабочего стола (меню Приложения→Параметры→Тема).
Рис. 4.7. Выбор темы рабочего стола
Центр управления GNOME тоже стал намного приятнее. Чего только стоит апплет управления раскладками клавиатуры (Приложения→Параметры→Клавиатура)! До его появления некоторые пользователи и не знали, что такое раскладка Dvorak (или любая другая) — теперь можно не просто выбрать раскладку, но и «посмотреть» на нее.
Рис. 4.8. Выбор раскладки клавиатуры
Как на панель GNOME, так и на панель задач можно добавить еще несколько полезных апплетов, щелкнув по панели правой кнопкой мыши. Лично мне очень понравился апплет Монитор сети, наблюдающий за состоянием сетевого соединения и показывающий, кроме всего прочего, еще и силу сигнала, что особенно актуально для беспроводных средств связи и dial-up соединений. Для более подробной информации о сетевых соединениях используйте новую утилиту nettool.
Рис. 4.9. Сетевой монитор
Для пользователей ноутбуков особенно актуален апплет Индикатор состояния батареи, показывающий, на сколько времени еще хватит заряда аккумулятора.
GNOME 2.10 входит в состав дистрибутива Fedora Core 4. К ней добавилась новая тема — Clearlook — и панель GNOME стала организована логичнее (рис. 4.10).
Рис. 4.10. Панель GNOME 2.10
4.3.2. Добавление собственных команд в контекстное меню GNOME
Меню Сценарии в GNOME устроено и действует аналогично меню Действия в KDE. Только если в случае KDE файл контекстного меню имел определенный формат, то в GNOME это — обычный bash-сценарий. Хорошо это или плохо, зависит от того, хорошо ли вы знаете bash. Хорошее знание языка командного интерпретатора bash поможет вам создать очень сложные сценарии, автоматизирующие огромное количество рутинной работы.
Идея достаточно проста. Вы создаете bash-сценарий и помещаете его в каталог
~/.gnome2/nautilus-scripts/
. В этом каталоге можно создавать подкаталоги — они будут отображаться как дополнительные меню.Теперь рассмотрим пример сценария, конвертирующего изображение в формат GIF при помощи программы-конвертера convert (листинг 4.2). Файл, по которому пользователь щелкнул правой кнопкой мыши, передается нашему сценарию как первый аргумент (о передаче аргументов сценариям говорится в п.8.1).
Листинг 4.2. Файл x2gif
#!/bin/bash
convertprg=`which convert`
while [ $# -gt 0 ] ; do
picture=$1
filetype=`file $picture | cut -d ' ' -f 3`
if [ $filetype = "image" ]
then
newfile=`echo "$picture" | cut -d . -f 1`
$convertprg "$picture" "$newfile".gif
fi
shift
done
4.3.3. Автоматическая смена обоев
Обои на рабочем столе рано или поздно надоедают, и хочется их сменить. Делать это вручную — лень: это ж сколько придется щелкать мышкой. Автоматизируем эту рутинную процедуру, написав сценарий, выбирающий обои из каталога
/home/den/Wallpapers
(где у меня хранятся мои любимые обои) случайным образом. Собственно установку обоев выполняет утилита GNOME gconftool-2.Листинг 4.3. Файл change_wallpaper
#!/bin/bash
export DIR='/home/den/Wallpapers/'
export NUMBER=$RANDOM
export TOTAL= 0
for f in `ls $DIR`
do
let "TOTAL += 1"
done
let "NUMBER %= TOTAL"
export CURRENT=0
for f in `ls $DIR`
do
if [ $CURRENT = $NUMBER ]
then
/usr/bin/gconftool-2 -t string -s /desktop/gnome/background/picture_filename $DIR/$f
break
fi
let "CURRENT += 1"
done
Но это еще не все. Можно сэкономить и на запуске сценария change_wallpaper, заставив его запускаться автоматически. Во-первых, вы можете добавить его в сценарии загрузки системы (п. 9.1.2). Для домашнего компьютера, который на ночь выключают, это неплохое решение: вы будете каждый день сидеть за столом с новыми обоями. Во-вторых, вызов сценария change_wallpaper можно поместить в сценарий запуска GNOME. И в-третьих, change_wallpaper можно вручить диспетчеру расписаний cron (п.9.4) для выполнения по назначенному вами расписанию — хоть каждую минуту.
4.4. Офисные пакеты
Оглавление
-
Введение
-
Об этой книге
-
Почему Linux?
-
История Linux
-
***
-
Происхождение Linux
-
***
-
***
-
Выбор дистрибутива
-
***
-
***
-
Разное
-
Глава 1 Установка операционной системы
-
1.1. Подготовка жесткого диска
-
1.1.1. Рекомендуемая схема разбиения диска
-
1.1.2. Имена разделов в ОС Linux
-
1.1.3. Разделы и точки монтирования
-
1.2. Загрузка программы установки
-
1.2.1. С использованием загрузочного компакт-диска
-
1.2.2. С использованием загрузочной дискеты
-
1.2.3. С использованием жесткого диска
-
1.2.4. Установка по сети
-
1.3. Установка Fedora Core
-
1.3.1. Описание дистрибутива
-
1.3.2. Особенности установки различных версий Fedora Core
-
1.3.3. Установка загрузчика
-
1.3.4. Продолжение установки
-
1.4. Особенности установки Mandrake 10.0
-
1.5. Проблемы при установке
-
1.5.1. Конфликты Fedora Core 1 и 2 с различным оборудованием
-
1.5.2. Fedora Core: не удается войти в систему как root в графическом режиме
-
1.5.3. Ошибка Signal 11
-
1.5.4. Не определяется мышь
-
1.5.5. Проблемы с переходом в графический режим
-
1.5.6. Проблемы при загрузке
-
1.5.7. Проблемы с графическим экраном загрузчика
-
1.5.8. Не загружается система X Window
-
1.5.9. Я забыл пароль пользователя root
-
1.5.10. У меня больше оперативной памяти!
-
1.5.11. Не работают принтер или звуковая плата
-
1.6. Как удалить Linux
-
1.7. Системы с двойной загрузкой
-
1.7.1. Установка Windows 9x и Linux
-
1.7.2. Установка Windows 9x, Windows NT/2000/XP и Linux
-
1.8. Первый запуск Linux
-
1.9. Стандартные сервисы Linux
-
1.10. Справочная система
-
Глава 2 Файловая система LINUX
-
2.1. Видимая сторона файловой системы
-
2.1.1. Имена файлов и каталогов
-
2.1.2. Назначение основных системных каталогов
-
2.1.3. Типы файлов
-
2.1.4. Команды работы с файлами и каталогами
-
2.2. Изнанка файловой системы
-
2.2.1. Файловая система ext2fs — предшественница ext3fs
-
2.2.2. Журналируемые файловые системы
-
2.3. Создание и монтирование файловых систем
-
Глава 3 Работаем в командной строке
-
3.1. Как устроен Linux: ядро и процессы
-
3.2. Жизнь процесса
-
3.3. Взаимодействие процессов
-
3.3.1. Конвейер (pipe)
-
3.3.2. Сигналы
-
3.4. Командная оболочка. Bash
-
3.4.1. Встроенные команды
-
3.4.2. История команд
-
3.4.3. Переменные
-
3.4.4. Подстановка переменных и команд
-
3.4.5. Шаблоны имен файлов
-
3.4.6. Потоки ввода-вывода
-
3.4.7. Группировка команд
-
3.4.8. Инициализационные файлы bash
-
Глава 4 Рабочее место пользователя
-
4.1. Графическая система X Window
-
4.2. Оконная среда KDE
-
4.2.1. Рабочий стол KDE
-
4.2.2. Запуск программ и переключение между ними
-
4.2.3. Файловый менеджер Konqueror
-
4.2.4. Центр управления KDE
-
4.2.5. Работа со съемными носителями в KDE
-
4.2.6. Добавление собственных команд в контекстное меню KDE
-
4.2.7. Новое в KDE 3.4
-
4.3. Оконная среда GNOME
-
4.3.1. Общее описание и методика работы
-
4.3.2. Добавление собственных команд в контекстное меню GNOME
-
4.3.3. Автоматическая смена обоев
-
4.4. Офисные пакеты
-
4.5. Издательские системы
-
4.6. Графика в Linux
-
4.6.1. Графические редакторы
-
4.6.2. Программы — просмотрщики изображений
-
4.6.3. Как сделать снимок экрана
-
4.7. Полезные трюки
-
Глава 5 Звук и видео в Linux
-
5.1. Почему воспроизведение аудио в Linux лучше, чем в Windows
-
5.2. Прослушивание музыки
-
5.2.1. Сравнение Xmms и NoAtun
-
5.3. «Ограбление» Audio-CD
-
5.4. Программы для просмотра видео
-
5.5. Воспроизведение неподдерживаемых форматов
-
Глава 6 Сеть и интернет
-
6.1. Основные сетевые понятия
-
6.1.1. Протокол и интерфейс
-
6.1.2. Уровни взаимодействия OSI
-
6.1.3. Протокол TCP/IP и IP-адресация
-
6.1.4. DNS — система доменных имен
-
6.1.5. Порты
-
6.1.6. Динамическое выделение адреса
-
6.2. Подключение к локальной сети
-
6.2.1. Настройка сети в Linux Mandrake
-
6.2.2. Настройка сети в Linux Red Hat
-
6.2.3. Настройка сети в Fedora Core
-
6.2.4. Проверка работы сетевого интерфейса
-
6.2.5. Настройка сети в старых дистрибутивах
-
6.3. Подключение к Windows-сети
-
6.4. Подключение к Интернету
-
6.4.1. Настройка модема
-
6.4.2. Подготовка к выходу в Интернет
-
6.4.3. Специальные возможности браузеров
-
6.4.4. Текстовые браузеры
-
6.4.5. Полезный трюк: Что делать, если браузер «подвисает» на какой-то странице
-
6.4.6. Набор программ для работы в Интернете
-
Глава 7 Основы администрирования системы
-
7.1. Что понимается под администрированием системы
-
7.2. Конфигураторы Linux
-
7.3. Пользователи и квоты
-
7.3.1. Учетные записи пользователей
-
7.3.2. Создание и удаление пользователей и групп
-
7.3.3. Квотирование
-
7.4. Подключение и конфигурирование аппаратных устройств
-
7.4.1. Ядро и поддержка устройств
-
7.4.2. Утилиты для работы с модулями
-
7.4.3. Kudzu — утилита для автоматического определения устройств
-
7.4.4. Настройка установленных устройств
-
7.5. Установка программного обеспечения
-
7.5.1. Установка из исходных текстов
-
7.5.2. Установка из бинарных пакетов
-
7.5.3. Установка из пакетов, содержащих исходный код
-
7.6. Клонирование и восстановление системы
-
Глава 8 Язык командного интерпретатора
-
8.1. Параметры
-
8.2. Подстановки
-
8.3. Массивы
-
8.4. Управляющие структуры
-
8.4.1. Условные операторы
-
8.5. Условная подстановка параметров
-
8.6. Функции
-
8.7. Обработка сигналов и протоколирование
-
Глава 9 Управление процессами
-
9.1. Как загружается Linux
-
9.1.1. Начальная загрузка: LILO и GRUB
-
9.1.2. Продолжение загрузки.
-
9.2. Команды управления процессами
-
9.2.1. Иерархия процессов: ps и pstree
-
9.2.2. Информация о ресурсах системы: команды free, df, du
-
9.2.3. Процессы в реальном времени: команда top
-
9.2.4. Приоритет процесса: команды nice и renice
-
9.2.5. Фоновый режим: команды jobs, fg, bg
-
9.3. Протоколирование системы
-
9.3.1. Конфигурационный файл /etc/syslog.conf
-
9.3.2. Сетевое протоколирование
-
9.3.3. Протоколирование ядра. Демон klogd и команда dmesg
-
9.3.4. Что делать с протоколами дальше? Утилита logrotate
-
9.4. Выполнение заданий по расписанию
-
9.4.1. Запуск задания в назначенное время: команда at
-
9.4.2. Диспетчер расписаний — демон cron
-
Глава 10 Резервное копирование и восстановление данных
-
10.1. Восстановление удаленного файла
-
10.1.1. Midnight Commander
-
10.1.2. Утилита debugfs
-
10.2. Стратегия резервного копирования
-
10.3. Оборудование для резервного копирования
-
10.3.1. Стример
-
10.3.2. Магнитооптический диск
-
10.4. Программное обеспечение для резервного копирования
-
10.4.1. Простое резервное копирование по сети
-
10.4.2. Управление стримером
-
10.4.3. Команды dump и restore
-
10.4.4. Архиватор cpio
-
10.4.5. Программа AMANDA
-
10.5. Дублирование данных: введение в RAI D
-
10.6. Как найти, спрятать и безвозвратно уничтожить данные
-
Глава 11 Базовое конфигурирование сервера
-
11.1. Серверные технологии Linux
-
11.2. Организация и состав Linux-сервера
-
11.3. Суперсервер xinetd
-
11.3.1. Установка суперсервера xinetd
-
11.3.2. Настройка суперсервера xinetd
-
11.3.3. Запуск xinetd
-
11.3.3.1. Защита xinetd
-
11.3.3.2. Пример файла конфигурации /etc/xinetd
-
11.4. Удаленный доступ: ssh и telnet
-
11.4.1. Использование telnet
-
11.4.2. Настройка и использование SSH
-
Глава 12 Разделение ресурсов: NFS и SAMBA
-
12.1. NFS — сетевая файловая система
-
12.1.1. Клиент NFS: монтирование сетевого каталога
-
12.1.2. Настройка сервера NFS
-
12.2. Samba: Linux-сервер для Windows-клиентов
-
12.2.1. Samba на сервере
-
12.2.2. Настройка Samba
-
12.2.3. Практические примеры настройки
-
12.2.4. Доступ к принтеру Linux для Windows-машин
-
12.2.5. Доступ к Windows-принтеру с компьютера, работающего под Linux
-
12.2.6. Конфигуратор SWAT
-
12.2.7. Samba и безопасность
-
12.2.8. Оптимизация Samba
-
12.3. Совместное использование каталогов в Linux Mandrake
-
12.4. Программа LinNeighborhood — правильный выбор
-
Глава 13 DNS — служба имен
-
13.1. Введение в DNS
-
13.2. Настройка клиента DNS
-
13.3. Настройка сервера DNS
-
13.3.1. Обновление корневого кэша
-
13.4. Кэширующий сервер DNS
-
13.4.1. Настройка кэширования на DNS-сервере
-
13.4.2. Возможные проблемы и их решение
-
13.5. Вторичный сервер DNS
-
13.6. Просм отр DNS-зоны. Утилита nslookup
-
13.7. Оптимизация настроек сервера DNS
-
13.8. Защита сервера DNS
-
13.8.1. Настройка и запуск DNS-сервера в chroot-окружении
-
13.9. Использование подписей транзакций. Механизм TSIG
-
Глава 14 Почтовый сервер
-
14.1. Установка и настройка sendmail
-
14.1.1. Базовая настройка sendmail
-
14.1.2. Редактирование конфигурационных файлов
-
14.2. Аутентификация в sendmail
-
14.2.1. Установка и настройка SASL
-
14.2.2. Настройка sendmail+SASL
-
14.2.3. Настройка почтовых клиентов с использованием аутентификации
-
14.3. Агент доступа — fetchmail
-
14.4. Автоматическая сортировка входящей почты — программа procmail
-
14.5. Создание списка рассылки
-
14.6. Защита программы sendmail. Программа smrsh
-
Глава 15 Настройка сервера FTP
-
15.1. Сервер WU-FTPD
-
15.1.1. Настройка WU-FTPD. Конфигурационные файлы
-
15.2. Сервер ProFTP
-
15.2.1. Установка и запуск ProFTPD
-
15.2.2. Настройка ProFTPD. Файл /etc/proftpd.conf
-
15.2.3. Разграничение доступа к серверу ProFTP
-
15.3. Утилиты обслуживания FTP-сервера
-
15.4. Виртуальный узел FTP
-
15.5. Защита FTP
-
Глава 16 HTTP-сервер Apache
-
16.1. Установка Apache
-
16.2. Настройка Apache. Файлы конфигурации
-
16.3. Основные настройки. Файл httpd.conf (httpd2.conf)
-
16.3.1. Общие директивы
-
16.3.2. Директивы протоколирования
-
16.3.3. Директивы управления производительностью
-
16.3.4. Директивы обеспечения постоянного соединения с клиентом
-
16.3.5. Директивы создания виртуальных узлов
-
16.3.6. Директивы настройки отображения каталогов
-
16.3.7. Директивы обработки MIME-типов
-
16.3.8. Директивы для работы с многоязычными документами
-
16.3.9. Директивы перенаправления
-
16.3.10. Директивы обработки ошибок
-
16.3.11. Директивы управления доступом к отдельным каталогам
-
16.4. Файл ротации журналов /etc/logrotate.d/httpd
-
16.5. Системный файл конфигурации /etc/sysconfig/httpd
-
16.6. Сценарий запуска сервера Apache /etc/init.d/httpd
-
16.7. Графические конфигураторы Apache
-
16.8. Каталоги пользователей
-
16.9. Виртуальный HTTP-сервер
-
16.9.1. Виртуальные серверы с идентификацией по имени
-
16.9.2. Виртуальные серверы с идентификацией по IP-адресу
-
16.10. SSL и Apache
-
16.10.1. Установка SSL
-
16.10.2. Подключение SSL к Apache
-
16.10.3. Генерирование сертификатов
-
16.11. Пример файла httpd.conf
-
***
-
***
-
***
-
***
-
16.12. Перекодирование русскоязычных документов «на лету»
-
16.12.1. Russian Apache: установка, настройка, использование
-
16.12.2. Настройка перекодировки русскоязычных документов
-
16.13. Защита сервера Apache
-
16.14. Сервер kHTTPd — веб-сервер уровня ядра
-
16.14.1. Настройка kHTTPd
-
Глава 17 Установка и настройка MySQL. Связка Apache + PHP + MySQL
-
17.1. Установка MySQL
-
17.1.1. Назначение пароля суперпользователя
-
17.1.2. Автозапуск сервера MySQL
-
17.1.3. Пользователи сервера MySQL и их права
-
17.2. Клиентская часть MySQL
-
17.3. Установка PHP и настройка связки Apache+PHP+MySQL
-
17.3.1. Первый способ: из пакетов RPM
-
17.3.2. Тестируем созданную конфигурацию
-
17.3.3. Второй способ: из исходных текстов
-
17.4. Защита сервера MySQL
-
17.5. Введение в язык SQL
-
17.5.1. Общие понятия
-
17.5.2. Краткий практический курс SQL
-
Глава 18. Прокси-серверы SQUID и SOCKS
-
18.1. Что такое прокси-сервер?
-
18.2. Установка SQUID
-
18.3. Настройка SQUID
-
18.4. Запуск SQUID
-
18.5. Расширенные настройки SQUID. Конфигурационный файл squid.conf
-
18.5.1. Параметры сети
-
18.5.2. Параметры соседей
-
18.5.3. Управление кэшем
-
18.5.4. Протоколирование
-
18.5.5. Параметры внешних программ
-
18.5.6. Параметры администрирования
-
18.6. Списки ACL
-
18.6.1. Параметры доступа
-
18.7. Отказ от рекламы. Баннерный фильтр
-
18.8. Разделение канала с помощью SQUID
-
18.9. Настройка поддержки прокси у клиентов
-
18.10. Технология SOCKS5, или как использовать аську из локальной сети
-
18.10.1. Введение в SOCKS. Прокси-сервер SOCKS5
-
18.10.2. Настройка сервера SOCKS5
-
18.10.3. Запуск сервера socks5
-
18.10.4. Dante — еще один сервер SOCKS5
-
18.10.5. Настройка клиентов SOCKS5 (ICQ и licq)
-
Глава 19 Маршрутизация и межсетевые экраны
-
19.1. Введение в маршрутизацию
-
19.2. Программы маршрутизации в Linux
-
19.2.1. Демон routed
-
19.2.2. Демон gated — правильный выбор
-
19.3. Расширенные средства маршрутизации. Комплекс iproute2
-
19.3.1. Пакет iproute2
-
19.3.2. Утилита ip
-
19.3.3. Просмотр параметров сетевого устройства
-
19.3.4. Операции над адресами: команда ip address
-
19.3.5. Управление таблицей маршрутизации
-
19.3.6. Динамическая маршрутизация
-
19.3.7. Управление правилами маршрутизации
-
19.4. Что такое брандмауэр
-
19.5. Цепочки правил
-
19.6. IPTables — пакетный фильтр для ядер 2.4.x. и 2.6.x
-
19.6.1. Что изменилось в IPTables по сравнению с IPChains
-
19.6.2. Настройка ядра Linux для поддержки IPTables
-
19.6.3. Первичная настройка IPTables. Задание политики по умолчанию
-
19.6.4. Действия над цепочками
-
19.6.5. Правила фильтрации
-
19.6.6. Фильтрация по отдельным пользователям
-
Глава 20 Настройка ядра
-
20.1. Многообразие ядер Linux
-
20.2. Зачем настраивать ядро?
-
20.3. Динамические параметры ядра
-
20.4. Загрузочные параметры ядра
-
20.4.1. Параметры корневой файловой системы
-
20.4.2. Объем памяти
-
20.4.3. Управление RAMDISK
-
20.4.4. Управление планировщиком ввода/вывода
-
20.4.5. Другие параметры ядра
-
20.5. Компиляция ядра
-
20.5.1. Зачем обновлять ядро?
-
20.5.2. Конфигурирование ядра
-
20.5.2.1. Code maturity level options
-
20.5.2.2. General setup
-
20.5.2.3. Loadable module support
-
20.5.2.4. Processor type and features
-
20.5.2.5. Power Management Options
-
20.5.2.6. Bus Options
-
20.5.2.7. Executable file formats
-
20.5.2.8. Device drivers
-
20.5.2.9. Filesystems
-
20.5.2.10. Kernel hacking
-
20.5.2.11 .Cryptographic options
-
20.5.3.Сборка ядра
-
Глава 21 Создаем консольное приложение
-
21.1. Компилятор gcc
-
21.1.1. Вызов gcc
-
21.1.2. Общие опции
-
21.1.3. Опции языка
-
21.1.4. Опции препроцессора
-
21.1.5. Опции компоновщика
-
21.1.6. Опции каталогов
-
21.1.7. Опции отладки
-
21.1.8. Опции оптимизации
-
21.2. Сборочная утилита make
-
21.3. Пакет binutils и другие полезные программы
-
21.3.1. ansi2knr
-
21.3.2. as
-
21.3.3. bison
-
21.3.4. flex
-
21.3.5. gprof
-
21.3.6. strip
-
21.4. Пример программы на С
-
Глава 22 Отладка, трассировка и оптимизация программ
-
22.1. Ошибки и отладка
-
22.2. Отладчик gdb
-
22.3. Пример отладки программы
-
22.4. Трассировка системных вызовов
-
22.5. Оптимизация программ. Профайлер gprof
-
22.5.1. Использование профайлера
-
22.5.2. Как оптимизировать программу
-
Глава 23 Разработка графического приложения: библиотека GTK+
-
23.1. Введение в GTK+
-
23.2. Библиотека Glib
-
23.2.1. Стандартные типы данных библиотеки Glib
-
23.2.2. Функции для работы с памятью
-
23.2.3. Строки и Glib
-
23.2.4. Списки
-
23.2.5. Таймеры в Glib
-
23.3. Первая программа на GTK+
-
23.3.1. Виджиты
-
23.3.2. Окна
-
23.3.3. Изменение размеров окна
-
23.3.4. Обработка сигналов
-
23.3.5. Виджит событий — EventBox
-
23.4. Виджиты
-
23.4.1. Рождение, смерть и состояния виджита
-
23.4.2. Упаковка виджитов, поля ввода и кнопки
-
23.4.3. Переключатели
-
23.4.4. Список
-
23.4.7. Меню
-
23.4.8. Иерархия виджитов
-
Глава 24 Студия Glade
-
24.1. Что такое Glade?
-
24.2. Знакомство с Glade
-
24.3. Работа с проектом
-
24.4. Создание меню
-
24.5. Интересные виджиты
-
Глава 25 Пакет Dialog
-
25.1. Что такое Dialog?
-
25.2. Сообщения
-
25.3. Виджит Yes-no
-
25.4. Окно ввода текста
-
25.5. Зависимые и независимые переключатели
-
25.6. Организация меню
-
25.7. Календарь
-
25.8. Шкала прогресса
-
Глава 26 Взаимодействие процессов в Linux
-
26.1. Способы взаимодействия
-
26.2. Полудуплексные каналы
-
26.3. Каналы типа FIFO
-
26.4. Основные принципы System V IPC
-
26.5. Очереди сообщений
-
26.5.1. Основные структуры ядра для работы с очередями
-
26.5.2. Создание очереди сообщений
-
26.5.3. Постановка сообщения в очередь
-
26.5.4. Получение сообщений очереди
-
26.5.5. Проверка наличия сообщения в очереди
-
26.5.6. Тотальный контроль
-
26.6. Семафоры
-
26.6.1. Создание множества семафоров
-
26.6.2. Выполнение операций над семафорами
-
26.6.3. Контроль семафора
-
26.7. Разделяемые сегменты памяти
-
Глава 27 Создание сетевого приложения в Linux
-
27.1. Протокол TCP/IP
-
27.1.1. Многоуровневая архитектура стека TCP/IP
-
27.1.1.1. Уровень сетевого интерфейса
-
27.1.1.2. Межсетевой уровень
-
27.1.1.3. Транспортный (основной) уровень
-
27.1.1.4. Уровень приложений
-
27.1.2. Структура пакетов IP и TCP
-
27.2 Протокол ICMP
-
27.2.1. Для чего используется протокол ICMP
-
27.2.2. Структура ICMP-пакета
-
27.2.3. Тип и код ICMP-сообщения
-
27.2.4. Функции для работы с протоколом ICMP
-
27.2.4.1. Технические подробности
-
27.3. Программирование сокетов
-
27.3.1. Что такое сокет?
-
27.3.2. Создание и связывание сокета
-
27.3.3. Установление связи с удаленным компьютером
-
27.3.4. Функция gethostbyname()
-
27.3.5. Функции сетевого ввода/вывода
-
27.3.6. Завершение сеанса связи
-
27.3.7. Программа-сервер
-
27.3.8. Программа-клиент
-
27.3.9. Установка опций сокета
-
27.3.10. Сигналы и сокеты
-
27.3.11. Мультиплексирование
-
27.3.12. Неблокирующие операции
-
Глава 28 Программирование ядра
-
28.1. Каркас модуля
-
28.2. Компиляция модуля
-
28.3. Работа с устройствами
-
28.4. Операции над устройством. Поиск устройств
-
***
-
Приложение Таблицы соответствия Windows- и Linux-программ
-
***
-
***