LXF98:Спецрепортаж
|
|
|
48 трюков с Linux
Все мы любим свободное ПО, но иногда оно работает не совсем так, как хотелось бы. Команда LXF объединила усилия для определения главных проблем, с которыми люди сталкиваются повседневно, и выработала для вас решение этих проблем...
Досаднейшие проколы с Linux: команда LXF
Вы, небось, думаете, что уж раз мы из Linux-журнала, то являемся экспертами во всем, о чем пишем, никогда не испытываем проблем с нашей любимой ОС и насквозь видим ответ, если что-то сбоит. Хоть нам и жаль рассеивать столь лестные иллюзии, но они далеки от истины: большая часть советов и хитростей в этой статье обязана бедам, приключившимся с нами по ходу повседневного использования Linux, и теперь мы делимся опытом с читателями. Ниже приведены самые досадные огорчения, испытанные нами при работе с Linux.
ЭНДИ ЧЕННЕЛ
- Однажды я случайно сделал резервные копии пяти симлинков на 4.7-гиговый DVD перед выполнением потенциально опасной операции с жестким
диском. Того, что запись на DVD продлилась всего несколько секунд, я не заметил, так как ушел на обед. К счастью, я потерял лишь около половины труда всей моей жизни. К несчастью, это была более ценная половина, наработанная после 18 лет.
ДЭВИД КАРТРАЙТ
- Умерла линия ADSL от BT – ни сигнала, ничего. BT говорит: «Извините, мы не можем оказать вам поддержку, так как вы используете Linux».
Позвонил еще раз и соврал, что у меня Windows 2000. BT говорит: «Ну-ка, посмотрим… Э, да у вас на линии поломка. Мы вам кого-нибудь пришлем». Р-р-р.
ПОЛ ХАДСОН
- Когда Эндрю Грегори [Andrew Gregory] еще был в нашей команде, он случайно выдернул шнур питания из моего ПК с SUSE 9.3. «Ерунда, – подумал
я, – у меня журналируемая файловая система, я все мигом восстановлю». Не тут-то было: Reiser отказался распознавать мои данные, вынудив сделать полную переустановку. О боги ext3, зачем я покинул вас?
МАЙК СОНДЕРС
- Однажды я переустановил дистрибутив, заранее зарезервировав файл конфигурации X, чтобы потом восстановить свои графические настройки.
Но у него таковых не оказалось: несмотря на то, что это был тот же дистрибутив и та же версия X, X-сервер впал в истерику и заявил «Не обнаружен экран». Хорошо, а где ж тогда светилось это сообщение? Р-р-р. Вскоре после этого случая я перешел на Slackware.
НЕЙЛ БОТВИК
- Во времена, когда 64-kbps ISDN-соединение считалось быстрым, я потратил целую неделю, скачивая ISO-образы Mandrake 6.с-чем-то через
интернет-соединение с двухчасовым лимитом; и не успел я прожечь диски, как вышел Mandrake 7.0. Может, дешевле было купить CD у благодетелей из Microsoft'а?
МЭТТ НЕЙЛОН
- Недавно я изучал вопрос применения Scribus в профессиональной верстке. Часто, несмотря на установку глобальных свойств шрифтов, они
применяются не ко всем блокам в документе. Если создать рамку для текстового или графического блока, она не привязывается к сетке, или же выпирает за границы блока вдоль направляющих; иногда при повторном открытии документа интерлиньяж текста меняется совершенно случайным образом…
KDE
Добавление кнопки Закрыть ко вкладкам Konqueror
У Firefox есть возможность добавить кнопку Close на каждую вкладку; в Konqueror тоже, однако она вытесняет иконку web-сайта. Чтобы получить лучшее от обоих миров – иконку сайта, которая превращается в кнопку Close при наведении на нее мыши – загрузите ~/.kde/share/config/konquerorrc в ваш любимый текстовый редактор, и добавьте к секции, начинающейся с [FMSettings], следующие строки:
AddTabButton=false CloseTabButton=false HoverCloseButton=true
Вычисления одним пальцем
Многие знают, что Alt+F2 открывает диалог Run command, где можно вводить команды, которые вы хотите выполнить, но известно ли вам, что это пригодно и для быстрых вычислений? Попробуйте – нажмите Alt+F2, затем введите 4+9*5/2, щелкните Run; вы должны увидеть ответ 26.50000000. Примитивненько, но допускает операции с +, -, *, / и скобками – вполне достаточно для базовых расчетов.
Удобные info-страницы
Man-страницы легко читать (хотя не всегда легко понять), но некоторые программы помещают свою лучшую документацию в info-страницы. Просмотрщик info-страниц использует для навигации некие загадочные сочетания клавиш, не поддающиеся интуиции менее продвинутых пользователей. Гораздо лучше применить привычный просмотрщик гипертекста: web-браузер. Введите info:progname в Konqueror (или в запросе команды по Alt+F2), чтобы прочитать info-страницу как полноправную web-страницу с гиперссылками.
Супербыстрый поиск
Окно Alt+F2 имеет еще одно крутое свойство: в нем работают все быстрые поиски, которые вы осуществляли через адресную строку Konqueror! Например, для быстрого поиска пуделей, нажмите Alt+F2, введите gg:пудели, затем Enter – автоматически запустится Konqueror и выведет на Google с вашими результатами.
Передача полномочий
Центр управления KDE – это узловая станция настроек KDE для вашего компьютера: если вы хотите что-то поменять, наверняка оно там найдется. Но если вам кажется, что это уж перебор – либо для вас, либо для того робкого новичка в Linux, кому вы настраиваете компьютер – попробуйте создать собственную оболочку Control Center, которая загружает только нужные вам модули. Например, если вы хотите запустить Control Center, чтобы посмотреть только настройки фона, цветов, шрифтов и хранителей экрана, запустите следующую команду:
kcmshell background colors fonts screensaver style
и учтите, что colour здесь пишется на американский манер!
Наблюдайте, а не ждите
Некоторые утилиты командной строки, типа tail, выводят информацию, когда происходит что-либо интересное, в отличие от простого вывода текстового потока. Если вам хочется нечто отследить, но лень сидеть, уставившись в экран, Konsole предлагает вам идеальный выход: щелкните правой кнопкой по вкладке, где вы находитесь, и выберите опцию Monitor For Activity. Работайте себе, как работали, а когда в вашем терминале появится что-то интересное, Konsole замигает.
Командная строка
Автоисправление опечаток
Набор в командной строке – дело нелегкое. Мало того, что надо долго изучать работу всех команд, надо еще и точно указывать имена файлов и каталогов, иначе придется вводить команду снова и снова. Но выход есть: Bash имеет встроенную команду shopt, позволяющую задавать различные опции командной строки. Например, запуск shopt -s cdspell включает автоматическое исправление опечаток имен каталогов, так что ввод cd /hom/hudzila даст вам ближайшее соответствие – /home/hudzilla. Также можно использовать shopt -s nocaseglob, чтобы при вводе части имени файла и нажатии Tab для завершения Bash производил поиск вне зависимости от регистра.
Расчленение текста
Awk – это мощный зверюга по части извлечения информации из текстовых строк, но зачастую уж чересчур мощный. Команда cut сделает то же более просто:
cut -c1-10
возвращает в стандартный вывод первые десять символов каждой строки, а
cut -f 3 -d ' '
возвращает третье поле, при этом ключ -d задает пробел в качестве разделителя, то есть возвращается третье слово. В Cut есть и другие опции, но все они просты в использовании.
Обезопасить работу под root
Работать под суперпользователем root либо очень здорово, либо чрезвычайно опасно, в зависимости от вашего отношения к упоению высшей исполнительной властью. Если вы страшитесь могущества безнаказанно удалять файлы, тогда вам не обойтись без chattr: он позволяет зафиксировать файл, чтоб даже root не мог удалить его. Например, выполнение chattr +i myfile.txt под root'ом сделает этот файл виртуально неуничтожимым, каким бы вы пользователем ни были. Если вам нужно убрать стальной щит, используйте -i вместо +i.
Заглушите звуки
Устали от того, что динамик вашего компьютера пищит, как взбесившийся передатчик Морзе, при каждом неверном наборе? Научите его тишине: выполните команду setterm -blength 0, и сигнал тревоги заткнется, независимо от вида терминала, где вы работаете. Если вы хотите сохранить это для любого запуска терминала, просто добавьте эту команду в файл .bash_profile.
Предыстория команд
Очевидно, компьютеры обязаны упрощать жизнь, но они нам в новинку – все еще попадаются люди, с упорством маньяка повторяющие одну и ту же унылую последовательность команд вместо того, чтобы мыслить более изящно, реально наслаждаясь всей мощью Bash. Например, для повторяющегося запуска трех последних команд, просто прокрутите до первой команды этой последовательности, придержите клавишу Control и нажмите O столько раз, сколько надо. Каждый раз при нажатии O будет выполняться одна команда из последовательности, а дойдя до последней команды, Bash возвратится назад к первой выбранной вами, и все повторится.
Проверка псевдонимов команд
Некоторые дистрибутивы поставляются с широким набором псевдонимов (alias); особенно славится этим SUSE. Пожелав узнать, что делает Bash за вашей спиной, вы можете запросить ваши сокращения, используя команду type: например, type -all ls попросит Bash перечислить то, что в он точности понимает под ls – тут-то и выяснится, что ls – это псевдоним чего-нибудь наподобие ls --color=auto, и, конечно же, (заодно) реальная программа в /bin/ls.
Отменим нудные сообщения
Сообщения об ошибке утилит командной строки иногда бывают полезными, но чаще представляют собой просто помеху, особенно когда загромождают «нужный» вывод команды. Вы можете легко подавить сообщения об ошибках путем перенаправления стандартного потока ошибок в псевдоустройство /dev/null, используя запись 2> /dev/null. Вот пример использования этого в команде find:
$ find / -user chris 2> /dev/null
Виртуальный доступ к DVD
Все знают, что Майк Сондерс каждый номер любовно подбирает содержимое LXFDVD – разве не так утверждает стр. 108? Но иногда даже эпической силы Майка недостаточно, чтобы впихнуть на диск все дистрибутивы в загружаемом формате, и мы вынуждены снабжать вас ISO-образами ради доставки всего самого последнего и лучшего. Они хороши, если у вас есть записывающий CD-привод и острая потребность установить дистрибутив; однако иногда просто хочется спереть привлекательные обои (эй, кому воздушные шарики от Fedora 7?), а в этом случае лучший вариант для вас – примонтировать ISO-образ в качестве файловой системы и скопировать то, что нужно, вот так:
mkdir /mnt/myiso mount -o loop -t iso9660 some.iso /mnt/myiso
Выключить цвета вывода ls
Во многих современных дистрибутивах Linux команда ls отображает разные типы файлов разными цветами: каталоги – ядовито-синим, символические ссылки – химически-бирюзовым, и так далее. Дело в том, что это свойство включено в псевдониме, определенном для ls. Чтобы выключить его для конкретной оболочки, введите команду unalias ls. Для постоянного выключения просто добавьте эту команду в файл .bashrc вашего домашнего каталога, и все оболочки Bash увидят ее при запуске и перестанут слепить вас кричащими цветами.
Мгновенная проверка орфографии
Хотите вообще отказаться от GUI и работать в командной строке, как все настоящие Unix-хакеры? Чудесно! Но ведь вы лишитесь проверки орфографии OOo? Не волнуйтесь: большинство систем Linux имеет встроенную команду look, это проверка орфографии в командной строке. Для начала, введите look, а следом – часть слова:
look separ
покажет соответствия типа "separate", "separately", и прочая, тогда как ввод
look seper
не покажет ничего, ведь писать "seperate" неправильно.
Раскраска приглашения
Вы живете в командной строке, но часто забываете, какой терминал означает ваш локальный компьютер, а какой – SSH к вашему серверу? Существует несколько способов исправить это – прежде всего, не зевайте и сначала смотрите, где набираете. А для SSH-сеансов вы можете пожелать использовать другой виртуальный рабочий стол. Но, наверно, самым легким и тривиальным способом является раскраска приглашения командной строки. По умолчанию в системах Unix приглашения обычно серые или белые на черном фоне; иногда наоборот. Не будет ли нагляднее показать, что вы угодили не туда, совершенно другим видом приглашения, например, мерцающим полужирным красным, да еще и с предупреждениями? Почти во всех оболочках приглашение включено в системную переменную PS1, так что для его изменения нам просто следует подправить ее. Попробуйте следующее:
export PS1="\e[48;34m \u@\H:\W\e[m>\$ "
Список непечатаемых символов, используемых для построения приглашений, можно получить здесь: www.gnu.org/software/Bash/manual/Bashref.html#SEC83. Чтобы он стал постоянным, впишите его в файл .bashrc вашей пользовательской директории.
Реанимация старых команд
Часто бывает нужно найти когда-то набранную огромную команду, которую вы не думали использовать повторно, но теперь приходится, так что же делать? Если вы используете Bash, можете использовать функцию истории (с помощью стрелки вверх). А вдруг у вас остались только смутные воспоминания о команде? Тут может помочь команда history:
history | grep -i "<строка_поиска>"
Числа покажут номер команды в файле истории, и ее можно выполнить, набрав !, за которым следует номер, в приглашении Bash'а.
Поиск в более древних командах
Если вам кажется, что при поиске нужной вам команды ваш файл истории Bash никогда не заглядывает в далекое прошлое, просто поменяйте его размер, задав следующие значения в вашем файле .bashrc
HISTSIZE=10000 HISTFILESIZE=10000
Вы также можете применить unset HISTSIZE и unset HISTFILESIZE, чтобы хранились все введенные команды, но это следует делать с осторожностью.
Сократить набор и расход памяти
Чем длиннее команда, тем проще ошибиться в ее наборе, а длинные списки аргументов запоминать труднее. Если вы регулярно используете команду с теми же аргументами, создайте ее сокращение-псевдоним, путем добавления
alias myalias='longcommand --with --lots --of --options'
в файл .bashrc (или системный /etc/profile), и команду можно будет вызвать как myalias или даже mya[TAB]. Можно даже будет приписать дополнительные опции или аргументы – они передадутся исходной команде, например, вот так:
myalias myfile
Выборочное удаление
Если у вас есть каталог, содержащий десять подкаталогов, и нужно удалить три из них, медленный способ это сделать выглядит примерно так:
rm -rf /home/hudzilla/work rm -rf /home/hudzilla/projects rm -rf /home/hudzilla/sandbox
Но это чертовски медленно и чревато ошибками – куда изящнее разрешить Bash'у производить подстановку нескольких имен файлов путем помещения опций внутрь фигурных скобок. Например, то, что выше достигалось тремя строками, можно проделать так:
rm -rf /home/hudzilla/{work,projects,sandbox}
Стильный locate
Всем нравится команда locate: при регулярной индексации нет более быстрого способа найти файлы по определенному имени. Правда, locate только выдает список имен файлов, что не совсем хорошо, если вам нужно больше информации об этих файлах – например, сколько места они занимают. Так почему бы не попробовать перенаправить вывод от locate через ls? Например, это небольшое аккуратное выражение в одну строку найдет файлы, соответствующие somefile, затем направит их список на ls -lsh, и вы увидите как результаты соответствия, так и их объем в вашей системе:
locate somefile | xargs ls -lsh
Системное администрирование
Автоматическая установка ядра
При компиляции собственного ядра нет необходимости в ручном копировании ядра и других файлов. Запуск make install после компиляции ядра скопирует его в /boot, а также разместит там резервную копию конфигурации ядра. Что важнее, создадутся символические ссылки: vmlinuz для вашего нового ядра и vmlinuz.old для старого. Если ваш загрузчик имеет точки входа в эти два ядра, вы всегда сможете и загрузить новое ядро, и откатиться к старому, даже не прикасаясь к файлам настройки Grub или Lilo. make install также при необходимости запустит Lilo.
Опускать нежелательные обновления
Apt – система обновлений пакетов Debian – позволяет «закреплять» пакеты, чтобы они не изменялись во время обновления других приложений. Например, если вам нужна определенная версия GCC, установите ее обычным образом, затем загрузите Synaptic, выберите только что установленное приложение и убедитесь, что в меню Package выставлено Lock Selection. Теперь никогда уже другие пакеты не смогут указывать вам, какую версию установить!
Быстрое переименование
Помните ваши первые дни с Linux или Unix, и все те проблемы, когда все работало не так, как вы ожидали? Множество людей, перешедших с Windows на Linux, полагают, что могут использовать свои навыки в DOS и просто применять их в командной строке, но это приводит ко всяким проблемам – не в последнюю очередь, отсутствие какого бы то ни было дефрагментатора диска под Linux! Но обычным источником путаницы служит то, что Linux использует для переименования mv вместо ren. Для нас, ветеранов Linux, это вполне естественно, ведь очевидно, что перемещение файла – то же самое, что и переименование. Вообще-то Linux имеет и собственную команду переименования, которая называется просто rename, но она сильно отличается от mv – работа rename состоит в массовом переименовании большого числа файлов на что-нибудь другое. Например, когда стандартом был PHP 3, файлы PHP имели расширение .php3. Когда вышел PHP 4, все перешли на простое старое расширение .php, так что приходилось переименовывать все .php3 файлы на .php. Вот здесь и пригодится rename, например: rename .php3 .php *.php3.
Руки прочь от моих файлов!
Unix-подобные системы, в том числе и Linux, имеют одну особенность, одновременно и досадную, и удачную: если удаляется файл, из которого в это время кто-нибудь считывает, то этот файл не исчезает до тех пор, пока чтение не закончится. Вы даже можете перезаписать файл, не влияя на работу того, кто читает из него данные. Это хорошо в тех случаях, когда вам нужно изменить сайт, не прерывая работы Apache; но крайне раздражает, если вы хотите удалить файл, а в него вцепилось много людей. Вот исправление, которого вы так ждете: команда fuserвыдает список всех процессов, где открыты операции с вашим файлом, и вы даже можете передать ключ -k, чтобы всех их убить. Затем спокойно удаляйте файл.
Абсолютное удаление
Используя rm для удаления файлов, вы просто нарываетесь на то, чтобы другие люди лазили на ваш диск – сунуть нос в старые данные. А это не есть хорошо, если требуется, чтобы ваши файлы сгинули навек. К счастью для всех нас, существует команда shred, которая перед удалением несколько раз записывает в ваш файл разные данные, делая восстановление абсолютно невозможным. Например, если вы хотите быть уверенным, что файл passwords исчез с лица земли, используйте команду:
shred -z -u passwords
Она 25 раз перезапишет файл случайными данными, затем последует последняя перезапись нулями (-z), чтобы никто не догадался, что вы что-то там перезаписывали, затем удаление (-u). По умолчанию удаление не задействовано, так как параметром shred могут быть целые разделы (например, /dev/hda1), которые вам вряд ли хочется удалить.
Просмотр журналов
Можно просматривать файлы системных журналов, чтобы узнать, что сообщается при запуске программы или подключении нового оборудования. Большинство программ посылают отчеты в системный журнал, который можно посмотреть в отдельном терминале root при помощи
tail -f /var/log/messages
Опция -f или --follow показывает сообщения по мере того, как они записываются в журнал, и это можно использовать для любого файла журнала. Если полезная информация тонет в шуме, используйте grep для показа лишь тех сообщений, что относятся к вашему процессу:
tail -f /var/log/messages | grep ssh
Простая фильтрация cайтов
Если вы хотите, чтобы ваши пользователи не посещали определенных сайтов, есть быстрый способ заблокировать их: откройте ваш файл /etc/hosts и впишите строки по следующему принципу:
127.0.0.1 myspace.com 127.0.0.1 facebook.com
Для пущего эффекта запустите web-сервер на локальной машине и разместите элегантное предупреждение об опасностях сетевого общения для детей!
Проверка системы
Итак, вы соорудили блистательный новый сервер, прекрасно работают Apache, MySQL и PHP, но знаете ли вы, что случится, если ваш сервер угодит под большую нагрузку? Это стоит разузнать заранее, чтобы предусмотреть механизмы восстановления и обеспечить перестройку механизма качества сервиса на первоочередное обслуживание наиболее важных запросов. Вы можете искусственно увеличить нагрузку на сервер, используя утилиту dbench: например, dbench 20 дал нагрузку на построенный нами Ultimate Linux Box в LXF92 выше 20, предоставив нам отличную возможность убедиться, что SSH вполне отзывчив, и мы не теряем управление сервером, даже когда он испытывает давление!
Убиение пользователей
Нет ничего хуже, чем когда осуществляемая вами Crack Attack неожиданно застревает «на самом интересном месте» из-за какого-то жадного пользователя, что влез в систему и жрет ценное время CPU ради генерации какого-то там отчета или запроса к базе данных. Но дал нам Господь команду skill, посылающую сигнал процессу, терминалу или пользователю и позволяющую root'у контролировать все, что пользователи делают. Нам всего симпатичнее skill -KILL -u degville, что означает «убить все программы Degville и выкинуть его из системы». Теперь скорее к Crack Attack, и посвятите ей все ваше внимание...
Firefox
Копировать вкладки
Все знают, что Ctrl+T создает новую вкладку, но известно ли вам, что Ctrl+Z автоматически устанавливает для новой вкладки тот же URL, что был у старой? Это здорово при дублировании окон!
Укоротить извещения о загрузке
«Я САМ ЗНАЮ, ЧТО ВСЕ ЗАГРУЗКИ ЗАВЕРШИЛИСЬ – ПШЕЛ ВОН!» – это мысленное восклицание постоянно витает в офисе LXF. Firefox, видите ли, любит извещать о том, что все загрузки завершились, высвечивая в углу небольшое окно и радостно заслоняя все, что у вас там находится. Конечно, небольшое окно загрузки полезно, но кому нужно, чтобы оно маячило на экране четыре секунды? Зайдите по URL about:config в Firefox и поменяйте установку alerts.totalOpenTime на что-нибудь более приятное и быстрое, например, 500 (миллисекунд, то есть полсекунды).
Профили Firefox
Некогда запуск любого приложения Mozilla дважды в одно время вызывал дурацкое окно менеджера профилей, от которого было мало проку. Но в Firefox, имеющем тысячу и один параметр конфигурации и способном сильно улучшить личный комфорт в вашем браузере, менеджер профилей реально полезен. Можно создать себе два профиля: один – полный примочек, закладок, панелей инструментов и расширений, для просмотра в полной роскоши, и другой – необременительный для оперативной памяти, кэширующий по минимуму и загружающий чахлый и скупой Firefox; это замечательно удобно для блиц-проверки почты и чтения новостей. Чтобы попасть в окно управления профилями, просто запустите Firefox с ключом -profilemanager, например mozilla-firefox profilemanager.
Убрать всплывающие окна
Вы удивитесь, но Firefox разрешает одновременно появляться 20 всплывающим окнам, загораживая весь ваш экран вздорной рекламой. Это число непомерно велико; поменяйте его на что-нибудь поменьше, отредактировав параметр dom.popup_maximum – мы рекомендуем значение от 3 до 7.
Не уменьшать изображения
Есть еще одно свойство, вызывающее у кого любовь, у кого злобу: когда Firefox открывает изображение с размером, не умещающимся в окне браузера, картинка автоматически масштабируется. Такова установка по умолчанию; но если вы, подобно нам, все равно норовите щелкнуть по изображению, чтобы оно увеличилось, заходите в about:config и поменяйте about:configbrowser.enable_automatic_image_resizing на false.
Уволить кнопку Go
Отчаялись увеличить размер области окна Firefox? Тогда прикиньте: часто ли вы пользуетесь маленькой зелененькой стрелкой 'Go' рядом с адресной строкой? Мы полагаем, что, скорее всего, никогда; вот и ликвидируйте этого мелкого вредителя, установив true в browser.urlbar.hideGoButton.
А если мне не повезет?
Когда вы вводите какой-нибудь текст в адресную строку и нажимаете Enter, Firefox автоматически ищет и загружает через Google самый подходящий сайт по принципу «Мне повезет!». Если вас это раздражает, смените значение keyword.URL в about:config на то, что устроит вас больше – чаще всего это http://www.google.com/search?q=, так как он проводит Google-поиск текста и выдает обычную страницу с результатами, а не хватается за первый попавшийся вариант.
Рабочий стол
Выключение сенсорной панели
Не сталкивались ли вы с досадной ситуацией, когда случайное прикосновение к сенсорной панели вашего ноутбука во время набора текста воспринималось как щелчок, и курсор отпрыгивал куда не надо? Уверены, что да – но это легко поправить! Отредактируйте ваш xorg.conf под root, затем добавьте в раздел InputDevice вашей сенсорной панели строку
Option "SHMConfig" "on"
Теперь перейдите в System > Preferences > Sessions, щелкните на кнопку New под Startup Programs и добавьте следующую команду syndaemon -i 1 -d. Перезагрузитесь, и теперь ваши настройки таковы, что сенсорная панель работает обычным образом – кроме тех случаев, когда вы ненароком заденете ее при наборе!
ПО Gnome – в Gnome, ПО KDE – в KDE
Работать в Ubuntu здорово до тех пор, пока вы не попытаетесь установить Kubuntu (или наоборот): ваша налаженная система меню затрещит по швам от десятков программ обоих рабочих столов, борющихся между собой за приоритет. Не отчаивайтесь: вы можете заставить отдельные ярлыки возникать только в Gnome или только в KDE, а не в обоих. Для этого зайдите под root и перейдите в /usr/share/applications (для приложений Gnome) или /usr/share/applications/kde (для KDE). Затем откройте файл ярлыка в текстовом редакторе и добавьте в конец одну из двух этих строк:
OnlyShowIn=KDE
для только-KDE-приложений; или
OnlyShowIn=GNOME
для только-Gnome-приложений.
Быть в курсе, не будучи в сети
Мы любим web-календарь от Evolution, ведь он изящен, быстр и прост. Представьте же себе нашу боль, когда мы изредка переходим в оффлайн и наши календари вдруг пропадают. Но боль можно исцелить – в календаре щелкните правой кнопкой мыши, выберите Properties, затем убедитесь, что флажок Copy Calendar Contents Locally выставлен. Легко!
Gnome
Добавить функции в Nautilus
Nautilus обладает удивительной мощью благодаря расширениям, но они не устанавливаются по умолчанию, а без них он пустоват. Тем не менее, его нетрудно изменить, особенно если вы пользуетесь Ubuntu – просто стяните apt-get'ом расширения nautilus-gksu и Nautilus-open-terminal, перезапустите Nautilus – и наслаждайтесь новыми функциями!
Изменить файловый менеджер
Nautilus нравится не всем. Если вы продвинутый пользователь или не любитель тяжеловесов, или вам скоро надоедает легкая жизнь, то полюбить Nautilus весьма сложно. К счастью, можно заставить Gnome использовать другой файловый менеджер для ярлыков Places, расположенных в меню, поскольку каждый из них имеет собственный файл, расположенный в /usr/share/applications. Например, если вы хотите запустить другой файловый менеджер при щелчке Places > Home Folder, откройте файл /usr/share/applications/nautilus-home.desktop и измените строку Exec на браузер по своему выбору.
Обогатить Nautilus скриптами
Правый щелчок по вашему рабочему столу дает традиционно Gnome'ский выбор опций: вы можете немного подвигать значки, изменить фон, и т.п. Но Nautilus умеет куда больше – фактически, вы можете в корне изменить ваше Gnome-меню по правому щелчку, если установите скрипты оболочки Nautilus в ваш каталог ~/.gnome2/nautilus-scripts. На сайте http://tinyurl.com/ype2eq [Ну мы-то с вами знаем, что tinyurl.com – это лишь сервис, заменяющий чрезмерно длинные ссылки на короткие (tinyURL), и внутри скрывается нечто вроде http://www.gnome-look.org/content/show.php/Nautilus+Scripts?content=55445 , – прим.ред.] имеется огромный выбор скриптов – попробуйте и узнайте, какой подходит вам больше всего!
Отзывчивость меню Gnome
Майк вечно ноет, что меню Gnome при наведении на них появляются чудовищно медленно – и позор ему, потому что это можно банально поправить за пять секунд: просто добавьте такой текст в файл .gtkrc-2.0 вашего домашнего каталога:
gtk-menu-popup-delay = 0
Блаженство gTweakUI
Gnome, как и большая часть приложений Apple, любит прятать свои настройки, и требуются известные усилия, чтобы до них добраться. Кричите «Ура»: gTweakUI открывает вам целый мир опций, с которыми можно поиграть. Нам особо понравилась Use home folder as desktop, означающая получение мгновенного доступа к файлам, минуя меню Places. Да там вообще раздолье для деятельности – экспериментируйте!
Производительность
Избегать обращения к диску
Немногое в Linux раздражает нас больше, чем его привычка использовать файл подкачки, независимо от размера оперативной памяти на вашей машине. Конечно, иногда это помогает – когда ваша система сильно загружена и реально испытывает недостаток ресурсов – но вообще-то, если у вас 2 ГБ ОЗУ или больше, на этом можно сэкономить немало времени. Чтобы Linux обращался к файлу подкачки пореже, отредактируйте файл /etc/sysctl.conf, отыскав (или создав) строку vm.swappiness. Если у вас преогромное ОЗУ и вы хотите минимизировать количество подкачек, производимых Linux, сделайте строку такой:
vm.swappiness=10
«Нет!» замусориванию диска
Мы повторяем снова и снова, но люди, похоже, никогда не принимают наши слова всерьез: хотите, чтобы ваши диски вырабатывали свой полный потенциал – предусмотрите и включите опцию noatime в /etc/fstab.
Дело в том, что при каждом чтении с вашего диска (например, из файла) заодно производится и запись, чтобы сохранить информацию, относящуюся к последнему считыванию файла. Это процесс невероятно медленный, и можно достичь увеличения скорости – обычно процентов на 10 – одним очень простым трюком.
Переключитесь в root, откройте /etc/fstab в любимом текстовом редакторе. Отыщите корневую файловую систему и убедитесь, что в своих установках она имеет defaults,noatime,data=writeback, затем сохранитесь, перезагрузитесь и позвольте, наконец, вашему бедному разогнанному PC работать на полную катушку!
Супербыстрые временные файлы
Помните старые времена с RAM-дисками? Но и у Linux они тоже есть! Если вы сроду с ними не сталкивались, поясним, что RAM-диск – это виртуальная файловая система; она целиком находится в памяти ПК, а значит, молниеносно записывает и читает все, что угодно. Сколько места выделять на RAM-диск, определяется тем, велик ли у вас размер оперативной памяти и насколько вы планируете использовать его – если у вас 1 ГБ ОЗУ, вы можете выделить 64 MБ под ramdisk; если у вас 2 ГБ, то, возможно, пожертвуете 256 MБ, а если вы счастливый обладатель 4 ГБ, то легко можете отдать под ваш ОЗУ-диск до 1 ГБ. Опишем, как установить диск размером 64 MБ – при желании просто поменяйте значение 65536 на то, которое вас устроит:
mkfs -t ext3 -q /dev/ram1 65536 mkdir -p /ramdisk mount /dev/ram1 /ramdisk -o defaults,rw
OpenOffice.org
Стили с клавиатуры
Одно дело тратить время, подгоняя стили OpenOffice.org под ваши потребности, а совсем другое – трудиться, применяя эти стили там, где они нужны! И, признаться, это мучительно: отрывать руки от клавиатуры, наводить мышь на стиль, щелкать, затем продолжать набор; и странно было бы, если бы OOo не позволял иметь комбинацию клавиш для стилей. Так вот, он и в самом деле позволяет применять комбинацию клавиш, но для этого требуется немного творчества. Во-первых, задайте ваши стили такими, как вы хотите. Затем идите в Tools > Macros > Record Macro и щелкните по стилю, который собрались применить. Теперь щелкните мышью по плавающей кнопке Stop Recording и сохраните ваш макрос как ApplyingStyleXYZ (помните, пробелы в именах не допускаются!). Вы сейчас заставили OOo записать небольшую программу, применяющую конкретный стиль.
А теперь – фокус: щелкните Tools > Customize, выберите вкладку Keyboard, прокрутите вниз список сочетаний клавиш, пока не встретите тот, который вам понравился: например, Ctrl+Shift+A. В нижней части окна, выберите OpenOffice.org Macros > User > Standard > Module1 в списке Category; вы увидите, что имя вашего макроса появилось в списке функций. Выберите его, затем щелкните Modify – это припишет выделенную макрофункцию выбранному сочетанию. Теперь по нажатию Ctrl+Shift+A немедленно будет применяться ваш стиль.
Долой брендинг!
Утомились наблюдать заставку каждый раз при запуске программы OpenOffice.org? Что же, если вы сумеете найти файл конфигурации OOo на вашем компьютере, можете отключить ее. Пользователи Windows пусть ищут файл в каталоге установки OpenOffice.org, подкаталог 'program' – ищите файл soffice.ini. Пользователям Linux следует искать файл sofficerc. Откройте его в текстовом редакторе, и поменяйте строку:
Logo=1
на:
Logo=0
Теперь OOo станет загружаться побыстрее и будет занимать в это время меньше экранного пространства – вы победили!
Помогите вдовам и сиротам
Есть две вещи, от которых встают дыбом волосы журнальных корректоров: сироты со вдовами и орфографические ошибки. OK, таких вещей три: сироты со вдовами, ошибки, тексты, приходящие от авторов с опозданием, и безвкусные стили. А также... Ладно, их много чего бесит, но в контексте данного совета важнее всего сироты и вдовы! Сиротой в издательском деле называется последнее слово абзаца, которое в одиночку вылезает на новую строку, а вдовой – часть предложения, завершающего абзац, которая переходит на начало новой страницы. Оба они выглядят коряво, но вместо творческого применения переводов строки вам следует дать Writer'у поработать за вас – перейдите в Format > Paragraph > Text Flow,и убедитесь, что как Orphan Control, так и Widow Control включены.
MySQL
Процессы MySQL
Управление большим сервером – непростая задача, но здесь на помощь приходят несколько простых утилит. Например, если некий пользователь начинает глотать много процессорного времени на MySQL, вы можете его пресечь, не влияя на остальную часть базы данных – ну, если вы системный администратор. Чтобы увидеть список текущих подключений и того, что они делают, запустите запрос show processlist;. При этом будут перечислены все действия на вашем сервере в настоящий момент, а также ID процессов, так что вы сможете убить отдельные из них. Например, если PID 50 делает что-то вам несимпатичное, примените команду kill 50, и он будет мгновенно остановлен.
Журнал медленных запросов
Полная оптимизация ваших таблиц MySQL требует изучения, усердия и искусства, в особенности если у вас есть сложные запросы, объединяющие несколько таблиц. Но MySQL немного посодействует в решении этой задачи, так как он автоматически создает для вас журнал медленных запросов, где хранятся все SQL-выражения для запросов, неэффективно использующих индексы (то есть медленных, потому что вы поленились их оптимизировать) или запросов, которые требуют большого времени выполнения (то есть они просто медленные сами по себе). Если вас это заинтересовало, отредактируйте ваш файл конфигурации MySQL ( как правило, это /etc/my.ini или /etc/mysql/my.ini) и добавьте в секцию [mysqld] следующую строку:
log-slow-queries
Восстановление root для MySQL
Итак, вы ухитрились запомнить пароль пользователя и пароль root'а, но вдруг забыли или заменили root'овский пароль для MySQL? Это не так плохо, как может показаться, и легко поправимо. Во-первых, остановите MySQL, выполнив /etc/init.d/mysql stop, затем запустите MySQL сервер вручную и передайте ему ключ --skip-grant-tables – это вынудит MySQL игнорировать систему прав доступа, так что вы легко сможете зайти как root с пустым паролем. Эта уловка выручила команду LXF по крайней мере один раз!