Выбрать главу

В разделе Специальные возможности→Страна и язык обязательно установите свою страну (Россия или Украина), выберите язык и установите кодировку (koi8-r или koi8-u). Все эти параметры необходимы для правильного отображения русскоязычных символов в окнах приложений KDE.

4.2.5. Работа со съемными носителями в KDE

Чтобы ОС Linux получила доступ к данным на вашей дискете, компакт-диске или flash-накопителе, файловая система съемного носителя должна быть включена в общее дерево каталогов как одна из его ветвей. Этот процесс называется монтированием. Логически он представляет собой сопоставление корневому каталогу подключаемой файловой системы какого-то из уже существующих каталогов. Этот каталог называется точкой монтирования. После того, как к каталогу примонтирована другая файловая система, все бывшие в нем файлы временно — до размонтирования — становятся недоступны, а вместо них видны файлы съемного носителя. Отсюда следует, что в качестве точки монтирования лучше выбирать пустой каталог.

Оконная среда KDE до версии 3.3 не выполняла монтирование автоматически, и вы должны знать, как сделать это вручную.

Обычно команда mount применяется в формате:

mount -t <тип_ФС> <устройство> <точка_монтирования>

Устройство — это имя файла этого устройства. Большинство современных CD-ROM-приводов подключаются к IDE контроллеру, поэтому для ссылки на компакт-диск используется имя IDE-устройства — чаще всего /dev/hdc. Инсталлятор обычно распознает CD-ROM и создает символическую ссылку /dev/cdrom->/dev/hdc.

Типы файловой системы на съемных носителях чаще всего такие:

Таблица 4.3

Название Система
ext2 Основная файловая система Linux
ext3 Журналируемая надстройка, полностью совместимая с ext2
vfat Файловая система Windows: FAT, VFAT, FAT32
iso9660 Файловые системы для компакт-дисков

Как правило, монтировать постоянные носители информации (разделы жесткого диска) имеет право только администратор. Съемные же носители разрешается монтировать обыкновенным пользователям.

Специально для них у команды mount есть сокращенная форма, при которой достаточно указать либо устройство, либо точку монтирования. Недостающую информацию программа монтирования получает из файла /etc/fstab.

Так, для подключения flash-накопителя я:

1. включаю его в USB-порт;

2. перехожу в текстовую консоль или открываю окно виртуального терминала;

3. mount /media/usbdisk # или mount /dev/sda1.

Перед извлечением съемный носитель необходимо размонтировать командой

umount [устройство | точка_монтирования]

Не сделав этого, вы рискуете потерять все данные на нем. Размонтировать устройство можно только тогда, когда к данным на нем не обращается ни одна программа (нет открытых файлов, ни один каталог не является текущим ни для одной программы). Узнать, какие процессы обращаются к файловой системе, можно с помощью утилиты fuser.

При работе с компакт-дисками обычно не возникает сбоев, потому что лоток привода CD-ROM контролируется системой. Вы просто не сможете извлечь компакт-диск до тех пор, пока устройство не будет размонтировано. А вот при работе с дискетами и flash-накопителями проконтролировать вас некому. Помните, что, пока вы не размонтировали дискету, физическая запись на нее не будет произведена. Это значит, что, если вы сохранили свой документ на дискету и вытащили ее из дисковода, файла документа на ней не будет, несмотря на то, что вы вышли из текстового редактора. Вы забыли размонтировать файловую систему!

4.2.6. Добавление собственных команд в контекстное меню KDE

Запустите Konqueror и щелкните правой кнопкой мыши на каком-нибудь файле. Вам чего-то не хватает? Хочется добавить какую-то команду? Или есть команда, которую вы выполняете очень часто? KDE позволяет создавать собственные команды меню, чем мы и займемся в этом пункте.

Давайте создадим дополнительную команду, которая делает файл исполняемым. Это действие очень полезно, если вы часто пишете сценарии bash (глава 8). Ведь сценарии bash — это обычные файлы, созданные в текстовом редакторе. Чтобы сценарий запускался, нужно с помощью команды chmod +x имя_файла сделать его исполняемым — но команду вводить лень, хочется все сделать мышкой…

В любимом текстовом редакторе создайте файл следующего содержания:

Листинг 4.1. Файл make_exe.desktop

[Desktop Entry]

ServiceTypes=all/allfiles

ServiceType=application/x-shellscript

Actions=MakeExe

[Desktop Action MakeExe]

Name=Make executable

Name[ru]=Сделать файл исполняемым

Exec=chmod +x %f

Icon=kfm

Рассмотрим первую секцию. Первая директива задает тип файлов, для которых можно выполнить указанное действие. В данном случае действие доступно для всех файлов (allfiles). Если вам нужно выполнить какое-то действие для каталога, то значением директивы ServiceTypes должно быть inode/directory.

Вообще в качестве значения этой директивы можно указать любой MIME-тип, например:

ServiceTypes=audio/x-mp3

Если действие должно быть выполнено для всех типов файлов, кроме некоторых, используйте директиву ExcludeServiceTypes. Например, действие архивирования не имеет смысла производить над архивами:

ServiceTypes=all/allfiles

ExcludeServiceTypes=application/x-zip,kdedevice/*

Директива Actions определяет действия, описанные в файле. В данном случае описано только одно действие MakeExe, которое определено в секции [Desktop Action MakeExe]. Директива Name — это надпись, которую вы увидите в контекстном меню KDE. Желательно писать ее на английском языке. Директива Name[ru] — это надпись, которую увидит пользователь локализованного KDE.

Директива Exec — это команда, которая будет выполнена. %f — параметр, определяющий имя файла; то есть имя файла, на котором вы щелкнули правой кнопкой, будет подставлено вместо %f.

Созданный файл сохраните под именем make_exe.desktop.

Как видите, в этом нет ничего сложного. Осталось только сохранить файл в нужном каталоге — /usr/share/apps/konqueror/servicemenus. Для записи в этот каталог нужны права суперпользователя. Если же администратор системы не вы, то скопируйте файл в каталог ~/.kde/share/apps/konqueror/servicemenus, и новая команда будет доступна только вам.