пятница, 27 февраля 2009 г.

Lancelot: Одинокий рыцарь KDE

Виртуальная энциклопедия "Linux по-русски": новости, статьи, ссылки на материалы по операционной системе GNU/Linux.

Алексей Дмитриев, 23 февраля 2009

Lancelot - это меню запуска приложений для KDE4, задуманное как место, откуда начинаются все действия в этой рабочей среде. Lancelot обеспечивает быстрый доступ к приложениям, устройствам, контактам, системной информации.

История создания

Единственным разработчиком этого проекта, как и его автором и изобретателем является Иван Чукич. (Я буду писать это имя кириллическими буквами, так как оно содержит символы то ли хорватского, то ли какого-то другого южнославянского алфавита на основе латиницы, которые есть только в Юникоде. А поскольку Юникод еще не стал единственной кодировкой, то и применение этих символов в их оригинальном написании затруднительно).

Так вот, Ивану очень не понравилось, что в KDE4 в качестве меню запуска приложений по умолчания выбран Kickoff. В отличие от прочих граждан, которые просто переключаются в меню классического стиля, Иван решил создать свое собственное меню запуска. Ему давно хотелось поэкспериментировать с альтернативными пользовательскими интерфейсами, да и опыт кое-какой был - он не раз делал апплеты для SuperKaramba, просто для собственного употребления.

Главной задумкой Чукича было создание "безщелчкового" интерфейса, позволяющего производить запуск приложений простым наведением указателя мыши.

Поначалу он задумал создать кнопки, срабатывающие, когда указатель мыши задержится на них в течение некоторого периода времени. Но это на практике приводило к множеству нечаянных (нежеланных) запусков.

Тогда Иван придумал другое решение: при наведении указателя мыши на кнопку появляется дополнительная цель - маленькая кнопочка, при наведении указателя на которую уже срабатывает основная кнопка. Это решение оказалось плодотворным и достаточно интуитивным, и почти не давало "холостых" запусков.

Для тех же, кто любит "кликать", Иван оставил возможность просто нажать на кнопку.

Расположение элементов меню тоже подчинено основной идее: дать возможность найти и запустить приложение одним "росчерком" мыши, при этом сводя к минимуму вероятность нечаянных запусков.

Lancelot начал разрабатываться только в прошлом, 2008, году, а документацию для него Иван не закончил и по сей день. Поэтому я отказался от мысли просто перевести документацию на русский язык, а решил рассказать о Ланселоте своими словами.

Общий вид

Меню Lancelot имеет четыре поля:

Слева находятся кнопки рабочих объектов: Приложения, Компьютер, Контакты, Документы.

Снизу помещены системные кнопки и меню настройки самого Ланселота.

Сверху расположена строка поиска.

Посередине большое Главное окно с содержимым выбранного объекта работы.

Уже на этой стадии знакомства с Ланселотом начинаются чудеса.

Я, обычно, во всех графических средах, которые позволяют это, располагаю панель вверху экрана - мне кажется неестественным, когда "заголовок" находится внизу "страницы". Так располагается у меня панель и в KDE. Разместив на панели значок Lancelot, я открыл это меню, и удивился, что строка поиска находится снизу, а системные кнопки наверху, тогда как в руководстве написано обратное. Я подумал сначала, что у меня какие-нибудь другие настройки по умолчанию, не может же автор так ошибаться. Затем решил попробовать перенести панель вниз экрана, как работает большинство пользователей. Открыл окно Lancelot и что же? - строка поиска и системные кнопки поменялись местами. То есть системные кнопки всегда находятся рядом с панелью - вот это забота о пользователе!

И второе чудо: окно Lancelot всегда открывается над (или под) соответствующим значком на панели. То есть, если вы хотите видеть меню запуска на привычном месте слева экрана, то и помещайте значок Ланселота самым левым на панели. Этим автор как бы намекает, что его меню должно заменить штатное меню KDE (которое, кстати, ведет себя точно так же).

Еще одна особенность: хотя окно Lancelot имеет подвижные границы, как и всякое другое, оно не может быть перетащено мышью на другое место обычным способом. Чтобы перетащить окно Lancelot мышью, нужно удерживать клавишу Alt.

Но вернемся к меню Lancelot.

Кнопки рабочих объектов понятны и без объяснения - просто наводите на них указатель мыши, и откроются соответствующие объекты.

Системные кнопки позволяют быстро заблокировать экран, открывают меню выключения компьютера и переключают пользователя. Последняя кнопка в этом ряду, на которой изображена Чаша св. Грааля, это кнопка настройки Lancelot, она открывает меню настройки. В этом меню четыре строчки: "Редактор меню KDE", "Настройка "горячих" клавиш", "Настройка меню Lancelot" и "О Ланселоте" (немного информации о программе).

Строка поиска представляет собой программу KRunner, которая открывается обычно из Главного меню KDE кнопкой "Выполнить команду" или сочетанием клавиш Alt+F2. Поэтому строка поиска умеет все, что умеет эта программа: находить не только приложения, но и контакты, закладки и прочее, а также работает как калькулятор. (Нужно ввести сначала знак равенства, затем необходимое арифметическое действие (скажем, =23+4), глядь, а в главном окне уже результат написан рядом со значком калькулятора).

В Главном окне отображается выбранный объект, либо результаты поиска или вычислений. Все это понятно без объяснений, не считая объекта "Приложения" (Applications).

При открытии объекта Applications в левой части окна будут помещаться Избранные приложения (Favourites), а правой - категории приложений и те приложения, что вы поместили на "корневой" уровень дерева приложений в Главном меню KDE.

Чтобы добавить или удалить приложение из Favourites, щелкните на нем правой кнопкой мыши и выберите нужное действие из появившегося списка.

Если нужно запустить приложение, не входящее в список Избранных, то нужно действовать обычным способом: выбрать категорию, в которой находится нужное приложение. Откроется следующий уровень, список Favourites скроется, а предыдущие уровни сожмутся, чтобы оставить больше места для вновь открытого уровня. Если вы хотите всегда иметь только две колонки, то это можно настроить через меню настройки Lancelot (кнопка Чаша).

Апплет запуска - Lancelot Launcher

По умолчанию это значок, изображающий Чашу св. Грааля, который располагается у вас на панели, либо на Рабочем столе, либо в Главном меню. Последнее совершенно бессмысленно, так как Lancelot как раз призван заменить Главное меню.

Однако апплет запускает Lancelot независимо от того, где вы его поместите.

При правом клике мышью на значке Чаши откроется меню, где будет пункт Lancelot Launcher settings (Настройки Lancelot Launcher). В этих настройках можно выбрать значок для апплета запуска вместо Чаши. Еще можно заменить один значок на четыре, соответствующие кнопкам Рабочих объектов: Приложения, Компьютер, Контакты, Документы. И еще можно установить порядок запуска Lancelot: простым наведением мыши, или щелчком.

Что такое Lancelot Part (часть Lancelot)

В диалоге "Добавить мини-приложение" (Add Widgets) есть такой виджет: Lancelot Part. Однако при его добавлении появляется значок с Чашей, который при открывании оказывается пустым. Дело в том, что "части Ланселота" должны, по замыслу автора, добавляться методом перетаскивания.

Перетаскивать части можно на панель, на рабочий стол, или на этот пустой значок Lancelot Part. Вот он и пригодится. Смысл этих "частей Ланселота" в том, чтобы иметь кусочек Lancelot, содержащий одно или несколько приложений или категорий приложений для скорейшего их запуска.

Однако перетаскивать можно не все пункты обширного меню Lancelot, а только некоторые. Автор в руководстве сам толком не смог объяснить, какие части можно, а какие нельзя перетаскивать. Поэтому он составил следующую диаграмму:

Голубым помечены пункты, из которых можно создавать части.

Зеленым помечены пункты, из которых можно создавать части, либо FolderViews (Виды Папок - что это такое, осталось неизвестным, видимо автор не успел про них написать в руководстве).

Сиреневым помечены пункты, из которых нельзя создавать части, но можно создавать значки на панели.

Серым помечены пункты, которые вообще нельзя перетаскивать.

Также можно перетаскивать пункты из уже готовых "частей Ланселота".

При щелчке правой кнопкой мыши на значке Lancelot Part появляется меню настройки, позволяющее настроить этот значок. Можно выбрать: открывать ли Part наведением или щелчком, а также где располагать кнопочки-цели - справа или слева.

Как добавлять приложения в меню Lancelot

Нужно открыть Редактор приложений KDE из того же Ланселота, добавить новое приложение в Главное меню, а в Lancelot оно появится автоматически. При этом вовсе не обязательно открывать само Главное меню.

Подведение итогов

Меню запуска приложений Lancelot, несмотря на некоторую сыроватость, представляется мне достойной заменой Главному меню KDE. Его намного проще настраивать, а запуск приложений в режиме наведения просто доставляет удовольствие. Запускать приложения при помощи Ланселота несравненно удобнее, чем из классического Главного меню, не говоря уже про стиль Kickoff.

Как у всякой молодой программы, у Ланселота много недоработок, но отказов и откровенных багов я не встретил.

Думаю, что если к нему привыкнешь, то многочисленные кнопки на панели уже не понадобятся.

среда, 25 февраля 2009 г.

OpenProj как замена Microsoft Projec

Нашел вот новость, типа "проект OpenProj загрузило миллион пользователей. OpenProj (http://openproj.org/) представляет собой открытую альтернативу Microsoft Project. Исходные тексты распространяются в рамках лицензии Common Public Attribution License (CPAL), основанной на Mozilla Public License".

Скачал себе .rpm с сайта разработчика. Запустил установку. OpenSUSE залила кучу зависимостей со своих репозиториев, но программа стала нормально. Честно говоря, первое впечатление очень приличное. Не скажу, что я специалист по подобным менеджерам проектов, но для офисных OpenProj должен подойти полностью. В общем советую обратить внимание.

5 советов по работе в Google Chrome

Официальный блог - Google Россия: 5 советов по работе в Google Chrome

Алексей Шелестенко, маркетинг Google Россия

Новые продукты или сервисы выходят в Google с завидной частотой: каждую неделю можно услышать "Google выпускает новый сервис" или "Google улучшил функциональность такого-то продукта". И это естественно - у нас есть множество идей и задумок, начиная с поиска в Интернете (наша главная задача) и заканчивая полётами в космос (Google Lunar X Prize) и альтернативными источниками энергии (Re-C). Каждый такой запуск - это, по сути, сообщение о том, что мы обнаружили (придумали, улучшили) способ выполнять привычные задачи ещё эффективнее, ещё проще, и приглашение попробовать новшество. Если оно поможет кому-то найти нужную страницу, отправить письмо или получить важную новость быстрее и проще - мы только рады.

Новый браузер Google Chrome - не исключение. Выпуская его, мы хотели предложить пользователям новый инструмент для работы в Интернете, позволяющий сэкономить ещё больше времени при выполнении привычных задач. Я не стану рассказывать обо всех особенностях Google Chrome - его скорость работы, эффективность использования пространства экрана и лёгкость доступа к наиболее часто посещаемым страницам нужно просто попробовать. Сегодня я хотел бы поделиться своими любимыми особенностями Google Chrome, позволяющими мне ещё больше оптимизировать работу в Интернете. Назовём это пятью советами для тех, кто любит как можно больше кататься и как можно меньше возить сани.

1. Поиск по любимым сайтам прямо из адресной строки
Надеюсь, все знают, что из адресной строки Google Chrome можно совершать поиск по Интернету. Введите поисковой запрос, и Google Chrome будет искать его в поисковой системе, выставленной у вас по умолчанию.




Но Google Chrome умеет больше. Когда вы находитесь на каком-нибудь сайте и выполняете на нём поиск, Google Chrome запоминает, что на этом сайте можно искать. В следующий раз, когда вы начнёте вводить в адресную строку адрес этого сайта, можно просто нажать клавишу Tab и вводить поисковой запрос. Google Chrome автоматически выведет вас прямо на страницу с результатами поиска на этом сайте.


Но и это ещё не всё. Зайдите в меню Параметры - Основные и нажмите на кнопку "Управление" Поиска по умолчанию. Здесь перечислены все сайты, на которых вы искали. Выбрав любой из них, вы можете нажать "Изменить" и задать ключевое слово.

Например, я часто ищу интересующие меня факты в Википедии. Я задал поиску по Wikipedia ключевое слово wiki, и теперь если мне нужно найти, что такое Hagnesta Hill, я просто пишу в поисковой строке "wiki hagnesta hill" (или без ключевого слова - en.wikipedia.org hagnesta hill) и попадаю прямиком на нужную мне страницу.

Я задал каждому такому сайту своё короткое ключевое слово, и теперь ищу видеоролики на YouTube, перевод шведских слов на Lexin и многое другое прямиком из адресной строки.

Теперь, когда не нужно сначала вводить адрес самого сайта, ждать пока он загрузится, искать поисковое окно (или переходить на внутреннюю страницу поиска), я экономлю на каждом таком поиске от нескольких секунд до минуты. Мелочь, а приятно!


2. Работать одновременно в двух аккаунтах на одном сайте.
Те из вас, кому приходится работать в двух аккаунтах одновременно - например, два почтовых адреса, два профиля в социальной сети, - знают, что приходится выходить из одного, логиниться под другим, потом снова выходить из одного и заходить в другой, каждый раз при этом вводя имя пользователя/Email и пароль. Это дико неудобно.

Google Chrome позволяет решить эту проблему. Открываете новое окно в режиме "Инкогнито" (Ctrl-Shift-N) и в нём открываете второй аккаунт своей почты. Так у вас могут быть открыты одновременно два разных почтовых ящика на Gmail, и они не будут "видеть" друг друга. Представьте, сколько времени вы экономите на переключении между аккаунтами!

Теперь, если вам станет скучно, вы можете даже обмениваться сами с собой мгновенными сообщениями с двух аккаунтов Google Talk! =)


3. Запуск Google Chrome с параметрами
Дополнительные параметры работы Google Chrome можно задавать через командную строку свойств ярлыка. Например, столь актуальная для некоторых пользователей возможность просмотра страниц без отображения картинок (полезно, когда у вас низкая скорость подключения или высокая стоимость трафика), предусмотрена как отдельный режим. Создаёте дополнительный ярлык для "облегчённого" запуска Google Chrome, и в командной строке ярлыка дописываете параметр -disable-images . Теперь, запустив такой вариант браузера, вы не будете видеть картинки. Существуют и многие другие параметры для запуска Google Chrome - при желании вы можете найти их сами.


4. Ярлыки веб-приложений
...или ярлыки сайтов. Если вы часто пользуетесь каким-то сайтом и он у вас всегда открыт, вы можете создать для него ярлык отдельного запуска на рабочем столе или в панели быстрого запуска. Сайт будет открываться в отдельном окне без каких-либо панелей браузера, и будет "жить" независимо от основного окна браузера. Например, чтобы создать такое окно для Gmail или для любимой социальной сети, просто зайдите на этот сайт, и выберите в меню "Создать ярлыки приложения..."


5. Перетаскиваемые вкладки
Вкладки в Google Chrome можно перетаскивать мышкой не только в одном окне, но и "вытаскивать" их из одного окна в другое, или делать их отдельным окном. Это удобно, если вам нужно часто переключаться между двумя вкладками - просто вытаскиваете одну в отдельное окно, и затем переключаетесь между двумя окнами стандартной комбинацией клавиш Windows - Alt+Tab.


Google Chrome постоянно улучшается, и существует ещё масса возможностей, которые вы можете найти сами. Если вы хотите поделиться своими любимыми особенностями Google Chrome, оставляйте свои комментарии ниже.

Удачной работы с Google Chrome!

вторник, 24 февраля 2009 г.

Создание базы данных контактов в OpenOffice

Виртуальная энциклопедия "Linux по-русски": новости, статьи, ссылки на материалы по операционной системе GNU/Linux.

Оригинал: Creating a Contacts Database in OpenOffice
Автор: Carla Schroder
Дата: 20 марта 2008
Перевод: Г.Лазов
Дата перевода: 18 февраля 2009

Управление контактами

В предыдущей статье мы научились создавать страницы с этикетками, визитками и стандартными письмами, используя OpenOffice Writer и Base. Этапы создания в OpenOffice любого документа для почтовой рассылки довольно просты, но одним из подводных камней может оказаться создание БД ваших контактов. Ваш список контактов должен находиться в Base, и с этим могут быть проблемы. Хорошая новость в том, что Base может импортировать данные из других БД, электронных таблиц, текстовых файлов с разделителями и адресных книг e-mail. На рисунке 1 показано окно импорта. В вашем случае содержимое окна может быть немного другим, в зависимости от того, какой дистрибутив Linux вы используете.

Рисунок 1: Окно импорта
Рисунок 1: Окно импорта

Base может подключаться напрямую к большинству реляционных БД, таких как MySQL, PostgreSQL, Oracle, Adabas D и любых других БД, которые поддерживают драйвера ODBC (Open Database Connectivity, открытая связь с базами данных) и JDBC (Java database connectivity, связь с базами данных Java). Таким образом, Base также функционирует как графический интерфейс к другим БД, т.е. вы можете использовать этот компонент для их редактирования. Адресные книги, электронные таблицы и текстовые файлы при этом доступны только для чтения. Вы можете импортировать данные из них в Base, но если вы измените исходный документ, то вам придется вручную импортировать новые данные; вы не можете изменить их или получить прямой доступ из Base.

Мои контакты находятся в адресной книге KDE. Импортировать их в Base настолько легко, что даже ваша кошка с этим справится!

  • Файл -> Создать -> Базу данных
  • Подключиться к существующей базе данных
  • Да, зарегистрировать базу данных и Открыть базу для редактирования
  • Жмем Готово, вводим имя и сохраняем новый файл.
  • Вы увидите что-то вроде Рисунка 2. Дважды щелкните на Адресная книга, чтобы увидеть импортированные данные.
Рисунок 2: База данных адресной книги
Рисунок 2: База данных адресной книги

Если Base не может напрямую импортировать данные из вашей адресной книги, попробуйте экспортировать адреса в .csv файл (файл данных с разделителями в виде запятых). Затем в выпадающем списке "Подключиться к существующей базе данных", выберите "Текст". Следующее окно запросит путь к файлу. Не забудьте отметить "Файл, "значений разделенных запятой" (*.csv)" и затем выберите корректные разделители. Если .csv файл сформирован корректно, проблем с ним у Base не будет. Ниже представлен пример-отрывок из моей экспортированной адресной книги:

"Family Name","Given Name","Honorific Prefixes","Home Phone", "Home Fax","Home Address Street","Home Address City", "Home Address State","Home Address Zip Code" "Schroder","Carla","Ms.","","","5678 EndOfTheLineLane", "Red Cowtown","Oregon","54321" 

Хотя в примере присутствуют разрывы строк для удобства чтения, реальные разрывы есть только на тех концах строк, где нет запятых. Количество полей в строке определения полей (это первая строка файла) и в строках данных должно точно совпадать. В примере их (полей) девять. Все пустые поля обязательно должны содержать "" в виде заполнителя, а каждое поле отделяется запятой. Вы можете использовать в качестве разделителя запятую, пробел, табуляцию, двоеточие или точку с запятой.

Подключение к MySQL или PostgreSQL

Для подключения к MySQL или PostgreSQL (или другим внешним базам данных) вам потребуются специальные драйвера. Если вы используете Debian (или *buntu, или Mepis, или любые другие системы этого семейства), то вам потребуется пакет unixODBC для поддержки ODBC, а также драйвер для вашей конкретной БД:

  • odbc-postgresql для PostgreSQL
  • libmyodbc для MySQL
  • libsqliteodbc для sqlite
  • mdbtools для MS Access
  • tdsodbc для Sybase SQL и MS SQL

Для PostgreSQL альтернативным вариантом является пакет openoffice.org-sdbc-postgresql, который заменяет как ODBC, так и JDBC драйвера.

Также вы можете использовать следующие JDBC драйвера:

  • openoffice.org-sdbc-postgresql
  • libpg-java для PostgreSQL
  • libmysql-java для MySQL

Fedora использует другие пакеты, и их не так много, как для Debian:

  • unixODBC.i386
  • postgresql-odbc.i386
  • mysql-connector-odbc.i386
  • postgresql-jdbc.i386
  • mysql-connector-java.i386

Любые драйвера, которые отсутствуют в вашем дистрибутиве, вы можете скачать с OpenOffice.org (см. источники) или у разработчика вашей БД. В чем же разница между ODBC и JDBC драйверами? Они немного отличаются по скорости и функциональности. К тому же, JDBC драйвера являются кроссплатформенными, хотя я не думаю, что это важно для кого-то кроме разработчиков. Если у вас есть проблемы с подключением к внешним БД через Base, экспортируйте нужные вам данные в .csv файл, и уже его импортируйте в Base. Base обожает правильно сформированные файлы с разделителями, а их создание - не проблема даже для новичков в работе с БД.

Создание базы данных с нуля

Создание новой БД контактов с нуля - не такая уж плохая идея! Как обычно, самое скучное и нудное - ввод самих данных. Открываем Файл -> Создать -> Базу данных -> Создать новую базу данных -> Да, зарегистрировать базу данных и Открыть базу для редактирования. В Base встроен очень неплохой мастер: щелкните по иконке Таблицы и выберите Использовать мастер для создания таблицы. Он содержит набор шаблонов для множества различных типов баз данных, включая Контакты (смотрите Рисунок 3). Обратите внимание на кнопки со стрелочками вверх/вниз - они используются для упорядочивания полей по вашему усмотрению.

Рисунок 3: Создание базы данных
Рисунок 3: Создание базы данных

Если вам захочется навести порядок и почистить место, идем сюда - Сервис -> Параметры -> База данных OpenOffice.org -> Базы данных - и удаляем любые базы данных, от которых хочется избавиться. Заметьте, что их нельзя удалить обычными методами, вроде использования файлового менеджера или команды rm, потому что Base регистрирует каждую свою БД. И чтобы удалить базу, нужно сначала отменить эту регистрацию.

Источники


Carla Schroder - автор книг "Linux Cookbook" и недавно вышедшей "Linux Networking Cookbook". Она регулярно публикует свои статьи на сайте LinuxPlanet.

KDE4: Как запускать приложения от имени другого пользователя

Виртуальная энциклопедия "Linux по-русски": новости, статьи, ссылки на материалы по операционной системе GNU/Linux.

Алексей Дмитриев, 21 февраля 2009

В прежней (третьей) версии KDE, при помощи подменю "Выполнить команду" из "Главного Меню", или клавишами Alt+F2 была возможность запустить любую программу от имени другого пользователя.

Это было очень удобно для работы: например, если нужно быстро отредактировать файл /etc/fstab или xorg.conf, редактировать которые рядовым пользователям не по чину, то запускаешь KWrite от имени root'а и редактируешь.

В новом KDE4 из окошка "Выполнить программу" исчезли все дополнительные опции. Чтобы выполнить приложение от имени другого пользователя, тут надо или перезагружать Иксы с соответствующим логином, либо запускать новый сеанс, или открывать терминал, выполнять команду su, и запускать нужное приложение из терминала. Ведь файлового менеджера с root привилегиями тоже не предусмотрено. (Если из файлового менеджера с root привилегиями открыть текстовой файл в каком-нибудь редакторе, то редактор откроется тоже с root привилегиями, как дочерний процесс).

Однако выход все же есть. Линукс есть Линукс, и всякую задачу можно решить не мытьем, так катаньем. Можно заранее приготовить себе в "Главном меню" кнопки "Файловый менеджер с root привилегиями" и "Текстовый редактор с root привилегиями".

Для этого нужно:

1. Переключиться к классическому стилю меню (правой кнопкой мыши открыть раскрывающееся меню, щелкнув на значке "Главного меню"). Это не обязательно, но редактор меню работает именно в классическом стиле.

2. Открыть "Редактор меню" (той же правой кнопкой мыши на том же значке).

3. На панели инструментов "Редактора меню KDE" нажать кнопку "Новый элемент".

4. В появившемся окошке ввести имя нового элемента, скажем KWrite-root. И нажать кнопку ОК. Пункт KWrite-root появится слева в списке приложений на первом месте.

5. А справа появятся свойства этого элемента. Имя уже вписано; если хотите, то введите описание (оно появляется при наведении указателя мыши) и комментарий в соответствующих графах. Но самое главное - это графа "Команда", в нее надо вписать команду запуска приложения. Для KWrite это, скорее всего, будет команда kwrite (если все пути -paths- правильно установлены). Если не работает, то нужно ввести полный путь к исполняемому файлу. Найти исполняемый файл поможет команда locate kwrite в root консоли. (Она выдаст множество информации, но вас интересуют только директории /bin, /sbin, /usr/bin и /usr/sbin, поэтому можно ввести команду # locate kwrite | grep '.bin' - она отберет только директории содержащие выражение "bin" с любым количеством символов впереди).

6. Теперь выберите значок для нового пункта "Главного меню". Для этого нужно щелкнуть левой кнопкой мыши на знаке вопроса, рядом с только что заполненными графами. Откроется окно со множеством значков, выберете любой на свой вкус.

7. Перетащите мышью новую строку меню на отведенное ей место (где вам удобно).

8. Теперь откройте вкладку "Дополнительно" и поставьте крестик в окошке "Запускать от имени другого пользователя", а в качестве имени другого пользователя укажите root.

9. Остается нажать на кнопку "Сохранить" на панели инструментов "Редактора меню". Появится окно "Изменение конфигурации системы", пробежит индикатор исполнения и оно закроется само.

Теперь можно открывать "Главное меню" и проверить, как работает новая кнопка. Если при нажатии на нее сначала появляется окно "Запустить с правами доступа root - KDE su", то все в порядке - вводите пароль root и редактируйте любые файлы.

Таким же способом можно сделать себе файловый менеджер с правами root, лучше выбрать Konqueror - его возможности несравненно больше, чем у Дельфина.

четверг, 19 февраля 2009 г.

Half-Life 2 на Wine 1.1.14

Блог.ру - sb0y - Half-Life 2 на Wine 1.1.14

На днях очень захотелось поиграть, скачал разобрался и пишу коротенькую how-to.

В процессе написания статьи использовалась самая обыкноваенная Ubuntu 8.10 и самый обыкновенный WINE 1.1.14, взятый из APTория winehq.org.

Для начала поставим на наш вайн DirextX 9, шрифты от Microsoft, для наилучшего вида, библеотеки Visual C++ 2003 и HTML движок Gecko.

Делать это проще всего при помощи скрипта WINE Tricks, а если конкретней то от пользователя, в консоли нужно выполнить 2 простых команды:

wget http://www.kegel.com/wine/winetricks
sh winetricks corefonts vcrun6 directx9 gecko

И дальше по мере необходимости жмём "далее".

Ещё осталось сделать небольшую хитрость с самой HL2. По непонятным причинам, под WINE, игра не может определить поддерживаемый в полной мере уровень аппаратной Directx, поэтому гасит максимум из того что знает. Игра в принципе работает, но вот только FPS колеблется от 1 до 5. Естественно с такими лагами играть уже не реально. Поэтому давайте зададим ей свой собственный уровень DirectX.
Отредактируйте появившийся  рабочем столе значок игры таким образом:


Тоесть к уже имеющимся параметрам надо дописать: -dxlevel 81
Ну или как вариант можно запустить игру из консоли командой:
wine hl2.exe -game ep2 -dxlevel 81

После этого игра обнулит все свои графические настройки и нужно будет далее запускать игру без ключа -dxlevel 81

P.S.
Игру брал отсюда, это самая обычная халфа, с кракнутым Steam.

Автор: sb0y

понедельник, 16 февраля 2009 г.

Оперный почтовик M2, imap и Gmail offline

Оперный почтовик M2, imap и Gmail offline / Opera / Хабрахабр


При правильной настройке и использовании встроенный в браузер Опера почтовик М2 работает намного эффективнее, чем распиаренный Gmail с оффлайн режимом работы (например в виде Google Chrome and Google Gears).
Именно о некоторых особенностях я и попытаюсь расказать

во-первых нам необходимо настроить гугловую почту по протоколу imap в почтовом клиенте м2

для тех, кто совсем не может обойтись без русского мануала следуем скриншотам ниже.


Выбираем пункт меню ИНСТУМЕНТЫ — Учетные записи почты и чата



Мастер создания учетной записи.
выбираем Электронная почта, далее жмем кнопку Вперед >





указываем логин и пароль, а так же
Выберите тип учетной записи — указываем IMAP



чаще всего этого и достаточно — Опера сама укажет необходимые значения для почтового сервера Gmail, вот только при желании можно руками изменить значение номера порта для сервера исходящей почты с предложеного Оперой 578 на 465

Настоятельно рекомендую в настройках входящей почты поставить галочку напротив экономичного режима работы.



обратите внимание:


если в качестве локальной папки для imap вы укажите Gmail
то ваша почтовая программа будет получать только письма из входящей почты.
Если этого не сделать — опера закачает список всех аймап папок и попытается выкачать все письма указанные в них — это к сожалению такой глюк в реализации протокола imap допушенный гуглом.



Но нас это не останавливает, переходим в настройку аймап папок и отключаем лишние папки



рекомендую оставить только папку входящие и обязательно отправленные.
таким образом заголовки всех писем когда либо отправленных через джимейл. И совершенно не важно какой именно почтовой программой вы это делали ранее.

следующая полезность опера м2 — контакты для адресной книги.


К примеру кликнув в почтовый адрес наш любимый браузер мнгновенно сортирует всю корреспонденцию связанную с этим контактом.



еще удобнее получается, если вы создаете контакт для которого указали несколько адресов электронной почты.
дополнительные адреса указываются в свойствах контакта во вкладке адреса простым перечислением через запятую.

У джимейла очень хороший поиск по письмам, но в Оперном почтовике он не хуже, а с учетом оффлайнового режима работы вкупе с мгновенной скоростью работы даже лучше.


пример поиска Gmail по слову rapidshare.com в моей почте


пример поиска Opera M2 по слову rapidshare.com в моей почте

Пример. В М2 есть встроенный фильтр по почте. Вводим к примеру rapidshare.com и моя опера сразу же отсортировала всю почту в теле которой встречаются ссылки на рапидшару, учитывая полученную и отправленную почту.

как известно на данный момент одним из главных достоинств почтовых клиентов является возможность отправки вложений в стиле добавил и забыл, без кропотливого добавления каждого вложения как это делается в веб-интерфейсах. В теории в режиме оффлайн новый джимейл становиться как полноценный клиент — отправил и забыл
но пока это не так :(

кроме того, используя джимейл нельзя отправить EXE файлы (не важно через веб-интерфейс или почтовую программу) даже если экзешник в ZIP-архиве джимейл не отсылает такое письмо. Решение все равно есть — упаковка EXE в RAR. В этом случаи все проходит.



сильная сторона Gmail: возможность работы со своей почтой из любого браузера. Опера естественно должна быть установлена у нас на компьютере.

С другой стороны сам режим Gmail оффлайн подразумевает работу аналогично опере т.е. на своем компе куда есть доступ ограниченному кругу лиц.

В качестве итога:


Если у Вас используется единственный компьютер, то любой оффлайновый почтовый клиент будет предпочтительнее, если же постоянно приходиться менять компы — веб-интерфейс наше все.

Я для себя выбрал Opera M2 для джимейлового ящика, хотя для почты используемой не ежедневно… Google Apps рулит и бибикает.
_________
Текст подготовлен в ХабраРедакторе
оригинал заметки

Сатья "Zenbook. Загрузка и загрузчики"

Подготовил для распечатки и выложил, как обычно в трех форматах, статью Алексея Федорчука Zenbook. Загрузка и загрузчики

http://linuxsam.narod.ru/index.html

"Первое, что следует сделать после установки новой системы — это загрузить её. И потому разговор о ней резонно начать именно с загрузки и загрузчиков. Правда, это не та тема, в которую начинающему пользователю придётся вникать в первую очередь — как говорилось в двух предыдущих главах, загрузчик будет настроен автоматически и, в первом приближении, правильно. То есть, скорее всего, свежеустановленный Zenwalk загрузится без проблем.

Однако:

  • во-первых, при установке не исключены неожиданности, которые потребуют ручного вмешательства, и,

  • во-вторых, потенциальный пользователь Zenwalk’а устанавливает его (в том числе и) для изучения.

А изучение любой системы начинается с её загрузки. Так что начнём с этого и мы — тем, кто пока не ощутил необходимости разбираться с этой темой, предлагается просто пропустить пока эту главу.

Содержание

  • О загрузке вообще

  • Загрузчик Lilo

  • Утилита liloconfig

  • Гранд мира загрузчиков

  • GRUB в Zenwalk’е"

Настройка Linux и Sun VirtualBox

Настройка Linux и Sun VirtualBox | Записки Плюшевого Крыса

Как-то на работе пришлось сконфигурировать Linux для запуска виртуальных машин, чтобы потестировать кластерную конфигурацию одной системы (Windows). Пока не забыл, перенесу запись сюда. Описана конфигурация Ubuntu 8.04 LTS Server и VirtualBox 1.6, но в процессе работы поднята до 8.10 (64-бит) (не рекомендую) и VirtualBox 2.0. Запуск уже созданной VM, решение проблем с конфигурацией и usbfs, настройка сети.

Предполагается, что уже есть настроенная система Linux (как пример используется Ubuntu 8.04LTS Server). Установлен Sun VirtualBox 1.6.x. Создана виртуальная машина, в которой установлен Windows 2003 Server R2 с последними обновлениями, Microsoft SQL Server 2005 SP2. Разработчик рекомендует использовать 64-разрядные версии своих продуктов. В примере используется система 32-бит.

Проблема usbfs

При попытке запуска виртуальной машины на Ubuntu 8.04, возникает ошибка инициализации подсистемы USB filesystem (usbfs). Сама проблема и методы ее решения описаны на сайте VirtualBox (USB failure with Ubuntu Gutsy, #747). Более подробное описание проблемы и ее решения: USB Devices unrecognised by virtualbox.

После редактирования файла "/etc/init.d/mountdevsubfs.sh", подсистема перезапускается командами:
sudo /etc/init.d/mountdevsubfs.sh stop
sudo /etc/init.d/mountdevsubfs.sh start

UPD: На Ubuntu 8.10 проблема решается другим способом.

В файл /etc/fstab добавляется строка вида:

#usbfs
none /proc/bus/usb usbfs devgid=46,devmode=664 0 0

После чего перечитывается конфигурация монтирования файловых систем:

$ sudo fstab -a

Проблема с запуском виртуальной машины Windows 2003 Server на Linux

При запуске готовой виртуальной машины может происходить сброс системы Windows в "синий экран" и перезагрузка в цикле. Чаще всего это происходит, если неправильно установлен тип контроллера IDE. По умолчанию для новой виртуальной машины установлен PIIX4! Более корректный вариант - PIIX3.

Бриджирование интерфейсов

Для того, чтобы виртуальные машины находились в той же сети, что и хост-машина и выглядели со стороны сети как самостоятельные компьютеры (в противном случае они будут видны только с хост-машины), они должны воспользоваться сетевым адаптером хост-машины, но иметь независимые адреса. Этого можно добиться бриджированием. В системе должен быть установлен пакет bridge-utils.
Конфигурация интерфейсов хранится в файле /etc/network/interfaces, например:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

# The bridge for VirtualBox clients
auto br0
iface br0 inet static
address 10.0.0.7
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
gateway 10.0.0.1
bridge_ports eth0

После изменения конфигурации, перезапустить сетевые интерфейсы:
sudo /etc/init.d/networking restart.

Создание виртуальных сетевых интерфейсов для VirtualBox (как минимум, один на VM):
sudo VBoxAddIF vbox0 имя_пользователя_в_системе br0.
Подробнее в документации к VirtualBox (раздел 6.7.1.1). Виртуальный сетевой интерфейс в конфигурации виртуальной машины просто вписывается, а не выбирается из списка.

Клонирование виртуальных машин

Если для запуска нужны 2 идентичные системы (конфигурация SQL Server Warm Backup), виртуальные машины лучше всего просто скопировать. Система не даст запустить скопированный образ виртуального диска. Скопированному образу диска необходимо дать новый UUID:
VBoxManage internalcommands setvdiuuid copied_disk.vdi.

Система готова к запуску. После старта каждой машины на забыть корректно настроить параметры сети Windows и имя машины (hostname).

Насколько KDE4 может быть легковесным?

Насколько KDE4 может быть легковесным?


Автор: seajey

Достаточно интересный вопрос.

На форуме forum.kde.org приводятся следующие советы:

  • Оптимизация на этапе сборки:

– Отключить поддержку стека метаданных - сервисы strigi и nepomuk.

– Отключить поддержку композитных эффектов в KWin.

– Отключить поддержку GUI-анимации.

– Отключить большинство модулей KRunner - оставить только самые необходимые, вроде запуска приложений и командной строки.

  • Использовать максимально простой стиль виджетов и windeco - т.е. скорее всего придётся попрощаться с богатым на градиенты и свечение Oxygen и Bespin, славным красивой анимацией виджетов.

  • Попробовать заменить отдельные части KDE на их легковесные аналоги. Браузер Konqueror на Arora, оконный менеджер KWin на Antico, Konsole на QTerminal и т.д.

  • Если мы заранее отказываемся от поддержки OpenGL, то реально имеет смысл собрать Qt 4.5 с флагом -graphicssystem raster. Результаты рефакторинга компонента Qt Falcon в Qt 4.5 впечатляют.

  • Использование Qt последней версии предполагает версию KDE не меньше 4.2, в которой также была произведена оптимизация производительности - ускорено переключение между рабочими столами и многое другое.

То, что подобное облегчение реально, доказывает этот пример. Используется система на базе AMD Geode 500 МГц (miniITX all-in-one плата) c 256 Мб оперативной памяти и выводом изображений на 19″ монитор. Операционная система - Debian, с подключенными экспериментальными репозиториями, среда KDE 4.1 beta.

В сборке облегченной версии могут помочь, например, kdesvn-build - удобный bash-скрипт для сборки KDE из кода, непосредсвенно взятого svn-репозитория, либо продвинутые возможности source-based дистрибьютива Gentoo.

четверг, 12 февраля 2009 г.

Записки Джоя: процесс загрузки Red Hat Linux

Виртуальная энциклопедия "Linux по-русски": новости, статьи, ссылки на материалы по операционной системе GNU/Linux.

Оригинал: Joey's Notes: The Red Hat Linux Boot Process
Автор: Джой Престиа (Joey Prestia)
Дата: Ноябрь 2008 г.
Перевод: Сергей Супрунов
Дата перевода: 09 февраля 2009 г.

Чтобы эффективно решать проблемы системы Linux, возникающие в процессе загрузки, очень важно хорошо этот процесс понимать. Например, в предыдущую смену кто-то выполнил незадокументированные изменения критического файла, которые оказывают влияние на процесс загрузки. Теперь, в свою смену, вы останавливаете машину для обновления аппаратной части. При последующей загрузке система терпит крах, и вы ничем больше не можете заниматься, пока не решите проблему. Изучение шагов загрузки и понимание того, что происходит во время каждой фазы, поможет вам быстро диагностировать любые возникающие неполадки.

Многие современные дистрибутивы прячут процесс загрузки от пользователя, используя экран-заставку (splash screen), который, как правило, можно сбросить, нажав клавишу <ESC> или ещё какую-то комбинацию клавиш в то время, когда заставка отображается; также может потребоваться удалить фрагмент rhgb quiet (для дистрибутивов, основанных на Red Hat) из строки kernel в /boot/grub/grub.conf. Поскольку дистрибутивов Linux существует великое множество, вам нужно уточнить процедуру сброса заставки (если в этом есть необходимость) в документации к вашему дистрибутиву.

Не лишним будет заметить: вы должны познакомиться с процессом загрузки до того, как проблемы возникнут. В процесс загрузки включено несколько важных файлов, и ошибки, скажем, в /boot/grub/grub.conf, /etc/fstab или /etc/inittab наверняка приведут к возникновению проблем. Так что, дополнительно к пониманию процесса загрузки, неплохо бы действительно изучить и эти файлы.

Предупреждение: если вы что-то делаете с /boot/grub/grub.conf или другим критически важным конфигурационным файлом, выполняйте это только на тестовом компьютере (в "песочнице"), пока вы полностью не начнёте понимать суть изменений. Я, чтобы приобрести опыт восстановления системы, моделируя различные проблемы загрузки, использую программу виртуализации Virtualbox.

[Когда работаете с важными файлами и у вас нет полной уверенности в ваших действиях, создание резервных копий не раз вас спасёт. Как минимум, следует сделать копию (а ещё лучше - серию копий) такого файла до того, как вы начнёте его изменять (например, grub.conf.3.orig для grub.conf), поскольку иногда критические ошибки некоторое время остаются незамеченными. -- прим.ред.]

Power-On Self Test

Начало загрузки - POST Первое, с чего начинается процесс загрузки - это самотестирование оборудования (POST), которое выполняется базовой системой ввода-вывода (BIOS) компьютера при включении питания. Задача этого самотестирования - внутренняя проверка компонентов системы. Способ, которым оно осуществляется, может отличаться для разных архитектур, но цель одна и та же. Обычно эта проверка распространяется на память системы (RAM), процессор, видеокарту, жёсткие диски и другие компоненты материнской платы. Многие платы расширения, такие как RAID-контроллеры, проводят собственную самопроверку. При возникновении ошибки генерируется или выводится на панель или консоль то или иное предупреждение; для сообщения об определённых ошибках POST использует последовательности звуковых сигналов. Если всё проходит нормально, BIOS считывает главную загрузочную запись (MBR) с жёсткого диска и загружает программу, которая там будет обнаружена, в память.

[Если говорить точнее, то MBR считывается не обязательно с жёсткого диска. В настройках BIOS можно задать последовательность проверки загрузочных устройств (жёсткий диск, CD-привод, дискета и т.п.), и программа-загрузчик будет считана с первого устройства, на котором она будет обнаружена - прим.перев.]

Главная загрузочная запись

Формат MBR Главная загрузочная запись (MBR) - это первые 512 байт загрузочного устройства, которые BIOS считывает в оперативную память. (Предполагается, что мы используем архитектуру x86.) Первые 446 байт из этих 512-ти обычно содержат низкоуровневый загрузочный код, ссылающийся на программу-загрузчик, размещаемую где-то в другом месте диска; он может даже указывать на другой диск. Следующие 64 байта содержат таблицу разделов диска (четыре 16-байтных записи, известных как схема основных разделов, или IBM Partition Table Scheme). Наконец, оставшиеся 2 байта - это так называемое "магическое число", используемое для обнаружения ошибок [по этой сигнатуре BIOS также определяет, является ли устройство загрузочным - прим.перев.].

Загрузчик

Назначение загрузчика - загрузить операционную систему. Существует множество загрузчиков, однако для Linux наиболее распространены LILO и GRUB. В Windows есть свой загрузчик - New Technology Loader (NTLDR). Временами вы можете сталкиваться с сообщением "NTLDR missing" - это сообщение об ошибке загрузчика Windows.

Независимо от того, какой именно загрузчик используется, важно помнить, что загрузчики очень сложны, и неопытный пользователь с правами root легко может привести его в неработоспособное состояние. На мой взгляд, экспериментировать и оттачивать свои навыки лучше всего только на машине, которую вы используете в качестве "песочницы", или в виртуальной среде. Одна-единственная опечатка при работе, скажем, с grub.conf, - и вы можете потерять больше времени на попытки исправить вашу ошибку, чем ожидали. Однако, если это происходит в "песочнице" и у вас есть время, вы приобретёте отличный опыт.

GRUB

Загрузочное меню GRUB Наиболее распространённый загрузчик, используемый сегодня в современных системах Linux, - это GRand Unified Bootloader (GRUB). Именно о нём мы и будем здесь говорить. GRUB - это программа, которая записывается в MBR и раздел /boot жёсткого диска и загружает операционную систему. Код загрузчика должен помещаться в 446 байт в MBR, но из-за постоянно повышающейся сложности операционных систем и необходимости загружать практически любую ОС, он значительно разросся в размерах. На данный момент часть кода загрузчика записывается в MBR, а оставшаяся - на раздел /boot. Кроме того, загрузчик GRUB имеет модульный дизайн и выполняет свою работу поэтапно, в несколько стадий, которые я рассмотрю лишь поверхностно.

Стадии GRUB

Работа GRUB делится на несколько стадий, называемых Stage1, Stage1_5 и Stage2. Ниже коротко рассматривается каждая из них.

Stage1

Код stage1 записывается в MBR. Из-за ограничений размера, stage1 обычно лишь указывает на следующую стадию GRUB - stage1_5 или stage2. GRUB может загружать или не загружать stage1_5, в зависимости от типа используемых файловых систем.

[root@localhost grub]# file stage1 stage1: x86 boot sector, code offset 0x48 

Stage1_5

Stage1_5 является промежуточным этапом между stage1 и stage2. Если вы посмотрите на содержимое каталога /boot/grub, то увидите различные файлы stage1_5, связанные с различными файловыми системами. Каждый файл Stage1_5 имеет дело с определённым типом файловой системы. Этот код позволяет правильно распознавать ФС и работать с ней.

В моём каталоге /boot/grub размещаются следующие stage1_5-файлы:

e2fs_stage1_5 fat_stage1_5 ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 

Stage2

Это основной образ GRUB, обычно размещающийся в файловой системе раздела /boot как файл /boot/grub/stage2. Он считывает файл /boot/grub/grub.conf, чтобы получить конфигурационную информацию, указывающую, как будет загружаться ядро. [Конфигурационный файл также может называться menu.lst - прим.перев.] Он также поддерживает интерактивный интерфейс, позволяющий вам устранять проблемы, переустанавливать загрузчик или изменять поведение GRUB. Stage2 предоставляет пользователю графическое меню загрузки. Если за отведённое время не будет нажата соответствующая клавиша для входа в скрытое меню или ничего не будет выбрано за заданный в настройках промежуток времени, GRUB загрузит пункт по умолчанию.

GRUB имеет действительно полезную функцию автодополнения клавишей <Tab>, помогающую запустить систему, если, к примеру, она перестала загружаться из-за ошибки в соответствующей строке вашего файла grub.conf. Мне много раз приходилось пользоваться этой возможностью, чтобы вновь заставить работать незагружающуюся систему.

/boot/grub/grub.conf

Этот файл определяет, какое ядро должно загружаться, а также файл образа initrd со всеми модулями, необходимыми для загрузки вашей системы.

Вот типичный для Red Hat Linux файл grub.conf:

Редактировать этот файл довольно просто, тем не менее, это довольно распространённый источник ошибок.

    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)   [Minimal BASH-like line editing is supported.  For the first word, TAB    lists possible command completions.  Anywhere else, TAB lists the possible    completions of a device/filename.]  grub>  

Ничего, кроме приглашения GRUB - и что теперь с этим делать? Если вы выполняете какие-нибудь изменения в этом файле, не забывайте сперва распечатывать его и делать резервную копию. Это спасёт вас, если вы сделаете опечатку. Бумажную копию можно будет использовать для повторного вызова опций, необходимых для того, чтобы загрузить вашу машину и исправить ошибку. Ошибки бывают разные, и имеет смысл хорошо познакомиться с некоторыми из наиболее распространённых, такими как неправильно заданное имя ядра или ошибочно определённый корневой раздел. Если вы всё же видите это приглашение GRUB, задайте себе следующий вопрос: "Что я должен сделать для восстановления системы?" Если на этот момент у вас нет никаких идей, но вы управляете системами Linux, вероятно, будет неплохо взять тестовую машину, смоделировать несколько ошибок в grub.conf и изучить ваш загрузчик. Ниже рассматривается, что нужно делать в подобной ситуации (обратите внимание на то, где я нажимаю клавишу <Tab>, чтобы просмотреть доступные опции).

Загрузка вручную с использованием автодополнения GRUB

grub> root (hd0,0)                                 Filesystem type is ext2fs, partition type 0x83  grub> kernel /<TAB>                 Possible files are: lost+found grub initrd-2.6.18-8.el5.img System.map-2.6.18- 8.el5 config-2.6.18-8.el5 symvers-2.6.18-8.el5.gz vmlinuz-2.6.18-8.el5  grub> kernel /vmlinuz-2.6.18-8.el5  ro root=LABEL=/      [Linux-bzImage, setup=0x1e00, size=0x1ad054]  grub> initrd /<TAB>  Possible files are: lost+found grub initrd-2.6.18-8.el5.img System.map-2.6.18- 8.el5 config-2.6.18-8.el5 symvers-2.6.18-8.el5.gz vmlinuz-2.6.18-8.el5  grub> initrd /initrd-2.6.18-8.el5.img    [Linux-initrd @ 0xfe8a000, 0x15547c bytes]  grub> boot       

Строка root (hd0,0) определяет первый диск и первый раздел на этом диске. В строке kernel вы можете ввести '/', нажать <Tab> и просмотреть доступные опции, затем выбрать одну из них, напечатать несколько букв (достаточных для однозначного определения опции), и пусть GRUB сам дополнит команду. Дополнительная опция "ro root=LABEL=/" обусловлена моим опытом работы с системами Red Hat; ваш опыт может подсказывать вам иное, так что вам нужно будет проверить эти опции в вашем файле grub.conf. Аналогично поступаем со строкой initrd: после '/' нажимаете <Tab>, чтобы GRUB отобразил все доступные варианты. Также у вас может возникнуть необходимость определить некоторые модули и дополнительные опции.

Ядро

Загрузка ядра Когда загрузчик передаёт управление ядру и ядро начинает загружаться, на экран выводится масса разнообразной информации. В системах, основанных на Red Hat, этот вывод можно убрать, добавив в строке kernel опцию "rhgb quiet". Она означает "тихую графическую загрузку" и будет подавлять загрузочные сообщения ядра. Когда мне нужно увидеть эти сообщения, я прерываю цикл GRUB нажатием клавиши <Esc>, нажимаю <e> для входа в режим редактирования (подсказка по модификации аргументов ядра есть внизу экрана GRUB) и изменяю строку kernel. Удаление "rhgb quiet" позволяет мне видеть сообщения ядра, так что я могу определить, есть ли среди них относящиеся, скажем, к панике ядра или подобным проблемам.

На этом этапе ядро тестирует ваше оборудование и подстраивается под него. Ядро также подгружает модули из образа initrd, которые требуются для работы с вашим оборудованием. Учтите, что эта информация очень быстро пробегает по экрану, так что если вы считаете, что ваша проблема лежит на уровне ядра, смотрите очень внимательно, и вы наверняка получите подсказку о том, где её искать. Когда ядро завершает свою инициализацию, оно запускает первый системный процесс - /sbin/init.

[Большая часть загрузочной информации доступна в файле /var/log/dmesg сразу после загрузки. - прим.ред.]

INIT

Сообщения процесса init Init - это первый процесс, который запускается в вашей системе. Он считывает файл /etc/inittab, исполняет /etc/rc.d/rc.sysinit, затем переходит на уровень исполнения, определённый в /etc/inittab.

Init получает идентификатор процесса (PID), равный 1. На показанном выше рисунке есть строка "INIT: version 2.86 booting". В этой точке процесса загрузки на сцену и выходит /sbin/init. В строке, следующей сразу за этой, видны сообщения, отображаемые сценарием командной оболочки /etc/rc.d/rc.sysinit; фактически, весь экран занят сообщениями этого сценария, так что вы можете получить представление о функциях, которые он выполняет. Кроме того, init обычно запускает несколько копий /sbin/getty или /sbin/mingetty, которые обеспечивают работу ваших виртуальных терминалов. Благодаря им вы можете нажать комбинацию клавиш с <Ctrl> + <Alt> + <F1> по <F6> и попасть в соответствующий виртуальный терминал.

Теперь давайте рассмотрим файл /etc/inittab - конфигурационный файл для процесса init.

В зависимости от выполняемых действий на экран выводятся обычные диагностические сообщения, то есть [ OK ] или [Failed], чтобы можно было решить возникающие проблемы. Вы, возможно, обратили внимание на сообщение "Press 'I' to enter interactive startup" (в системах на базе Red Hat). Оно говорит о выполнении rc.sysinit и предоставляет оператору определённый уровень контроля над находящейся в процессе загрузки системой. Работа rc.sysinit завершается переходом на уровень исполнения, который определён в /etc/inittab как уровень по умолчанию. Это ещё одно место возникновения ошибок, поскольку на серверах строка "id:5:initdefault:" обычно выставлена в 3, так что машина загружается на уровень 3 вместо 5. Ещё одна точка потенциальных ошибок - строка "ca::ctraltdel:/sbin/shutdown -t3 -r now", закомментированная, чтобы избежать перезагрузки сервера "комбинацией из трёх пальцев" (<Ctrl> + <Alt> + <Del>). Люди есть люди, и им свойственно ошибаться. Мне попадались опечатки в обоих местах, приводившие к проблемам. В отличие от команды "mount -a", которая сообщит вам о наличии ошибок в определении точек монтирования в файле /etc/fstab, выполнение команды "init q" приводит к повторному считыванию /etc/inittab, но не проверяет ошибки в самих уровнях исполнения, так что лучший способ узнать, есть ли ошибки, - это изучить этот файл и быть очень, очень аккуратным, если вы решите вносить изменения в любой из файлов /etc/rc*/*.

Уровни исполнения

Продолжение загрузки Когда система переходит на соответствующий уровень исполнения (runlevel), на экран продолжат выводиться сообщения процесса init (при условии, что ваша машина настроена на их вывод), опять-таки заканчивающиеся на [ OK ] или [Failed], в зависимости от результата. Это сервисы, стартующие на ваших уровнях исполнения. Если вы посмотрите на свой файл /etc/inittab, вы найдёте там строку наподобие "id:5:initdefault:". Это ваш уровень исполнения по умолчанию. На большинстве серверов он будет выставлен в 3, на рабочих станциях, конечно же, в 5, чтобы сеанс X Window System запускался сразу же после загрузки системы.

Чтобы узнать, какие процессы стартуют или останавливаются на том или ином уровне исполнения, следует заглянуть в каталог /etc/rcX.d (где X - интересующий вас уровень исполнения). Внутри этого каталога размещаются символьные ссылки на файлы в каталоге /etc/init.d. Имена файлов начинаются либо с 'K', либо с 'S' (означающих "останов" (kill) или "запуск" (start) соответствующего демона на этом уровне исполнения). Число сразу после этой буквы задаёт порядок выполнения сценария, так как они стартуют в алфавитном порядке. В системах, основанных на Red Hat, команда "chkconfig" изменяет символьные ссылки для запуска или останова демона на требуемом уровне. Соответственно, меняется буква 'S' или 'K', зачастую изменяется и следующее за ней число.

Login

Запуск этой утилиты подводит итог процессу загрузки типичной Linux-машины. На данном этапе вы должны уже лучше понимать, что происходит до того как на экране появится приглашение на вход в систему или диалоговое окно. В конце концов, всегда следует уделять внимание деталям: машина наверняка сама скажет вам, что не так, если у вас возникнут проблемы.

Ссылки

среда, 11 февраля 2009 г.

Снова о KDE 4.2

Поэкспериментировал с новыми кедами а ля 4.2 и таки обратно переехал на гнома (на ноуте по прежнему KDE 3.5 в DeepStyle и XFSE в Xubuntu 7.10). Ну не лежит душа к этому виндоподобному творению. Точнее, кое-что мне нравится. Но в основном это относится к некоторым чисто визуальным эффектам. Что же касается функциональности, то тут разработчики явно перемудрили. Куча этих их пресловутых виджетов не работает. Да и саму идею виджетизации я так до конца разумом и не воспринял. В чем преимущество? За что борьба? Да, некоторые виджеты действительно полезны и имеют право на существование. Но нельзя же доводить идею до абсурда, когда для того, чтобы получить элементарный инструмент для сворачивания всех окон приходится устанавливать в панель виджет, который отказывается запускаться, потом бороться с его настройкой, выяснять какие у него зависимости и т.д. Как по мне, это все же изврат...

воскресенье, 8 февраля 2009 г.

Перенаправление стандартных потоков данных в Linux

Виртуальная энциклопедия "Linux по-русски": новости, статьи, ссылки на материалы по операционной системе GNU/Linux.

Алексей Дмитриев, февраль 2009.

Введение

Прежде чем заводить речь о перенаправлениях, нужно представлять себе работу процесса в Юниксовидных ОС. Вдаваться во внутреннюю структуру процесса не входит в наши намерения, мы будем рассматривать процесс как некий "черный ящик", а лучше завод, перерабатывающий данные.

Наблюдая за заводом извне, мы замечаем три потока:

  • 0. На территорию завода поступает входящий поток "сырья" - данных подлежащих переработке.
  • 1. Из ворот выходит поток продукции - данных, подвергшихся переработке на заводе-процессе.
  • 2. Из трубы поднимается дым, по виду которого можно судить о работе завода. Если дыма не заметно, то завод работает нормально (у нас ведь экологически чистое производство информации). Если вдруг повалил густой дым, то, ясное дело, что-то не в порядке.

На компьютерном языке эти три потока данных называются стандартными потоками. Каждый имеет числовой дескриптор (номер), название и направление по умолчанию.

Дескриптор 0: Входящий стандартный поток (Standart Input, stdin). По умолчанию, поступает со стандартного устройства ввода (обычно с клавиатуры).

Дескриптор 1: Выходящий стандартный поток (Standar Output, stdout). По умолчанию направляется на стандартное устройство вывода (обычно экран монитора).

Дескриптор 2: Стандартный поток сообщений об ошибках (Standart Error, stderr). С английского переводится как "стандартная ошибка", но в русском языке такое выражение звучит двусмысленно. Поэтому я предпочитаю называть его стандартным сообщением, тем более, что в большинстве случаев оно сообщает не об ошибке, а о ходе процесса. По умолчанию направляется туда же, куда и стандартный вывод - на экран монитора, но не смешивается со стандартным выводом, а раскладывается по разным "полкам".

Входящий поток, показан зеленым, имеет дескриптор 0
Выходящий поток, показан красным, имеет дескриптор 1
Поток сообщений, показан синим, имеет дескриптор 2

Вот пример стандартного ввода и вывода:

$ echo стандарный ввод   (Enter)  стандарный ввод 

Команда echo направляет поток данных с клавиатуры на экран дисплея.

А вот пример стандартного сообщения об ошибке:

$ cat file.txt  cat: file.txt: Нет такого файла или каталога 

Каждый из этих стандартных потоков можно перенаправлять, то есть направлять не туда, куда поток направляется по умолчанию. Это и есть перенаправление.

Перенаправление стандартного вывода

Во многих случаях удобнее работать не со стандартным выводом на монитор, а с файлами. Файлы можно сохранять, редактировать, посылать по почте, и т.д. Мы всегда можем перенаправить вывод команды в файл, применив оператор перенаправления > и указав имя файла. При этом не важно, существует ли такой файл на самом деле. Если такого файла нет, то он будет создан, а если есть, то перезаписан (все прежнее содержимое будет стерто, а новое записано).

$ echo стандарный ввод > ввод.txt

Как видите, на экране не появились слова "стандартный ввод", зато в текущей директории появился файл ввод.txt с этими словами.

Можно дописать в файл ввод.txt вывод других команд, не уничтожая имеющегося содержимого. Для этого служит оператор >>

$ echo и стандарный вывод >> ввод.txt

Проделайте этот опыт самостоятельно, чтобы убедиться, что это так. Для определения текущей директории применяется команда pwd:

$ pwd  /home/ваш_логин/ 

Это я на случай, если вы не сразу найдете файл ввод.txt. (pwd расшифровывается как "print working directory" - "сообщить рабочую директорию").

Внимание: Следите за тем, в какой директории вы находитесь и без надобности не перенаправляйте вывод в существующие файлы. Могут быть уничтожены важные файлы (особенно, если вы имеете дурную привычку работать под логином администратора - root'а).

Перенаправление ввода

Не все команды принимают файлы в качестве аргумента; некоторые принимают данные только из стандартного ввода.

Например, команда tr, которая служит для перевода (замены) выбранных символов в другие символы или удаления их.

На этот случай служит оператор перенаправления ввода < .

$ tr [a-z] [A-Z] < case.txt  TRANSLATION LOWER CASE INTO UPPERCASE 

В файле case.txt содержался тот же текст, только написанный строчными буквами.

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

$ tr [a-z] [A-Z] < case.txt > case-upper.txt

Появится файл case-upper.txt, содержащий только что виденный нами текст.

И, наконец, можно дописать изменения текста в исходный файл:

$ tr [a-z] [A-Z] < case.txt >> case.txt

А вот пытаться переписать исходный файл измененным текстом не получится - будут утеряны и исходный файл и результат изменений:

$ tr [a-z] [A-Z] < case.txt > case.txt

Попробуйте сами...

Перенаправление стандартного потока сообщений

Если команда "страдает болтливостью", то есть выводит множество сообщений, которые вам не нужны, или непонятны, то лучше перенаправить поток этих сообщений в другое русло. Вывод ненужных сообщений замедляет работу команды, засоряет экран монитора, отвлекает от работы.

Например, команда wc, которая подсчитывает количество строк, слов, байт, или символов, работает только с текстовыми файлами (кроме опции -с). Если среди заданных команде для обработки файлов попадутся бинарные или .html файлы, то команда выдаст множество сообщений. Зададим команде wc просчитать все файлы в текущей директории (при помощи символа астериска - *)

$ wc *  wc: Documents: Is a directory       0       0       0 Documents       9      14     207 MyComputer.desktop     310    1963   12555 bookindx.txt       2       5      39 case-upper.txt       2       5      38 case.txt wc: mill.gif:1: Invalid or incomplete multibyte or wide character wc: mill.gif:2: Invalid or incomplete multibyte or wide character wc: mill.gif:3: Invalid or incomplete multibyte or wide character wc: mill.gif:4: Invalid or incomplete multibyte or wide character wc: mill.gif:5: Invalid or incomplete multibyte or wide character wc: mill.gif:6: Invalid or incomplete multibyte or wide character     73     307   12702 mill.gif     119     745    9468 redirections_and_pipes.txt wc: sed.html:53: Invalid or incomplete multibyte or wide character     2732   14592  167105 sed.html     682    4198   29314 sed_mcmahon.txt     114     156    1715 shema.txt     150     318    5066 trash.desktop      15      18     258 Дисковод       1       0       2 Текстовый файл    4209   22321  238469 итого 

Строки вывода, начинающиеся с wc: являются сообщениями. На самом деле этих сообщений было намного больше, мне пришлось уменьшить их количество, чтобы не загромождать статью.

Избавиться от них очень просто: нужно воспользоваться тем же оператором перенаправления (>), предварив его номером перенаправляемого потока. Стандартный поток сообщений имеет дескриптор (номер) 2, вот и поставим двойку перед оператором перенаправления - 2> . Куда же перенаправить этот поток? Можно перенаправить в какой-нибудь файл, если хотите на досуге разобраться с этими сообщениями. (Например, при компиляции программ выдается множество сообщений, которые вовсе не бессмысленны). А если сообщения вам не нужны, то лучше перенаправить их в файл /dev/null. Это специальный файл, который принимает любое количество данных и обращает их в ничто - эдакая бездонная и безвозвратная мусорная корзина, а лучше - "черная дыра". Вот в нее то и направим ненужный поток сообщений:

$ wc * 2> /dev/null       0       0       0 Documents       9      14     207 MyComputer.desktop     310    1963   12555 bookindx.txt       2       5      39 case-upper.txt       2       5      38 case.txt      73     307   12702 mill.gif     119     745    9468 redirections_and_pipes.txt    2732   14592  167105 sed.html     682    4198   29314 sed_mcmahon.txt     114     156    1715 shema.txt     150     318    5066 trash.desktop      15      18     258 Дисковод       1       0       2 Текстовый файл    4209   22321  238469 итого 

В итоге получаем на экране только вывод программы.

Возникает резонный вопрос: "А можно ли прочитать на экране только сообщения, а вывод программы перенаправить в файл?". Конечно можно:

$ wc * 1> /dev/null

а, принимая во внимание, что перенаправляется по умолчанию только стандартный вывод (поток номер 1), то единичку перед оператором перенаправления ставить ни к чему, результат будет один:

$ wc * > /dev/null  wc: Documents: Is a directory wc: mill.gif:1: Invalid or incomplete multibyte or wide character wc: mill.gif:2: Invalid or incomplete multibyte or wide character wc: mill.gif:3: Invalid or incomplete multibyte or wide character ... 

Существует также возможность перенаправить потоки 1 и 2 в разные файлы:

$ wc * > wc.txt 2> /dev/null

Убедитесь сами, что файл wc.txt не содержит стандартных сообщений.

И последняя хитрость. Можно направить оба выходных потока: стандарный вывод и стандартное сообщение в один и тот же файл, так, чтобы в файле сохранить все, что мы увидели бы на экране монитора:

$ wc * > wc.txt 2>&1

Первый оператор перенаправления направляет стандартный вывод в файл, а второй оператор перенаправления указывает, что стандартное сообщение следует направить туда же, куда и поток номер 1.

Заключение

Перенаправление стандартных потоков широко применяется при работе в командной строке. Кроме очевидной потребности сохранять результаты работы различных команд в файлах, перенаправление позволяет избавиться от ненужных сообщений, задавать командам данные из файлов, автоматизировать рутинные задачи.