tag:blogger.com,1999:blog-12129517494554914392024-02-07T08:00:06.950+02:00Путь МандрівникаМандрівник - это человек, который пользуется Mandriva Linux, а также путишественник по украински. Мой блог в основном про СПО, но бывает и жесткий оффтоп. Развиваю свои скудные писательские способности и попутно делюсь накопленым опытом. Живу под GNOME. Еще вопросы?Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.comBlogger23125tag:blogger.com,1999:blog-1212951749455491439.post-75393057068030322052011-05-06T10:25:00.021+03:002011-06-11T12:44:06.816+03:00Знакомимся с Solaris 11 Express<div align="justify">Уже давно я хотел в живую увидеть Solaris, но все никак руки не доходили или я забывал. Но вдруг в новостях я прочитал о выходе новой версии этой ОС, отбросил все свои дела и принялся качать... Для начала я решил попробовать загрузочный диск. И так, давайте разберёмся, что такое Solaris и с чем его едят.<b style="color: #0084d1; font-weight: bold;"><br />
Кратко о... </b>Solaris — это пропиретарная ОС, построенная на базе POSIX-совместимого окружения, который раньше носил название SunOS. Расчитан в основном на сервера широкого профиля и для рабочих станций до недавнего времени мало подходил. На данный момент быстро развивается и является современной и мощной операционной системой. История уходит корнями в далёкий 1982г., когда Sun Microsystems решили создать свою версию UNIX, ибо тогда это было модно. Название не было до конца определено, поэтому релиз временно назвали Sun UNIX 0.7, а всего через год ее уже окончательно переименовали в SunOS. На то время использовалась кодовая база BSD. В 1992 году произошло важное событие — смена кодовой базы с BSD на SVR4 (System V Release 4). Для увеличения коммерческой привлекательности её переименовали на Solaris. Если в консоли набрать «uname -a», то можно увидеть это старое название. Solaris, как и другие UNIX, в 90-ых пережил смену формата исполняемых файлов с a.out в более современный ELF, из-за чего отлаживать программы стало проще. В 2005г. было принято решение открыть большую часть исходных кодов в виде проекта OpenSolaris. На этот шаг, скорее всего, их вдохновила компания RedHat, которые разделили свои продукты на версии для бизнеса и домашнего использования, и, как результат, увеличили прибыль. Директора коммерческого отдела Sun Microsystems также думали повысить таким образом популярность системы, однако большого результата для коммерции это не принесло. Зато принесло для сообщества — много свободного ПО для серверов помогло сэкономить любителям Solaris крупную сумму денег. Недавно, в апреле 2010 года, фирму Sun Microsystems внезапно купил IT-гигант Oracle. Для многих это стало неожиданным и сомнительным событием. Но вопреки всем страхам и опасениям в итоге на судьбу ОС это практически не повлияло. В том числе и на популярность. Кстати, на счет популярности. Solaris никогда не был широко распространён на рабочих станциях, да и на серверах ей далеко до Linux и Windows. Solaris выбирают те люди, которые знают, чего хотят от системы, а не для того, чтобы выпендрится и потом и хвастаться перед знакомыми.<b style="color: #0084d1; font-weight: bold;"><br />
Где взять? </b>Solaris можно официально и бесплатно скачать с сайта Oracle - <a href="http://www.oracle.com/solaris">http://www.oracle.com/solaris</a>. Для домашнего пользования лицензия бесплатна, коммерческим организациям все-таки денежку придется выложить. <b style="color: #0084d1; font-weight: bold;"><br />
Содержимое диска.</b> Так как я качал версию LiveCD, то набора пакетовна нем быть не должно. Так и есть. В корневом каталоге можно наблюдать файловую систему, которая появится после загрузки в папке «/». Вот только только почти все папки там пустые. Все содержимое ОС хранится в сжатой ФС с именем solaris.zlib и размером 550 Мб. Что это за формат мне даже file не сказал (data), а рыться в поисках истины я не стал.<br />
<b style="color: #0084d1; font-weight: bold;">Что нового? </b>Давайте рассмотрим что же такого вкусненького нам тут предлагают и какие новые технологии присутствуют. Для начала скажу, что Solaris 11 Express предназначается для быстрого развёртывания серверов, благодаря чему упростилась установка и увеличилась скорость инсталляции. Релиз рассчитан для системных администраторов и разработчиков ПО, которые хотят просто протестировать эту систему перед выходом основной, корпоративной версии. Ну, как для тестовой она очень даже хороша. Это похоже на то, как RedHat сначала свои новинки тестирует на Fedora, а потом уже в зависимости от результатов внедряет в upstream. По рассказам, новая версия ставится быстрее и легче предыдущей. Правда ли это — я не проверял, не было возможности. Это раз. Так же внедрена новая технология управления ресурсами, в результате чего Solaris остаётся отзывчивой и шустрой даже при очень высокой нагрузке. Это в свою очередь снижает время простоя сервера, а то и вовсе сводит его на /dev/null. Это два. Не обошлось и без усовершенствования файловой системы ZFS: улучшены механизмы шифрования, файловой дедупликации и резервного копирования. Oracle заявляет, что Solaris 11 Express может поддерживать "сотни терабайт данных на жёстких дисках" и сотни гигабайт оперативной памяти, только вот на всех ли платформах, я так и не понял. Ну и какой сервер без встроенной виртуализации? Подробнее можно прочитать <a href="http://www.oracle.com/us/corporate/press/187136">тут</a>.<b style="color: #0084d1; font-weight: bold;"><br />
Первые впечатления.</b> Записываемся на болванку и загружаемся. Как говорят, прихожая — это лицо дома. А загрузчик — это первое, что видит пользователь при знакомстве с новой ОС. В роли загрузчика тут выступает мой любимый старый GRUB версии 0.97.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Q-jvS-60eKTij-oIZXB6HnwXz_totcBFWl6iLU4Pm35twx8lDjGCFzZZJiskrD1GyFc5r43hJEOADXkOeEHhS5Mchzyt4BsJtXUOYArRi_I6bkJCjrZxstWpmzuc6uZplv0_lA24oASG/s1600/GRUB.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Q-jvS-60eKTij-oIZXB6HnwXz_totcBFWl6iLU4Pm35twx8lDjGCFzZZJiskrD1GyFc5r43hJEOADXkOeEHhS5Mchzyt4BsJtXUOYArRi_I6bkJCjrZxstWpmzuc6uZplv0_lA24oASG/s640/GRUB.jpg" width="640" /></a></div>Ну и слава Богу, что Oracle не стали изобретать велосипед и придумывать своё. Загружается не быстро, с красивой графической заставкой, которая всегда мешает настоящим сисадминам:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOZh6xTNm7pVgCZ-tCJqoIcFEY32xzD79rqCDjIHj-TCGO-XtzkyFnu4gwkJPwBqI7414Pxe_dqDxvOdFy5tQf-7RPM0Zg4MvDHLhAYIW0WY_nmEgMD2PkEkz73Dm83ZUyHccagUVRKOLq/s1600/10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOZh6xTNm7pVgCZ-tCJqoIcFEY32xzD79rqCDjIHj-TCGO-XtzkyFnu4gwkJPwBqI7414Pxe_dqDxvOdFy5tQf-7RPM0Zg4MvDHLhAYIW0WY_nmEgMD2PkEkz73Dm83ZUyHccagUVRKOLq/s640/10.png" width="640" /></a></div>Поэтому нажимаем Esc и смотрим, что происходит при загрузке. Далее прямо во время загрузки нас спросят про язык интерфейса и раскладку клавиатуры. И тут явился он — X.org. Если честно, то я ожидал увидеть классику UNIX дэсктопа — оболочку CDE. Но передо мной появился рабочий стол GNOME 2.30.1, чему я был несоизмеримо рад. Как оказалось, CDE выпилили еще пару выпусков назад как морально и технически устаревшую, но её можно поставить отдельно. На вид смотрится неплохо, стандартная тема Nimbus, как для меня, довольно милая, заимею ее я на и на Linux:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7XkmB8m7C34FRsrP4hMEHCDkGBc2kEmqp24WZ-w5sJphq1iaZnJepJZAhvKxItQYC4ZCh0bKutbmJNNyoa-OT0px-S2iMRCZj8CtdYRxM6d1ly_Svcu0FWV3Bk6Qjo7sPx-U77jFTTYix/s1600/Desktop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7XkmB8m7C34FRsrP4hMEHCDkGBc2kEmqp24WZ-w5sJphq1iaZnJepJZAhvKxItQYC4ZCh0bKutbmJNNyoa-OT0px-S2iMRCZj8CtdYRxM6d1ly_Svcu0FWV3Bk6Qjo7sPx-U77jFTTYix/s640/Desktop.png" width="640" /></a></div>Локализация на русский выполнена на удивление хорошо, к этому претензий нет, а вот на украинский не очень хорошо перевели, на оценку где-то 3 с плюсом. Приятно удивил тот факт, что моя временная видеокарта не только правильно определилась, но и автоматически завелись пропиретарные драйвера nvidia с 3D-ускорением и эффектами compiz. Из приложений я первым делом поглядел утилиты администрирования. Тут от меня для запуска потребовали пароль root. Так как должно быть все интуитивно понятно, пробуем ввести 'solaris'. О чудо, оно его проглотило, ну и на том спасибо.<b style="color: #0084d1; font-weight: bold;"><br />
Установка.</b> Установить Solaris оказалось довольно просто: нужно просто на рабочем столе найти соответствующий значок и следовать инструкциям. Судя по найденной мною в интернете информации, установщик явно сильно развился в последнее время. Раньше установка проходила так: запускается «голый» Х-сервер, в нем терминал. В нем задаются разные вопросы, на которые нужно было вводить ответы с клавиатуры. По рассказам это занимало 15-20 минут. Сейчас же мы имеем хороший, толковый установщик, похожий на установщик Ubuntu, с которым даже новички справятся:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUlZNVAgK0uKX5vaC7l3jMw5iB7NfSYk6QDJNaKQlwLjAqPtGy8S9mFlgSS9HY8R-A9tRv5ywo2bQZehL77nSX8wm0mwdNDd_Z7LHYYFXJazunNFeF_YUqXjLJmeILVsqS7cZZaVVgfGsg/s1600/02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUlZNVAgK0uKX5vaC7l3jMw5iB7NfSYk6QDJNaKQlwLjAqPtGy8S9mFlgSS9HY8R-A9tRv5ywo2bQZehL77nSX8wm0mwdNDd_Z7LHYYFXJazunNFeF_YUqXjLJmeILVsqS7cZZaVVgfGsg/s640/02.png" width="640" /></a></div>Настройка времени, диска, пользователя. Далее устанавливаем поддержку языка — украинский, конечно же. Еще пару простых вопросов и можно читать преимущества Solaris во время инсталляции.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9swzQvvr_VPUisWOcRY-2mCrm70UJOnxprkXVuiRMFaWOUAO-AQzS9naSs_Ie8BzUYmB24mq7hB5WSnDsdYD5mbVNDHihDopatar778qqs2CeDAU9EtZzGFbdDkzfLsgTFXk-hs1ZlY-G/s1600/04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9swzQvvr_VPUisWOcRY-2mCrm70UJOnxprkXVuiRMFaWOUAO-AQzS9naSs_Ie8BzUYmB24mq7hB5WSnDsdYD5mbVNDHihDopatar778qqs2CeDAU9EtZzGFbdDkzfLsgTFXk-hs1ZlY-G/s640/04.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzHoWS2jGfNw7Zdw571-Ge0FuDnPExNEnP9o5dOvdj5CkmTGRnQTLCG5BJVLh68dMkOTolIQyMQqNp2s6Ngh0JR2mMscShzBbCsX1hIBOGlL70E5Rvmanbm-1EF_4GSvOqTsoxJMgQbtND/s1600/05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzHoWS2jGfNw7Zdw571-Ge0FuDnPExNEnP9o5dOvdj5CkmTGRnQTLCG5BJVLh68dMkOTolIQyMQqNp2s6Ngh0JR2mMscShzBbCsX1hIBOGlL70E5Rvmanbm-1EF_4GSvOqTsoxJMgQbtND/s640/05.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnz84iCL_U5MfcqCjsGavGkPZ16ZbYGy-jvRG3bEbWr47P345d3u_b5KxV0w-Hwkm2xZOCszYs-TQwlGATskOPQx_XB48kb_xV4hrpov_Us_GlAdc5VdwX50hpVRhOLgQIw0h_EDXb9aqM/s1600/06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="434" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnz84iCL_U5MfcqCjsGavGkPZ16ZbYGy-jvRG3bEbWr47P345d3u_b5KxV0w-Hwkm2xZOCszYs-TQwlGATskOPQx_XB48kb_xV4hrpov_Us_GlAdc5VdwX50hpVRhOLgQIw0h_EDXb9aqM/s640/06.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkfc2QClPKpGnvuALvCed-0oH0GprqtF3Y-86VwO6ADaAAGd4x4xyvPtBFak96dTo5pAzFZFPxxm8dXXk0878FdmfNdk8eWdfNRBiS75gpgjVtGusDa_fd3j0GLx8azcYz_kzzddXU9XTo/s1600/07.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkfc2QClPKpGnvuALvCed-0oH0GprqtF3Y-86VwO6ADaAAGd4x4xyvPtBFak96dTo5pAzFZFPxxm8dXXk0878FdmfNdk8eWdfNRBiS75gpgjVtGusDa_fd3j0GLx8azcYz_kzzddXU9XTo/s640/07.png" width="640" /></a></div>Цветовая схема прогресс-бара процесса установки мило-оранжевого цвета. Рядом есть кнопка «Справка», материал для которой подготовил сам Капитан Очевидность. Кэп предупреждает, что «Запрещается прерывать процесс установки» и что «Во время установки ОС отображается индикатор хода выполнения»:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiUrtBKx1KgxUhzWMjby9Xii5S6QhqMvb9Duut-5QTLBA-YM35MWKI8IFxLm-lVO-BmaSjMgtH-6TGkdtQO-tRppHGEJRvLTcowdTsDrP7ls0Wo2yzfxQTshPBiUFTm_QYZ4PCbnUaQdU3/s1600/08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiUrtBKx1KgxUhzWMjby9Xii5S6QhqMvb9Duut-5QTLBA-YM35MWKI8IFxLm-lVO-BmaSjMgtH-6TGkdtQO-tRppHGEJRvLTcowdTsDrP7ls0Wo2yzfxQTshPBiUFTm_QYZ4PCbnUaQdU3/s640/08.png" width="640" /></a></div>После завершения перезагрузимся.<b style="color: #0084d1; font-weight: bold;"><br />
Первый запуск.</b> Первый раз запускается долго, у меня минут 4 заняло. Если во время созерцания загрузочной картинки нажать Esc, можно почитать лог загрузки и понять, что так долго запускается потому, что обновляются какие-то сервисные дескрипторы smf. Далее уже по привычной нам схеме меню GDM для авторизации и собственно сам рабочий стол. Да, оформлен он красиво, панелька на вид напоминает свою сестру из KDE 4.6.<br />
<b style="color: #0084d1; font-weight: bold;">Приложения.</b>Программ меньше, чем под Linux, это правда, ведь ОС нацелена в основном н сервера. Но практически все вами любимые приложения можно можно собрать под эту ОС, если это еще не сделал кто-то другой. Набор приложений в LiveCD — как и в обычных Linux-дистрибутивах: браузер, почтовик, IM, просмотр картинок и документов. Стандартный гномовский набор, такой же, как, к примеру, в Mandriva One или Ubuntu. Есть Flashplayer и Java, зато нет кодеков mp3 и видео. С мультимедийной стороны дефолтная солярка практически не юзабельная. Офисных приложений и игр так же нет. Все это решается установкой с репозиториев, как и положено. Всего доступно около 11 000 приложений от Oracle и сторонних разработчиков.<br />
<b style="color: #0084d1; font-weight: bold;">Установка приложений.</b> Теперь пробуем поставить нашу первую программу. В Solaris, как и в большинстве других UNIX, установка возможна путем сборки с исходных кодов и с помощью пакетов. Формат пакетов тут свой и имеет расширение «.pkg». Для пробы скачал и решил установить Opera 10.11. Если дважды клацнуть на пакет, то... нет, не будет предложения его установить, гном не знает, как обработать этот тип файла и просит выбрать программу для открытия. Ставим тогда через консоль командой «pkgadd». Хочу заметить, что Опера встала довольно криво, в папку /usr/local, которая по-умолчанию даже не прописалась в переменную $PATH — приходится набирать полный путь к файлу.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5nsISNXl4fOEyNGR4vWbqWMaAJGRJemSai9zEnKCckc84Fofuc39rSCYrxLRRCoZ2JHHaR5453riX2BGd00NESSnPAlw7Yg_m_FesGgYuxfGYqYjMwcIeukLKOf5MkqR-_G9JCV3f5ztP/s1600/opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="406" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5nsISNXl4fOEyNGR4vWbqWMaAJGRJemSai9zEnKCckc84Fofuc39rSCYrxLRRCoZ2JHHaR5453riX2BGd00NESSnPAlw7Yg_m_FesGgYuxfGYqYjMwcIeukLKOf5MkqR-_G9JCV3f5ztP/s640/opera.png" width="640" /></a></div><b style="color: #0084d1; font-weight: bold;">Структура.</b> Давайте немного разберём внутреннюю структуру этой операционной системы путем сравнения с Linux. Устройства тут хранятся в двух местах — /dev и /devices. Первая основная системная, вторая как бы тоже содержит устройства, но менее значимы. Аудиодрайвер — OSS. Ядро системы располагается в каталоге /kernel. Интересно посмотреть на вывод команды mount (файл /etc/fstab отсутствует, его нереименовали на /etc/mnttab):<br />
<div class="вырезка_из_логов"><code><span><br />
/ on rpool/ROOT/solaris read/write/setuid/devices/rstchown/dev=2b90002 on Чт січ. 1 03:00:00 1970<br />
/devices on /devices read/write/setuid/devices/rstchown/dev=8980000 on Нд трав. 8 22:16:39 2011<br />
/dev on /dev read/write/setuid/devices/rstchown/dev=89c0000 on Нд трав. 8 22:16:39 2011<br />
/system/contract on ctfs read/write/setuid/devices/rstchown/dev=8a80001 on Нд трав. 8 22:16:39 2011<br />
/proc on proc read/write/setuid/devices/rstchown/dev=8a00000 on Нд трав. 8 22:16:39 2011<br />
/etc/mnttab on mnttab read/write/setuid/devices/rstchown/dev=8ac0001 on Нд трав. 8 22:16:39 2011<br />
/etc/svc/volatile on swap read/write/setuid/devices/rstchown/xattr/dev=8b00001 on Нд трав. 8 22:16:39 2011<br />
/system/object on objfs read/write/setuid/devices/rstchown/dev=8b40001 on Нд трав. 8 22:16:39 2011<br />
/etc/dfs/sharetab on sharefs read/write/setuid/devices/rstchown/dev=8b80001 on Нд трав. 8 22:16:39 2011<br />
/lib/libc.so.1 on /usr/lib/libc/libc_hwcap3.so.1 read/write/setuid/devices/rstchown/dev=2b90002 on Нд трав. 8 22:17:20 2011<br />
/dev/fd on fd read/write/setuid/devices/rstchown/dev=8c80001 on Нд трав. 8 22:17:24 2011<br />
/tmp on swap read/write/setuid/devices/rstchown/xattr/dev=8b00002 on Нд трав. 8 22:17:27 2011<br />
/var/run on swap read/write/setuid/devices/rstchown/xattr/dev=8b00003 on Нд трав. 8 22:17:27 2011<br />
/export on rpool/export read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90006 on Нд трав. 8 22:17:46 2011<br />
/export/home on rpool/export/home read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90007 on Нд трав. 8 22:17:46 2011<br />
/export/home/keedhost on rpool/export/home/keedhost read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90008 on Нд трав. 8 22:17:46 2011<br />
/rpool on rpool read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90009 on Нд трав. 8 22:17:46 2011<br />
/home/keedhost on /export/home/keedhost read/write/setuid/devices/rstchown/dev=2b90008 on Нд трав. 8 22:20:52 2011<br />
/media/Oracle_Solaris_Live_X86 on /dev/dsk/c7t1d0s2 read only/nosetuid/nodevices/rstchown/noglobal/maplcase/rr/traildot/dev=1780042 on Нд трав. 8 22:21:53 2011<br />
</span></code></div>Монтируется куча всего непонятного, в которой фиг поймёшь, что к чему, зачем и куда монтируется. Тут я вообще запутался окончательно :) Среди групп и пользователей ничего примечательного не нашел. Для мигранта придётся в Solaris заново учить имена устройств, структуру сервисов, файловую систему ZFS и некоторые утилиты администрирования. Но для Linux-администратора это не должно вызвать больших затруднений. Даже названия архитектур тут разные — не x86, а i86pc:<br />
<div style="background-color: black; border: 1px solid green; color: white; float: justify; padding: 5pt;"><code>keedhost@solaris:~$ uname -a</code><br />
<code> SunOS solaris 5.11 snv_151a i86pc i386 i86pc Solaris<br />
</code></div>Что упрощает использование так это то, что почти все полюбившиеся под Linux программы можно собрать также под Solaris, и тут даже не придётся искать альтернативы, как это было при миграции с Windows на Linux. К тому же есть реализация Linux API, которое позволяет запускать линуксовые приложения как родные.<br />
<b style="color: #0084d1; font-weight: bold;">Что разочаровало. </b>Первое и самое главное, от чего я начал нервничать, так это от настройки клавиатуры. Она настраивается совсем не так, как в обычном GNOME, тут придумали свой аплет, который я так и не смог настроить. Это действительно ужасно.<b style="color: #0084d1; font-weight: bold;"><br />
Альтернативы.</b> Из-за покупки Oracle компании Sun Microsystems все с напряжением следили за судьбой продуктов этой фирмы, в том числе и Solaris. А что, если код закроют, или вообще прекратят выпуск? И поклонники начали собирать свои версии этой ОС. Были не удачные проекты, а были и довольно стоящие. Из наиболее удачных можно отметить проекты <a href="http://openindiana.org/">OpenIndiana</a>, <a href="http://www.belenix.org/">BeleniX</a>, <a href="http://schillix.berlios.de/">Schillix</a><br />
<b style="color: #0084d1; font-weight: bold;">Вывод.</b> В общем вещь хорошая, у меня от ее использования остались в основном только хорошие, положительные впечатления. Порадовала утилита настройки фаервола. В планах ещё дальше ее щупать и, может быть, поставлю на работе в качестве шлюза. Но это уже другая история. А вам советую хотя бы просто загрузится и попользоваться ей с часик. Хоть современный пиар нацелен на другие UNIX-решения, эта система также имеет право на жизнь и внимане окружающих. Удачи!<br />
<div align="right"><i><a href="http://keedhost.blogspot.com/">Андрей Кондратьев ака keedhost</a></i></div></div><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2011/05/solaris-express-11.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com4tag:blogger.com,1999:blog-1212951749455491439.post-90884605357340895852011-03-01T10:09:00.003+02:002011-06-11T13:11:01.320+03:00Вот какой $PS1 я себе заделал<div align="justify">Недавно мне надоело мое обычное приглашение командной строки и я решил придумать что-то свое, интересное и дикое. После 10 минут размышлений и проектирования я набросал эскиз и написал приглашение. Вот что я использовал:<br />
<ol><li>Символы юникода для отрисовки линий (в текстовой консоли у меня смотрится, как ни странно, корректно)</li>
<li>Переменные цвета, созданные из escape-последовательностей</li>
<li>Специальные символы консоли:<br />
<ul><li>\u — имя пользователя;</li>
<li>\H — название компьютера;</li>
<li>\w — текущая папка;</li>
<li>\n — перевод на новую строку</li>
</ul></li>
</ol>Соединив это воедино я получил вот такое прикольное приглашение для работы:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXN_wgtg6FZDKDSXo5myqGAcHw8CtyGTZM_bYH6_Xu9rsPgXb1KG0-PrbcH6wpH6CfVjc1NaGzCR1aJ2AgeV4k0PRHfLJQuIOUTUJyOQfJm7_8ryByxRK2nOy0pEHPNkeoF5ZF-zKM0FIB/s1600/%25D0%25A2%25D0%25B5%25D1%2580%25D0%25BC%25D0%25B8%25D0%25BD%25D0%25B0%25D0%25BB%25D1%258C%25D1%2586%25D0%25B8%25D0%25BA.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXN_wgtg6FZDKDSXo5myqGAcHw8CtyGTZM_bYH6_Xu9rsPgXb1KG0-PrbcH6wpH6CfVjc1NaGzCR1aJ2AgeV4k0PRHfLJQuIOUTUJyOQfJm7_8ryByxRK2nOy0pEHPNkeoF5ZF-zKM0FIB/s1600/%25D0%25A2%25D0%25B5%25D1%2580%25D0%25BC%25D0%25B8%25D0%25BD%25D0%25B0%25D0%25BB%25D1%258C%25D1%2586%25D0%25B8%25D0%25BA.png" /></a></div><br />
<br />
<br />
<center></center>Для того, чтобы это заиметь и Вам, нужно определить переменную <code>$PS1</code>. Открываем в текстовом редакторе файл <code>~/.bashrc </code> и вставляем туда следующий код: <br />
<div class="вырезка_из_логов"><code> # Определяем цвета: зеленый и бесцветный:<br />
export GREEN='\e[1;32m' NC='\e[0m'<br />
# Само приглашение прописывается тут (одна строка):<br />
export PS1="╓── I'm $GREEN\u$NC on $GREEN\H$NC machine.\"$GREEN\w$NC\" is working directory.\n╙───────────────> " </code> </div>Потом сохраните и перечитайте настройки командой: <br />
<div class="консоль"><code> [keed'0'@mandrivka ~]$ . ~/.bashrc </code> </div>или <br />
<div class="консоль"><code> [keed'0'@mandrivka ~]$ source ~/.bashrc </code> </div>и созерцайте крутую консоль настоящего хакера :) Тут целый полигон для идей и мыслей, так что если придумали что-то еще круче, обязательно (слышишь, обязательно) отпишись в комментах! )) </div><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2011/01/ps1.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com1tag:blogger.com,1999:blog-1212951749455491439.post-61455453530006385512011-02-22T12:36:00.001+02:002011-06-11T13:08:43.440+03:00urpmi. Краткое руководство пользователя<div align="justify">Давным-давно, когда еще весь цивилизованный мир не знал про пакетные менеджеры, установка ПО в Linux была длительная и мучительная. Представьте себе, как только не матюкались пользователи, особенно не опытные, когда пытаешься ставить один пакет, но он этого не хочет, ибо сначала нужно поставить второй пакет. Ставишь второй — он требует в зависимостях третьего, третий четвертого и так далее. И каждый пакет нужно было искать вручную, часто в интернете, тогда еще ооооочень медленном. Десятки нерешенных зависимостей заставили разработчиков задуматься: «А не написать ли нам такую программу, которая сама решает что ставить, как и куда?». И в светлейших головах хороших людей родился первый пакетный менеджер. От человека требовалось всего лишь знать название нужного пакета, доступ к хранилищу пакетов (репозиторию) и права для самой установки. С тех пор основные принципы<br />
не изменились, но сами они значительно обросли новыми функциями, невероятной мощью и гибкостью. На сегодня самые популярные это: yum, urpmi — ставят пакеты rpm; apt — ставят в основном deb-пакеты, но иногда к ней прикручивают rpm. Сегодня я хочу немного рассказать про менеджер urpmi, который используется в любимой мной Mandriva Linux. Команда rpm предоставляет нам очень большие возможности работы с пакетами, но самая большая проблема в том, что она сама не умеет ставить зависимости. Для решения этой проблемы в недрах компании Mandriva был разработан программный комплект urpmi, который работает поверх стандартной rpm как оболочка. В состав пакета входят несколько утилит для работы с пакетами и их источниками. Ниже мы подробно рассмотрим работу каждого составляющего.<br />
<br />
<b class="выделение_синеньким">Инсталляция пакетов — urpmi <i>[имя_пакета].</i></b><br />
Для установки пакета, как я уже говорил, нужно знать его название. Для примера попробуем поставить программу для создания меню DVD-дисков <code>2mandvd</code>:<br />
<div class="консоль"><code> [root'0'@mandrivka keed]$ urpmi 2mandvd <br />
Наступні пакунки буде встановлено для задоволення залежностей: <br />
Пакунок Версія Випуск Арх.<br />
(носій «Contrib media») <br />
2mandvd 1.3.3 4mdv2010.1 i586<br />
dvdauthor 0.6.18 1mdv2010.1 i586<br />
ffmpegthumbnailer 2.0.1 1mdv2010.1 i586</code><br />
<code> libffmpegthumbnailer4 2.0.1 1mdv2010.1 i586</code><br />
<code>Буде використано 4.7МБ додаткового місця на диску.<br />
Буде отримано 2.4МБ пакунків.<br />
Продовжити встановлення 4 пакунків? (Y/n) (Т/н)</code></div>Как видим, программа подробно информирует нас о том, что будет делать. Для обеспечения работы нашего пакета требуется еще три дополнительных. Если нас все устраивает, то отвечаем на запрос положительно, нажимая клавишу «у» и пакеты установятся. Можно таким же образом устанавливать одиночные rpm-пакеты, указав их расположение. Как вы уже догадались, все зависимости решаются, в отличии от обычной <code>rpm -Uvh [package.rpm]</code>. Установим таким образом программу для чистки ненужных эскизов — <a href="http://keed.h1.ru/?page=clean">clean</a>:<br />
<div class="консоль"><code>[root'0'@mandrivka keed]$ urpmi ~/clean-0.2-1.noarch.rpm' <br />
встановлюється clean-0.2-1.noarch.rpm з /home/keed/<br />
Підготовка... #############################################<br />
1/1: clean #############################################<br />
[root'0'@mandrivka keed]$<br />
</code></div><b class="выделение_синеньким">Удаление пакетов — urpme <i>[имя_пакета].</i></b><br />
Удаление также не сложно. Принцип работы такой же, как и в urpmi, только результат обратный. Для примера давайте удалим пакет <code>clean</code>, который мы установили минутой раньше:<br />
<div class="консоль"><code> [root'0'@mandrivka keed]$ urpme clean <br />
вилучається clean-0.2-1.i586</code><br />
<code> вилучається пакунок clean-1:0.2-1.i586 <br />
[root'0'@mandrivka keed]$<br />
</code></div>Как бы тоже не очень сложно. Но тут иногда нужно быть осторожным, иначе по тем же зависимостям можно снести пол-системы. Для ясности попробуем удалить пакет <code>libgnome-desktop-2_17</code>, к которому много чего привязано:<br />
<div class="консоль"><code>[root'0'@linux.local keed]$ urpme libgnome-desktop-2_17 <br />
Щоб задовольнити залежності, буде вилучено 23 пакунків (170МБ): <br />
eog-2.30.1-1mdv2010.1.i586<br />
(через відсутність libgnome-desktop-2.so.17)<br />
evolution-2.30.2-1mdv2010.1.i586<br />
(через відсутність libgnome-desktop-2.so.17)<br />
gdm-2.30.2-12mdv2010.1.i586<br />
(через відсутність gnome-settings-daemon)<br />
gnome-applets-2.30.0-1mdv2010.1.i586<br />
(через відсутність libgnome-desktop-2.so.17,<br />
через відсутність gnome-python-applet)<br />
gnome-control-center-2.30.1-5mdv2010.1.i586<br />
(через відсутність libgnome-desktop-2.so.17,<br />
через незадоволеність gnome-settings-daemon >= 2.21.5,<br />
через відсутність libgnome-window-settings.so.1)<br />
gnome-panel-2.30.2-1mdv2010.1.i586<br />
(через відсутність libgnome-desktop-2.so.17,<br />
через відсутність gnome-screensaver,<br />
через відсутність gnome-session)<br />
[ *=*=*= урезано для экономии места =*=*=* ]<br />
Вилучити 23 пакунки? (Т/н) <br />
</code></div>Программа не дура, она знает, что без главных библиотек среды <code>GNOME </code>аж 23 пакета не смогут работать и будут просто занимать такое ценное место на диске. Поэтому и их удалить — это все-таки мудрое решение. Но мы нажимаем «n» для отмены.<br />
<br />
<b class="выделение_синеньким">Поиск пакетов — urpmq <i>[имя_пакета].</i></b><br />
Поиск в БД пакетов происходит по таким критериям: по названию пакета (<code>urpmq [имя_пакета]</code>), по файлу в нем содержащегося (<code>urpmf [имя_файла]</code>) и в описании пакетов по ключевым словам (<code>urpmq --fuzzy [ключевое_слово]</code>). Последние два пункта требуют в наличии закэшированого файла <code>xml-info</code>, который должен находиться в папке с подключенным репозиторием. Где это, смотрите ниже.<br />
<br />
<b class="выделение_синеньким">Добавление источников пакетов — <i>urpmi.addmedia [название_источника] [путь].</i></b> Эта команда позволяет добавлять новые репозитории для установки пакетов. Добавлять можно как локальные носители, так и сетевые. Для просмотра уже добавленых можно воспользоваться этой документированной командой:<br />
<div class="консоль"><code>[root'0'@mandrivka ~]$ urpmq --list-media</code><br />
<code> Main media <br />
Contrib media</code><br />
<code> distrib <br />
</code></div>У меня на данный момент подключено аж три источника — это для примера, на самом деле их больше. Хотя есть еще один, более хитрый способ получить этот список:<br />
<div class="консоль"><code>[root'0'@mandrivka ~]$ find /var/lib/urpmi/ -type d</code><br />
<code> /var/lib/urpmi/ <br />
/var/lib/urpmi/Main media</code><br />
<code> /var/lib/urpmi/distrib <br />
/var/lib/urpmi/Contrib media<br />
</code></div>Как вы уже могли догадаться, каждый добавленный носитель предоставляет собой папку в директории <code>/var/lib/urpmi/</code>, в которой лежит список пакетов, место, где эти пакеты брать и MD5-суммы для проверки целостности. Так давайте добавим источник с названием Contrib local media из локального cdrom:<br />
<div class="консоль"><code>[root'0'@mandrivka ~]$ urpmi.addmedia Contrib\ local\ media cdrom://i586/media/contrib</code><br />
<code> додавання носія "Contrib local media" <br />
[root'0'@mandrivka ~]$<br />
</code></div>После добавления желательно обновить центральную БД пакетов командой <code>urpmi.update -a</code>. Только после этого действия пакеты с новых источников станут видимыми и доступными для установки.<br />
<br />
<b class="выделение_синеньким">Удаление источников — <i>urpmi.removemedia [название_источника] [путь].</i></b><br />
Принцип действия обратно пропорциональный предыдущей команде, и синтаксис похож. Поэтому долго зацикливаться на этом не буду, просто приведу пример:<br />
<div class="консоль">[keed'0'@mandrivka ~]$ sudo urpmi.removemedia "Contrib local media"<br />
вилучається носій "Contrib local media"<br />
[keed'0'@mandrivka ~]$</div>И удалять можно сразу несколько источников.<br />
<br />
<b class="выделение_синеньким">Rpmdrake.</b> Это официальная «морда» для urpmi, написанная на связке <code>perl+gtk</code>. Довольно удобная оболочка, но по-моему еще не так функциональна, как, например, <code>synaptic</code>. Пакеты удобно собраны в группы и отображаются в левой колонке. Правая же колонка горизонтально поделена на две части. В верхней выбираем интересующий нас пакет, а снизу читаем информацию про него. Запутаться трудно, но возможно — я один раз долго не мог понять, почему rpmdrake никак не находил mplayer. А дело было в том, что сразу после установки системы он настроен на отображение пакетов с GUI. Просто в спадающем списке над левой колонкой выбираем «Все» и будет вам счастье :)<br />
<br />
В завершение приведу русифицированную табличку, которую я бессовестно стащил с сайта <a href="http://distrowatch.com/" target="_blank">http://distrowatch.com/</a>. В ней можно найти основную информацию о командах и их применении. А также используйте ее как словарь-переводчик с других пакетных менеджеров.<br />
<br />
<table cellpadding="2" cellspacing="0" class="табличка"><tbody>
<tr class="табличка"> <td class="табличка" colspan="1" rowspan="2"><br />
<b>Задача</b></td> <td class="табличка" colspan="4" rowspan="1"><b>Пакетный менеджер</b></td> </tr>
<tr class="табличка"> <th class="табличка"><br />
apt (deb) Debian, Ubuntu</th> <th class="табличка"><br />
zypp (rpm) openSUSE</th> <th class="табличка"><br />
yum (rpm) Fedora, CentOS</th> <th class="табличка"><br />
urpmi (rpm) Mandriva</th> </tr>
<tr class="табличка"> <td colspan="5"><br />
<div align="center"><b>Управление пакетами</b></div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Установить пакет с репозитория</div></td> <td class="табличка"><br />
<div align="center">apt-get install <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">zypper install <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">yum install <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">urpmi <i>pkg</i></div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Установить ПО с файла</div></td> <td class="табличка"><br />
<div align="center">dpkg -i <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">zypper install <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">yum localinstall <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">urpmi <i>pkg</i></div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Обновить версию ПО</div></td> <td class="табличка"><br />
<div align="center">apt-get install <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">zypper update -t package <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">yum update <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">urpmi <i>pkg</i></div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Удалить ненужное ПО</div></td> <td class="табличка"><br />
<div align="center">apt-get remove <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">zypper remove <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">yum erase <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">urpme <i>pkg</i></div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Обновить список пакетов</div></td> <td class="табличка"><br />
<div align="center">apt-get update<br />
<br />
aptitude update</div></td> <td class="табличка"><br />
<div align="center">zypper refresh</div></td> <td class="табличка"><br />
<div align="center">yum check-update</div></td> <td class="табличка"><br />
<div align="center">urpmi.update -a</div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Обновить систему</div></td> <td class="табличка"><br />
<div align="center">apt-get upgrade<br />
<br />
aptitude safe-upgrade</div></td> <td class="табличка"><br />
<div align="center">zypper update</div></td> <td class="табличка"><br />
<div align="center">yum update</div></td> <td class="табличка"><br />
<div align="center">urpmi --auto-select</div></td> </tr>
<tr class="табличка"> <td colspan="5" width="635"><br />
<div align="center"><b>Поиск в БД пакетов</b></div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Поиск пакета по имени</div></td> <td class="табличка"><br />
<div align="center">apt-cache search <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">zypper search <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">yum list <i>pkg</i></div></td> <td class="табличка"><br />
<div align="center">urpmq <i>pkg</i></div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Поиск по содержимому</div></td> <td class="табличка"><br />
<div align="center">apt-cache search <i>pattern</i></div></td> <td class="табличка"><br />
<div align="center">zypper search -t pattern <i>pattern</i></div></td> <td class="табличка"><br />
<div align="center">yum search <i>pattern</i></div></td> <td class="табличка"><br />
<div align="center">urpmq --fuzzy <i>pkg</i></div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Поиск по файлу</div></td> <td class="табличка"><br />
<div align="center">apt-file search <i>path</i></div></td> <td class="табличка"><br />
<div align="center">zypper wp <i>file</i></div></td> <td class="табличка"><br />
<div align="center">yum provides <i>file</i></div></td> <td class="табличка"><br />
<div align="center">urpmf <i>file</i></div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Список установленных пакетов</div></td> <td class="табличка"><br />
<div align="center">dpkg -l</div></td> <td class="табличка"><br />
<div align="center">zypper search -is</div></td> <td class="табличка"><br />
<div align="center">rpm -qa</div></td> <td class="табличка"><br />
<div align="center">rpm -qa</div></td> </tr>
<tr class="табличка"> <td colspan="5"><br />
<div align="center"><b>Работа с репозиториями</b></div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Вывести список</div></td> <td class="табличка"><br />
<div align="center">cat /etc/apt/sources.list</div></td> <td class="табличка"><br />
<div align="center">zypper repos</div></td> <td class="табличка"><br />
<div align="center">yum repolist</div></td> <td class="табличка"><br />
<div align="center">urpmq --list-media</div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Добавить источник</div></td> <td class="табличка"><br />
<div align="center">(edit /etc/apt/sources.list)</div></td> <td class="табличка"><br />
<div align="center">zypper addrepo <i>path</i> <i>name</i></div></td> <td class="табличка"><br />
<div align="center">(add <i>repo</i> to /etc/yum.repos.d/)</div></td> <td class="табличка"><br />
<div align="center">urpmi.addmedia <i>name</i> <i>path</i></div></td> </tr>
<tr class="табличка"> <td class="табличка"><br />
<div align="left">Удалить источник</div></td> <td class="табличка"><br />
<div align="center">(edit /etc/apt/sources.list)</div></td> <td class="табличка"><br />
<div align="center">zypper removerepo <i>name</i></div></td> <td class="табличка"><br />
<div align="center">(remove <i>repo</i> from /etc/yum.repos.d/)</div></td> <td class="табличка"><br />
<div align="center">urpmi.removemedia <i>media</i></div></td> </tr>
</tbody></table><b class="выделение_синеньким">P.S.</b> Учите консольные команды. У меня один раз в самый ответственный момент <code>rpmdrake</code> просто рухнул и до сих пор не запускается. И где гарантия того, что это с вами не случится? Если изложенной мной информации вам мало, то просто запустите любую команду без параметров и получите хорошее, толковое руководство. Благо оно локализирована и легкая для понимания. И вы поймете, насколько мощным инструментом наградили разработчики мандриву!</div><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2011/02/urpmi.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-58567037563701957432011-02-21T11:25:00.002+02:002011-06-11T13:11:48.188+03:00Прозрачность фона в smplayer<div align="justify">Как-то раз внезапно на учетной записи моего брата стал дивным образом глючить <code>smplayer</code>: черный фон заставки и верхних/нижних скобок стал прозрачным. И когда смотришь широкоформатное видео на моем обычном мониторе, то сверху и снизу виден рабочий стол. У меня такого нет. Собственно, поглядите сами:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUMYCGEzdLtPQOpxlqYeL8y1WZMzf8SZR0iZ3Y9UO7qgRpnnqkdalR3SP81R9IBMJvbRfHdsEB57vrSsEo2NnAxzq9sAyRvMfn_WqPEHur2CyBOVZ7mi_H0b_6ldJLMlr8ry-hXKNv1yI6/s1600/before.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUMYCGEzdLtPQOpxlqYeL8y1WZMzf8SZR0iZ3Y9UO7qgRpnnqkdalR3SP81R9IBMJvbRfHdsEB57vrSsEo2NnAxzq9sAyRvMfn_WqPEHur2CyBOVZ7mi_H0b_6ldJLMlr8ry-hXKNv1yI6/s640/before.jpg" width="640" /></a></div>Как я понял, то причиной может быть особое сочетание <code>compiz-fusion</code>, <code>OpenGL</code> из пропиретарных драйверов и, возможно, <code>cairo-dock</code>. Решается это путем запуска плеера такой командой:<br />
<div class="консоль"><code> [keed'0'@mandrivka ~]$ env XLIB_SKIP_ARGB_VISUALS=1 smplayer<br />
</code></div>Теперь он будет работать нормально, по-человечески:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP5C2zq5utiRCMEVWXILC9anYK9Fc3eHB5ZX1VZjtLAzHs0nNzk2g4ltf8BYKaQxxwmsFQkIrpxigNle3AMdofR1eyv1SjQNecLzrfDh8BW75aaha-ET9SHlruEIWLxYN4vOtczVze40bo/s1600/after.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP5C2zq5utiRCMEVWXILC9anYK9Fc3eHB5ZX1VZjtLAzHs0nNzk2g4ltf8BYKaQxxwmsFQkIrpxigNle3AMdofR1eyv1SjQNecLzrfDh8BW75aaha-ET9SHlruEIWLxYN4vOtczVze40bo/s640/after.jpg" width="640" /></a></div>Чтобы не запоминать эту команду, поправьте главный .desktop файл. Для этого идем по адресу <code>/usr/share/applications</code> и находим и открываем значок smplayer в любимом текстовом редакторе от имени root. Находим там строку «<code>Exec= smplayer %U</code>» и меняем ее на «<code>Exec=env XLIB_SKIP_ARGB_VISUALS=1 smplayer %U</code>». Сохраняем. Значок рекомендую скопировать в папку ~/.local/share/applications. Если вы имеете право на редактирование значка, то посто поправьте его таким вот способом:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVqp8oOlIyUEL0RefjOabL8MtypcdnYxywUDWwVym2Sl8hMYknGHld8v66HIJFjd-xwnl83HbZkRFSoZHJf8uVeWz80BNwQm2CP6vki9Ystkt4fTeY-1E2QBQiQL5Jn34NlXrvOtZ6tLEl/s1600/prop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVqp8oOlIyUEL0RefjOabL8MtypcdnYxywUDWwVym2Sl8hMYknGHld8v66HIJFjd-xwnl83HbZkRFSoZHJf8uVeWz80BNwQm2CP6vki9Ystkt4fTeY-1E2QBQiQL5Jn34NlXrvOtZ6tLEl/s1600/prop.png" /></a></div><br />
<br />
А я еще так сделал (я в основном так приложения и запускаю):<br />
<div class="консоль"><code> [keed'0'@mandrivka ~]$ echo 'alias smplayer = env XLIB_SKIP_ARGB_VISUALS=1 smplayer' >> ~/.bashrc [keed'0'@mandrivka ~]$ . ~/.bashrc<br />
</code></div>Довольно геморойно, но если вы знаете способ проще, отпишитесь.</div><div align="right"><a href="http://keedhost.blogspot.com/">Андрей 'keedhost' Кондратьев</a></div><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2011/01/smplayer.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-68678697751811436722011-02-14T15:10:00.002+02:002011-06-11T13:12:28.735+03:00Опробовал GNOME Shell<div align="justify">После выхода KDE 4 ближайший конкурент этого популярного рабочего стола — GNOME, тоже решил обновится. Если вы следите за новостями, то скорее всего уже знаете то, чего стоит ожидать. Нам обещали новый, революционный подход к построению и управлению рабочим пространством (по словам самих разработчиков). Это поделие, которое придет в GNOME 3, получило название GNOME Shell. Смотрится, в принципе, красиво и анимировано, но только удобство его использования вызывает крупные споры. Вот и я решил глянуть и «пощупать» все это и сделать собственные выводы. Кстати, давненько уже я это хотел, вот только руки все никак не доходили. И вот на работе внезапно поставил свеженькую Mandriva One GNOME 2010.2 — там уже есть версия Gnome 3 Preview. Вот и попробовал. Хочу сказать, что ожидал большего... В основном я согласен с господином <a href="http://www.blogger.com/profile/14457817333343185342">Сергеем Курганом</a>, который в своем блоге уже <a href="http://linux-sam.blogspot.com/2011/02/gnome-3.html">написал</a> то, что я хочу сказать, и повторять заезженное не буду. Просто хочу сказать, что критиковать еще немного рановато. Хай придет релиз, вот тогда уже можно ругать. А пока в защиту GNOME 3 выдвигаю два аргумента, которые я считаю справедливыми:<br />
<br />
<br />
<ol><li><b>GNOME 3 != GNOME Shell.</b> То, что вы наблюдаете сейчас — это просто гном 2 с коряво надетым GNOME Shell на базе библиотек GTK +2. И правда, выглядит не очень аппетитно. Но ведь в GNOME 3 будет и много других вкусностей, таких как GTK+3, новая библиотека отрисовки виджетов и оконный менеджер. И говорить, что GNOME 3 — говно, судя только по Shell — это то же, что говорить плохо про KDE только исходя из работы Plasma.<br />
</li>
<li><b>GNOME Shell — это только первая, пробная версия</b>, которую, я уверен, еще сто раз перепишут и доведут до ума. Вспомните тот ужас, который звался KDE 4.0, и гляньте на KDE 4.6 — это очень большая разница. Или даже Windows 7 alfa, которая мало чем внешне отличалась от Vista. Думаю, с Гномом будет тоже самое, и через годик-второй разработчики учтут жалобы пользователей и напишут действительно удобный, мощный и качественный рабочий стол. А если нет, то все-равно, рано или поздно появятся сборки от сторонних разработчиков. Или хотя-бы патчи. Во всяком случае, на технологиях гнома много чего завязано, так что мы не пропадем!<br />
</li>
</ol><b>P.S.</b> Спустя 5 минут работы я уже успел найти баг — при отводе курсора в верхний левый угол появится возможность добавлять рабочие пространства. После 16-го кнопка с плюсиком стает неактивной. Если переключится на рабочий стол и обратно, эта кнопка опять стает активной, но после еще одного добавления рабочего стола опять дезактивируется. И так по кругу можно добиться бесконечного количества рабочих столов. Ниже на скриншоте у меня их сто, но было лень штамповать далее :)<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW4e5wH0hePJoFHdp6ZA9DjzbBodzWbyiP4anIslJkkBNVlleHb2IIpLNKe0MvySlxm7ZW__6RYjot47_JPKRskdQjG21ONvfIOZOGGSO7whD1KKha8jUX3oHTYWxoSQRXy0xoZNKMqI0N/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="512" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW4e5wH0hePJoFHdp6ZA9DjzbBodzWbyiP4anIslJkkBNVlleHb2IIpLNKe0MvySlxm7ZW__6RYjot47_JPKRskdQjG21ONvfIOZOGGSO7whD1KKha8jUX3oHTYWxoSQRXy0xoZNKMqI0N/s640/Screenshot.png" width="640" /></a></div><br />
</div><div align="right"><i><a href="http://keedhost.blogspot.com/">Оптимист Андрей Кондратьев ака keedhost</a></i> </div><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2011/01/gnome-shell.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-82992065078528915222011-02-11T19:04:00.003+02:002011-06-11T13:07:42.584+03:00Глюки Linux - пойман с поличным<div dir="ltr" style="text-align: left;" trbidi="on"><div align="justify">Линукс - это конечно хорошо, но и он порой глючит. Некоторые скриншоты я сохранил. Вот привожу самые-самые за последние 4 года =) Наслаждайтесь!</div><div dir="ltr" style="text-align: left;" trbidi="on"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"></td><td style="text-align: center;"></td><td style="text-align: center;"></td><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMcngXuI4H2jqOcE5mjaGXNGEVW7M3oRf2wC2mFHxpBFarW9S_iCU9R_JBUASSSp8c9R4Rp5GDy-WSfIahbxqqBNiv3zYbY64mCMuH7umW1oUHBNpwGZx4oWvQe5DtT7fYNlf-Ae1F6JXu/s1600/247.12.47.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMcngXuI4H2jqOcE5mjaGXNGEVW7M3oRf2wC2mFHxpBFarW9S_iCU9R_JBUASSSp8c9R4Rp5GDy-WSfIahbxqqBNiv3zYbY64mCMuH7umW1oUHBNpwGZx4oWvQe5DtT7fYNlf-Ae1F6JXu/s1600/247.12.47.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"></td><td class="tr-caption" style="text-align: center;"></td><td class="tr-caption" style="text-align: center;"></td><td class="tr-caption" style="text-align: center;">Раньше такое только в винде видел - "До окончания копирывания осталось 2 года, 10 мес. 3 дня 10 часов" =))</td></tr>
</tbody></table><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsK59lgzfxVInFlfbvtfEgQrIdVn0xbjxH06UE-eHHFnHjVVbfoKrxKLaewc2o_lMQnnP2fBsxZF_4LJ7tScq8HRbUh1coUXL-4l0-5cehF0-ebOMMODcVC3InWnL0wkfPpoMGmnAqX2TZ/s1600/%25D0%25A3%25D0%25B4%25D0%25B0%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25B8%25D0%25B5.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsK59lgzfxVInFlfbvtfEgQrIdVn0xbjxH06UE-eHHFnHjVVbfoKrxKLaewc2o_lMQnnP2fBsxZF_4LJ7tScq8HRbUh1coUXL-4l0-5cehF0-ebOMMODcVC3InWnL0wkfPpoMGmnAqX2TZ/s1600/%25D0%25A3%25D0%25B4%25D0%25B0%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25B8%25D0%25B5.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Хороший, толковый индикатор удаления файлов :)</td></tr>
</tbody></table><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs8SOKeMG5aQLDMROixVvpf154uB54q9e6YO7e7StlHwzEDwX8y-vGwLq3evH5R70W9bxPV6KB3gInGlip_84EOpO8hgWrHw-KqWeAOSY1D2YHb-_UyHNOkH_0umiLBlh4_kvvZhdWsZLe/s1600/Gluk.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs8SOKeMG5aQLDMROixVvpf154uB54q9e6YO7e7StlHwzEDwX8y-vGwLq3evH5R70W9bxPV6KB3gInGlip_84EOpO8hgWrHw-KqWeAOSY1D2YHb-_UyHNOkH_0umiLBlh4_kvvZhdWsZLe/s640/Gluk.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Если бы не глюк, то такая конфигурация смотрится более, чем серьезно!</td></tr>
</tbody></table><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPrOgQFt1d2Jy6DxIpRVJq8QXuDF_B7oUROIvAiXz-ftw12E-9N_0V44Zq4NBsaBfHPchhc5nmIv_ego9kUHGxX1TyAiYBdapdpB5dlsKsw_rV7KnZ5qcMirJppnmTstOzFDEI1K9VXqtl/s1600/Krusader+-_-.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="311" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPrOgQFt1d2Jy6DxIpRVJq8QXuDF_B7oUROIvAiXz-ftw12E-9N_0V44Zq4NBsaBfHPchhc5nmIv_ego9kUHGxX1TyAiYBdapdpB5dlsKsw_rV7KnZ5qcMirJppnmTstOzFDEI1K9VXqtl/s640/Krusader+-_-.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Внимание на размер выделеного файла))</td></tr>
</tbody></table><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3jKpfir7ZPpd1sCvkfqwSMCeoKun4AmI9QcUj4MCqrrILi6LbXekfUFIwRGP0__Z83uVwAT98tLLYRzuow0ddxpM9SSShtuPzrGyKPY_CjBpcNp6nhJYl8hEFFuc8vIaDbtq4lLZ4Q5Hl/s1600/Lazarus.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3jKpfir7ZPpd1sCvkfqwSMCeoKun4AmI9QcUj4MCqrrILi6LbXekfUFIwRGP0__Z83uVwAT98tLLYRzuow0ddxpM9SSShtuPzrGyKPY_CjBpcNp6nhJYl8hEFFuc8vIaDbtq4lLZ4Q5Hl/s1600/Lazarus.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">"Сподівайтесь на краще!" - а сегодня только так и можно...</td></tr>
</tbody></table><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3FERZ6END8yHL6v6qhEiDSdZ7BF5gHvdElXeQi-xWyQDjaKHWBBe3lSCihmqFPjnoD15Q7TjwFGPgLWi2qB4LmQ7BsnOpqotSpdR5WTfp83zhxY6vwAHNR-v8-mDit0EpxrMqHWSZp0C9/s1600/mc+from+the+hell.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3FERZ6END8yHL6v6qhEiDSdZ7BF5gHvdElXeQi-xWyQDjaKHWBBe3lSCihmqFPjnoD15Q7TjwFGPgLWi2qB4LmQ7BsnOpqotSpdR5WTfp83zhxY6vwAHNR-v8-mDit0EpxrMqHWSZp0C9/s640/mc+from+the+hell.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Проблемы с кодировкой и в наше время встречаются))</td></tr>
</tbody></table><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFcshcey3iZD6CjO-IMir7hWagQ3VmU454Z_56uq18vex7CXq2y87H9qmy_bPsGlnBG2pSC-Tbw__gN0-P8R5ZFWRpRzZl1UqQbIA3YEBXx_D9gADKzjFsvbr5LRmu9h6B4MBV6BqSFl1Z/s1600/nero.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="541" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFcshcey3iZD6CjO-IMir7hWagQ3VmU454Z_56uq18vex7CXq2y87H9qmy_bPsGlnBG2pSC-Tbw__gN0-P8R5ZFWRpRzZl1UqQbIA3YEBXx_D9gADKzjFsvbr5LRmu9h6B4MBV6BqSFl1Z/s640/nero.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">А вендовый неро не пишет диски на таких скоростях))</td></tr>
</tbody></table><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2fPaoY3tbRCUuLHjDBAGxdTbyWKfBcaJ-ykXt3rmdmAUOISc61nXiDDojseUlJdcdopfKVFxDhvTeTPm8W4gJvXFaTmw-HLalGBkxqUVORnhfdzR-xnGGc690kkUxffCLJq2OnppQ6nzl/s1600/ubuntu-inst.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2fPaoY3tbRCUuLHjDBAGxdTbyWKfBcaJ-ykXt3rmdmAUOISc61nXiDDojseUlJdcdopfKVFxDhvTeTPm8W4gJvXFaTmw-HLalGBkxqUVORnhfdzR-xnGGc690kkUxffCLJq2OnppQ6nzl/s1600/ubuntu-inst.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Значит Убунта хорошая ось, говорите?</td></tr>
</tbody></table><br />
</div></div><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2011/02/linux.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com3tag:blogger.com,1999:blog-1212951749455491439.post-90804738801776270432011-02-08T11:05:00.003+02:002011-06-11T13:13:59.886+03:00Чистим GNOME-меню<div dir="ltr" style="text-align: left;" trbidi="on"><div align="justify">Когда ставишь новый, свеженький пакет, то в менюшке KDE и GNOME по возможности появляются значки, кликая по которым мы запускаем приложения. Но как я недавно заметил, что после удаления некоторых пакетов элементы меню остаются и они не рабочие. Это довольно странно, но причину возникновения мне сейчас искать лениво. Расскажу только как лечить. Напомню, что сама запускаемая иконка — это специальный текстовый документ с расширением .desktop. Это некий аналог ярлыков из мира Windows и OS/2, только более функциональные. Хранятся они в папке <code>/usr/share/applications</code> (доступны для всех и каждого) и <code>~/.local/share/applications</code> (для каждого пользователя можно определить свой набор). Так вот «битые» значки хранятся именно в последнем месте. Все, что нам нужно — это зайти в эту папку и просто удалить ненужное. В моем случае — это давно удаленные мной NetBeans IDE 6.0, Log Factor5 и Lxterminal:<br />
<br />
<br />
<br />
<center><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLeyoVDM_jLga99oGT_Wsy5WQ8-cUaunr4GWag7V5lptnO5uuPVuDLwTYRNiwn2vQpZAEdEpak8iPEb3b48UA2UhQVdQ0rBrT6NgfhZGAHxOkTY6wSL3s21iN-EjZkK2m7-D9cF-AUnaDq/s1600/screen.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="321" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLeyoVDM_jLga99oGT_Wsy5WQ8-cUaunr4GWag7V5lptnO5uuPVuDLwTYRNiwn2vQpZAEdEpak8iPEb3b48UA2UhQVdQ0rBrT6NgfhZGAHxOkTY6wSL3s21iN-EjZkK2m7-D9cF-AUnaDq/s640/screen.gif" width="640" /></a></div></center><br />
Найти их просто по отсутствию значка, а также, если на нем кликнуть дважды, появится сообщение об ошибке. Выделяем и удаляем. Все, теперь менюшка чиста, как... И еще, если удалили что-то не то, ничего страшного, на работе и стабильности системы это не никак скажется.</div><div align="right"><br />
<i><a href="http://keedhost.blogspot.com/">Андрей Кондратьев aka keedhost</a></i></div></div><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2011/02/kde-gnome.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-31954174938933879272011-02-07T14:43:00.001+02:002011-06-11T13:13:23.070+03:00Ручная чистка линукса<div dir="ltr" style="text-align: left;" trbidi="on"><div align="justify">«Ну вот так всегда... Файл весит 700 мегабайт, а свободно лишь 500... И удалить ничего не могу — все нужно. Что делать - удалять нужное или бежать в круглосуточный магазин дисков?» Знакомая ситуация? А как же! Вот только не нужно спешить удалять нужное — сегодня я вам расскажу, как можно безболезненно освободить немного свободного места! Дело вот в чем. Линукс — это как живое существо. В процессе жизни он оставляет много продуктов своей жизнедеятельности. И вы, как настоящий заботливый хозяин, должны за ним убирать :-) Конечно, это только метафора, но в ней намек на то, чем мы сегодня будем заниматься. Наша цель — научится безопасно удалять ненужные файлы, при этом не повредив систему и освободить место на жестком диске. Могу сказать только одно — не бойтесь делать того, что я — все абсолютно безопасно. Итак, поехали!<br />
<br />
<b class="выделение_синеньким">Удаление настроек несуществующих программ.</b> Программы приходят и уходят, а мусор, т.е. устаревшие настройки остаются. Обычно конфиги хранятся в домашней папке, в которой создаются файлы и папки, названые по такому принципу: <tt>[.]+[имя_программы].</tt> Как вы знаете, файлы, название которых начинаются на точку, в UNIX, а соответственно и в Linux, являются скрытыми. Для их просмотра в Nautilus нажмите «Ctrl»+«H». Еще раз нажмете — они исчезнут. Их скрывают по понятным причинам — пользователю они не интересны. Посмотрите на эти папки — может каких то программ уже давно нет на компьютере. Только тут будьте осторожны — думайте, что удаляете, хотя ничего фатального произойти не может. Полагаюсь на вашу интуицию :) Также есть смысл заглянуть в папки ~/.config и ~/.gnome2 — некоторые программы там тоже настройки хранят.<br />
<br />
<b class="выделение_синеньким">Временные файлы fileroller</b>. Эта программа служит стандартным менеджером архивов в GNOME. Когда мы с его помощью открываем архив, и прямо из окна архиватора открываем файл, то сначала создается папка <code>~/.cache/.fr-*</code> (или <code>~/.fr-*</code>). В нее распаковывается выбранный файл, который потом открывается в нужной программе. Обычно все удаляется после закрытия архиватор, но не всегда. Сейчас у меня там килобайты, но если вы открывали какой-нибудь «массивный» файл, туда стоит заглянуть.<br />
<br />
<b class="выделение_синеньким">Временные файлы mc</b>. Этот отличный консольный файловый менеджер поддерживает множество разных форматов архивов. Распаковывает их очень просто — просто выделяем курсором архив и жмем «ENTER». А вот убирать после себя он не всегда может. Временная папка для распакованных файлов может быть как <code>/tmp/mc-[username]</code>, так и <code>~/tmp/mc-[username]</code>, она же служит для командера виртуальной файловой системой. Давайте заглянем туда на моей машине:<br />
<div class="консоль"><code>[keed'0'@mandrivka ~]$ du -h $TMP/mc-`whoami`</code><br />
<code>du: не вдається отримати доступ до `/tmp/mc-keed': No such file or directory</code><br />
<code> [keed'0'@mandrivka ~]$ du -h ~/$TMP/mc-`whoami`<br />
17M /home/keed/tmp/mc-keed<br />
</code></div>17 Мб — это немного, но помню один раз было почти 800 МБ — просматривал iso-образ и mc рухнул. Поэтому время от времени туда заглядывать было бы неплохо. Чистим так:<br />
<div class="консоль"><code> [keed'0'@mandrivka ~]$ rm -Rf ~/$TMP/mc-`whoami`</code><br />
<code> [keed'0'@mandrivka ~]$ du -h $TMP/mc-keed/<br />
0 /home/keed/tmp/mc-keed/<br />
</code></div><b class="выделение_синеньким">Эскизы (thumbnails).</b> Мы уже привыкли к тому, что в nautilus отображаются эскизы для разных типов файлов — jpeg, png, xpm, pdf, djvu, avi, mpeg4... И вот как эта технология работает. Возьмем, к примеру, документ ~/document.pdf. Сначала наутилус определяет имя файла и его тип MIME. Затем он отправляет запрос программе <code>evince-thumbnailer</code>, которая обрабатывает первую страницу документа и создает ее уменьшенную png-копию. Далее миниатюра помещается в папку <code>~/.thumbnails/normal</code> или <code>~/.thumbnails/large</code>. Затем имя файла эскиза передается обратно наутилусу, а он в свою очередь, ставит его вместо стандартного значка. И так для многих файлов, только принцип создания может быть другим. Когда файл уаляется, эскиз для него еще остается, который, между прочем, занимает место:<br />
<div class="консоль"><code>keed'0'@mandrivka ~]$ du -h ~/.thumbnails/ <br />
85K ./.thumbnails/fail/gnome-thumbnail-factory<br />
85K ./.thumbnails/fail<br />
6,5M ./.thumbnails/large<br />
92M ./.thumbnails/normal<br />
98M ./.thumbnails/<br />
</code></div>Как видим, почти 100 МБ занимают эскизы. Для чистки их можно запустить специальный скрипт clean, который я написал пару лет назад, когда времени было побольше. Его можно скчать здесь: <a href="http://thumb-clean.narod.ru/">http://thumb-clean.narod.ru</a> или здесь: <a href="http://keed.h1.ru/?page=clean">http://keed.h1.ru/?page=clean</a>. Он и почистит, и выведет подробную информацию. Clean также удобно ставить на задания в cron. давайте посмотрим на его работу:<br />
<div class="консоль"><code>[keed'0'@mandrivka ~]$ clean<br />
Видалено 6165 файлів.<br />
Звільнено місця: 95M /home/keed/.thumbnails/<br />
Використовуй -h або --help для отримання довідки,<br />
а також -v чи --version для отримання версії.<br />
</code></div><b class="выделение_синеньким">Временные файлы evince.</b> Эта программа просмотра документов также создает временные файлы. Они находятся в папках <code>/tmp/evince-*</code> или <code>~/tmp/evince-*</code>. В них лежат временные документы PDF, сканированные версии которых могут занимать очень много. Посмотрим, что у меня там:<br />
<div class="консоль"><code>[keed'0'@mandrivka ~]$ du -h $TMP/evince-* <br />
400K /home/keed/tmp/evince-3123<br />
8,9M /home/keed/tmp/evince-3825<br />
[keed'0'@mandrivka ~]$ rm -Rf $TMP/evince-*<br />
</code></div>Вот еще 9 МБ освободили. Ура!<br />
<br />
<b class="выделение_синеньким">Кэш браузеров.</b> Тут тоже много всякой всячины. Можно поудалять временные файлы и cookie вручную. Кэш оперы находится тут: <code>~/.opera/cache</code>. Он у меня занимает аж 326 МБ. Кэш Mozilla Firefox хранится здесь: <code>~/.mozilla/firefox/[имя_пофиля]/Cache.</code> У меня это папка <code>/home/keed/.mozilla/firefox/47b0yujw.default/Cache</code> и там 741 Мб! Сносим:<br />
<div class="консоль"><code>[keed'0'@mandrivka ~]$ rm -Rf ~/.opera/cache/* ~/.mozilla/firefox/*.default/Cache/*<br />
</code></div>Освободили 326+741=1067 Мб, чуть больше 1ГБ. Вот так. Только нужно помнить то, что потом и все сохраненные пароли будет нужно вводить заново (вроде как).<br />
<br />
<b class="выделение_синеньким">Индексы поисковика Beagle.</b> Те, кто пользуется этим замечательным поисковиком, должны остаться довольны его возможностями и скоростью поиска. Однако такое удобство идет в ущерб занимаемому месту на жестком диске. Чем больше размер раздела и больше файлов на нем, тем больше места займут индексные файлы. Они хранятся по адресу <code>~/.beagle/Indexes</code>. Так как жесткий у меня не маленький и Beagle сканирует все, кроме <code>/boot, /dev, /proc и /sys</code>, то и индексы у меня занимают аж 2,3 Гб. Ими можно смело пожертвовать при нехватке места, что сейчас и сделаем:<br />
<div class="консоль"><code> [keed'0'@mandrivka ~]$ rm -Rf ~/.beagle/Indexes/*<br />
</code></div><br />
<b class="выделение_синеньким">Заключение.</b> В заключение давайте подсчитаем, сколько же мы сегодня места освободили: 17+98+9+1067+2300=3490 мегабайт, что составляет аж 34% моего 10 гигабайтного домашнего раздела. Хотя эта цифра могла быть и большей. Был ли смысл в этой статье? Цифры говорят, что был. Время от времени повторяйте описанные мной действия. И вам это надоест. И вы напишите скрипт, который автоматизирует эти действия и повысит знания языка shell.</div><br />
<br />
<div align="right"><i><a href="http://keedhost.blogspot.com/">Андрей Кондратьев aka keedhost</a></i></div></div><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2011/02/blog-post_07.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-70172841133993640352011-02-02T13:01:00.001+02:002011-02-02T13:03:27.681+02:00Запускаем Opera Mini 5 под ПК<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<div align="justify">До сих пор у нас в стране не все люди подключены к интернету. Например, если старый компьютер отвез бабушке в село и хочешь в Сети полазить. Или живешь на отшибе какого нибудь маленького ПГТ, где про нормальный интернет даже не мечтают. Тут выход один — использовать мобильный GPRS-интернет. Про это говорят и многочисленные «лояльные» тарифные планы наших мобильных операторов, например, Internet XL от Kyivstar GSM®, специально для этого и предназначеные. И есть такой мобильный браузер — <i>Opera Mini</i>, о существовании которой вы скорее всего уже знаете. Она здорово экономит трафик — так сжимает на своих прокси-серверах информацию, что размер страниц уменьшается в 5-10 раз и соответственно в столько же экономит трафик. Вот было бы здорово, если такой броузер да и на десктоп. Opera Software объявила о выпуске технологии «Opera Turbo», которая так же жмет, как и мобильная версия. Но как показала практика, эта технология — фейк чистой воды, сжатие там довольно маленькое. Что же делать? Запустить Opera Mini на компьютере! Как? Сейчас расскажу!<br />
<br />
<b class="выделение_синеньким">Прелюдия.</b> Все, что запускается не родное, то запускается через эмулятор. Вот и мы пойдем по этому пути. Хорошо, что есть таковой для мобильных JAVA-приложений под ПК. Называется он <i>Micro Emulator</i>. Он уже старенький, но весьма рабочий, и для нашей задачи полностью подходит. Итак, что нам нужно:<br />
<ul><li><a href="http://m.opera.com/">Opera Mini 5</a><br />
</li>
<li><a href="http://www.microemu.org/">MicroEmulator</a><br />
</li>
<li>Установленная <a href="http://java.com/ru/">JRE</a> под Linux или другой ОС.</li>
</ul><b class="выделение_синеньким"> </b><b class="выделение_синеньким">Установка. </b> Итак, мы скачали и распаковали архив с дистрибутивом MicroEmulator. Внутри папки сможем найти файл <code>microemulator.jar</code>, который сейчас и запустим. Войдите в папку с этим файлом из-под консоли и выполните: </div><div class="консоль"><code> [keed'0'@mandrivka microemulator]$ java -jar microemulator.jar </code> </div><div align="justify"><div class="separator" style="clear: both; text-align: center;"></div>Когда приложение запустится, вы увидите эмулятор мобильного телефона. Конечно, на таком размере экранчика работать неудобно. Поэтому сменим девайс на тот, который можно растянуть — Opera Mini великолепно поддерживает масштабирование экрана. Для этого идем в меню <code><b>Option → Select device</b></code> и там выбираем <code><b>Resizable device</b></code>:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJSVUQFwWqmbch17NszxZdH7cqvzidT1dcS1JKJ9JGcTUXcnT-Kk9LAR2NXCGEXgHERhthTjpBpX68Tq72gLsmq6OjxI9Mxw6vsLzcpvfLCzzsEXNLJav2kkA_qPw2H3saTzcNlxyFHWbF/s1600/select-device.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="345" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJSVUQFwWqmbch17NszxZdH7cqvzidT1dcS1JKJ9JGcTUXcnT-Kk9LAR2NXCGEXgHERhthTjpBpX68Tq72gLsmq6OjxI9Mxw6vsLzcpvfLCzzsEXNLJav2kkA_qPw2H3saTzcNlxyFHWbF/s400/select-device.png" width="246" /></a></div>Перезапускаемся. Теперь окно можно разворачивать на весь экран, что не может не радовать. Сейчас само время запустить оперу: копируем скачаный jar-пакет оперы в папку с эмулятором. Далее в окне программы через меню <code><b>File → Open MIDlet File</b></code> находим и открываем нашу оперу. Или же сделать как я люблю, через консоль: </div><div class="консоль"><code> [keed'1'@mandrivka microemulator]$ java -jar microemulator.jar "Opera Mini 5.1 yandex.jar"</code> </div>Все готово, теперь можно пользоваться дешевым GPRS-интернетом! Вот примерно как это должно выглядеть:<br />
<table border="0"><tbody>
<tr><td><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi47t8C7IoqtXSuiWwJigLxa236m9MLvVNXi0hmfRU8iu6F9RtuOBcAx6Mu816wrVmrT2DL9bCJzmd33qxJ8_MSJ93p3xlJRZvyDLucEXkNpvK7H7v2w-V4fPl3OUjyJ0wGwroto_-CMoLq/s1600/screenshot2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi47t8C7IoqtXSuiWwJigLxa236m9MLvVNXi0hmfRU8iu6F9RtuOBcAx6Mu816wrVmrT2DL9bCJzmd33qxJ8_MSJ93p3xlJRZvyDLucEXkNpvK7H7v2w-V4fPl3OUjyJ0wGwroto_-CMoLq/s320/screenshot2.png" width="320" /></a></div></td> <td><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRTmlVH4x_J5yAIGNtDfTo8jytyyfKOd92eo42c0-c2EFxlfYE6DfiNKXSomBJkz7c8BCygpPdUDDdlk8jIPTax1yZoLxbKAX3tKD6wPVmMRHrLt-oe8Z-hQV0TFJ-1OnbCwtM_3yKfzfB/s1600/%25D0%2595%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRTmlVH4x_J5yAIGNtDfTo8jytyyfKOd92eo42c0-c2EFxlfYE6DfiNKXSomBJkz7c8BCygpPdUDDdlk8jIPTax1yZoLxbKAX3tKD6wPVmMRHrLt-oe8Z-hQV0TFJ-1OnbCwtM_3yKfzfB/s320/%25D0%2595%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD.png" width="320" /></a></div></td> </tr>
</tbody> </table><div align="justify"><b class="выделение_синеньким">Известные проблемы.</b> Самая большая проблема — это набор кириллических букв — начинаешь набирать слово, и буква 3-4ая начинает штамповаться до бесконечности, пока не нажмешь на клавишу Backspace. Решение таково — на месте ввода текста жмем мышкой и держим не отпуская пару секунд. В открывшемся меню выбираем пункт «Полноэкранное редактирование» и там пишем:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9U0pbVwW8Ts-OR7ISUN5xje_K4Bml3WIG9J9eW7mbXXmkT2DoCd6ObT6y7T-Nj57-Mmcg-8Ahu5Irezi6xMDTlwxVPq51hgeDzBCg3ka6CaLU5GNz6ZIZJvsbwDDtfRNhjzJ7uS99VEI6/s1600/full-edit.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9U0pbVwW8Ts-OR7ISUN5xje_K4Bml3WIG9J9eW7mbXXmkT2DoCd6ObT6y7T-Nj57-Mmcg-8Ahu5Irezi6xMDTlwxVPq51hgeDzBCg3ka6CaLU5GNz6ZIZJvsbwDDtfRNhjzJ7uS99VEI6/s400/full-edit.png" width="396" /></a></div><br />
<br />
<b class="выделение_синеньким">P.S.</b> Эти действия можно также выполнить на всех платформах, где есть поддержка java — Windows, MacOS, *BSD, Solaris и других. Эмулятор годится также для запуска игр и мобильных программ, однако это кому как повезет. </div></div>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-59211530634567251722011-02-01T17:00:00.002+02:002011-02-01T17:01:18.935+02:00loop-репозиторий в Mandriva Linux<div dir="ltr" style="text-align: left;" trbidi="on"><div align="justify">Не надоедало вам, когда в Mandriva ставишь новый пакет, а он просит вставить диск? Да, это не очень удобно. И вот что я сделал — просто смонтировал образ репозитория на петлевое loop-устройство. При следующей попытке установить пакет, диск требоваться не будет. Вот что нужно сделать. Допустим, у меня образ лежит в папке <code>/data</code>. Тогда добавим в файл <code>/etc/fstab</code> такую строчку:<br />
<div style="-moz-box-shadow: 0 0 4px #4D7788; -webkit-box-shadow: 0 0 4px #4D7788; background: #eeefff; border: 1px dashed #f9de9c; box-shadow: 0 0 4px #4D7788; padding-left: 20px; padding-right: 20px;">/data/mandriva-linux-free-2010-spring-i586.iso /media/loop iso9660 loop 0 0</div>и перечитаем его:</div><div class="консоль"><code>[keed'0'@mandrivka ~]$ sudo mount -a</code></div><div align="right"><div align="left">Все готово - проще простого :-)</div><a href="http://keedhost.blogspot.com/">Андрей 'keedhost' Кондратьев</a></div></div>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-18471645389731190342011-01-24T12:27:00.000+02:002011-01-24T12:27:12.989+02:00Резервное копирование настроек GNOME 2<div dir="ltr" style="text-align: left;" trbidi="on"><div align="justify">Если вы собираетесь что-то кардинально поменять в настройках своего GNOME и хотите иметь возможность их откатить в будущем, то можно сделать резервное копирование практически всех настроек рабочего стола и большинства приложений. Благо конфигурации находятся в одном месте — в папке <code>~/.gconf</code>. Просто выполните такие команды:</div><div class="консоль"><code> [keed'2'@mandrivka ~]$ mkdir ~/.gconf_buckup<br />
[keed'2'@mandrivka ~]$ tar -jcvf ~/.gconf_buckup/gconf_$(date +%F).tar.bz2 ~/.gconf/<br />
</code></div><div align="justify">Этот архив можно также перенести на другой компьютер и развернуть его там. В результате по понятным причинам могут не восстановится обоя рабочего стола, тема GTK и/или иконки если они будут отсутствовать. А настройки панелей, иконок на рабочем столе и их расположение останутся. Для восстановления выполните:</div><div class="консоль"><code> [keed'2'@mandrivka ~]$ tar -jvtf ~/.gconf_buckup/gconf_[нужная_дата].tar.bz2 -C ~/.gconf</code></div><div align="right"><br />
</div><div align="right"><a href="http://keedhost.blogspot.com/">Андрей 'keedhost' Кондратьев</a></div></div>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-11003463679547773382011-01-21T16:47:00.004+02:002011-06-11T13:05:23.845+03:00Эффективно работаем в консоли Линукса<div dir="ltr" style="text-align: left;" trbidi="on"><div align="justify">Я очень много времени провожу под консолью. Да, именно под настоящей консолью, а не эмулятором терминала. И я не содержу сервер, как могут подумать. Просто это на самом деле удобно, как для меня. А для того, чтобы было еще удобнее, я ее настроил под себя — так и удобнее, и производительность труда немного выше. Для тех, кто тоже хочет посвятить себя ее изучению, дам несколько рекомендаций, что нужно сделать.<b class="выделение_синеньким"> </b><br />
<b class="выделение_синеньким">Совет №1. Включить и настроить Framebuffer.</b> В стандартном виде консоль линукса просто текстовая. Ее разрешение составляет всего 80x25 символов (это текстовый режим), а мой монитор умеет все 1280x1024 пикселей (графический режим), и это уже не рациональное использование ресурсов. Конечно, работать за ней можно, но не очень удобно — имена файлов могут не влезать, большие, прям таки огромные буквы и, как говорят, ШГ. А то, во что превращается Midnight Commander, им только детей пугать. Но время идет и прогресс не позабыл и консоль Linux! Что же этот прогресс может нам дать? А дать он может многое, и все благодаря использования технологии кадрового буфера, или Framebuffer.<br />
<br />
<table border="0"><tbody>
<tr><td style="vertical-align: top; width: 50px;"></td> <td style="background-color: orange; vertical-align: top; width: 1px;"><br />
</td> <td style="vertical-align: top;"><div style="text-align: justify;"><i><b>Кадровый буфер</b> (framebuffer, буфер кадра, видеобуфер, фреймбуфер) — виртуальное электронное устройство или область памяти для кратковременного хранения одного или нескольких кадров в цифровом виде перед его отправкой на устройство видеовывода. Буфер может быть использован для выполнения над кадром различных предварительных операций, организации стоп-кадра, устранения мерцания изображения и др. Обычно кадр хранится в виде последовательности цветовых значений каждого пикселя изображения. Цветовые значения чаще всего хранятся в следующих форматах: одноразрядный (монохромный; 1 бит), 4/8-битный (палитровый), 16-битный (High Color) и 24-битный (True Color); также может присутствовать альфа-канал. Размер памяти, необходимый для хранения одного кадра, зависит от разрешения и глубины цвета. При этом управление происходит уже не через устройства /dev/tty*, а через /dev/fb*. </i></div></td> </tr>
</tbody></table><br />
Как его включить? Если у Вас современный дистрибьютив с ядром версии старше 2.4.5 (рекомендуется ядро ветки 2.6), даю 99,9% на то, что фреймбуфер у вас уже включен по-умолчанию. Нужно только настроить. Если Вы на 100% уверены, что эта технология все-таки у вас не работает, тогда только пересобирать ядро. Но как это делать, описывать не буду. Может как то потом.<b> </b><br />
<b>Настройка фреймбуфера.</b> Для того, что бы от фреймбуфера было больше толка, давайте настроим его. Во-первых, выставим для него оптимальное разрешение — обычно настраивают максимальное, которое поддерживает LCD монитор. Мой имеет диагональ 17", значит наше рабочее разрешение будет 1280x1024. Глубину цвета возьмем тоже побольше — 24bit. Смотрим в таблицу и по этим параметрам узнаем код (больше можно узнать на <a href="http://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers">английской вики</a>):<br />
<br />
<br />
<table class="табличка" width=100%><tbody class="табличка">
<tr class="табличка"> <td bgcolor="#cccccc" class="табличка"><br />
</td> <td bgcolor="#cccccc" class="табличка"><br />
640x480</td> <td bgcolor="#cccccc" class="табличка"><br />
800x600</td> <td bgcolor="#cccccc" class="табличка"><br />
1024x768</td> <td bgcolor="#cccccc" class="табличка"><br />
1280x1024</td> <td bgcolor="#cccccc" class="табличка"><br />
1600x1200</td> </tr>
<tr class="табличка"> <td bgcolor="#cccccc" class="табличка"><br />
256 / 8bit</td> <td class="табличка"><br />
0x301 / 769</td> <td class="табличка"><br />
0x303 / 771</td> <td class="табличка"><br />
0x305 / 773</td> <td class="табличка"><br />
0x307 / 775</td> <td class="табличка"><br />
796</td> </tr>
<tr class="табличка"> <td bgcolor="#cccccc" class="табличка"><br />
32k / 15bit</td> <td class="табличка"><br />
0x310 / 784</td> <td class="табличка"><br />
0x313 / 787</td> <td class="табличка"><br />
0x316 / 790</td> <td class="табличка"><br />
0x319 / 793</td> <td class="табличка"><br />
797</td> </tr>
<tr class="табличка"> <td bgcolor="#cccccc" class="табличка"><br />
64k / 16bit</td> <td class="табличка"><br />
0x311 / 785</td> <td class="табличка"><br />
0x314 / 788</td> <td class="табличка"><br />
0x317 / 791</td> <td class="табличка"><br />
0x31A / 794</td> <td class="табличка"><br />
798</td> </tr>
<tr class="табличка"> <td bgcolor="#cccccc" class="табличка"><br />
16M / 24bit</td> <td class="табличка"><br />
0x311 / 786</td> <td class="табличка"><br />
0x314 / 789</td> <td class="табличка"><br />
0x317 / 792</td> <td class="табличка"><br />
0x31b / 795</td> <td class="табличка"><br />
799</td> </tr>
</tbody> </table><i>Предупреждение: режимы для разрешений более 1280x1024 еще не достаточно оттестированы, поэтому никаких гарантий не даю! </i><br />
<div align="justify">Итак, для меня подходит значение 0x31b. Его можно таким и оставить, а можно перевести в десятичную, более привычную систему счисления: запускаем редактор vim и в нем вводим команду <code>:echo 0x31b</code>. Я получил результат 795. Одно из этих значений нужно передать в ядро при загрузке через параметр «<code>vga</code>». Теперь настройте свой загрузчик. К примеру вот вырезка из моего<code> /boot/grub/menu.lst</code>:</div><div class="вырезка_из_логов"><code> title linux<br />
root (hd0,0)<br />
kernel /boot/vmlinuz splash=verbose vga=795<br />
initrd /boot/initrd.img<br />
</code></div><div align="justify">Для отключения фреймбуфера просто убираем параметр vga.<b> </b><br />
<b>Что нам это дало?</b> Во-первых глазам приятнее. Если еще поставить красивый шрифт, как я написал <a href="http://keedhost.blogspot.com/2010/12/mandriva.html">тут</a>, то прямо загляденье. Во-вторых, удобнее работать. Представьте только, как на серверном 22" мониторе будет удобно читать логи! В-третьих, сейчас уже очень много программ и игр работают под этой чудо-технологией. К примеру, qemu, mplayer (один раз у меня сгорела видеокарта и Х просто не мог загрузится. Тогда я через mplayer под консолью фильмы с аниме гонял), frozen-bubble, mmc и так далее. Можно даже попробовать отказаться от X.org :)<b class="выделение_синеньким"> </b><br />
<b class="выделение_синеньким">Совет№2. Настроить ~/.bashrc.</b> Но это опционально. Я, например, добавил в запрос счетчик количества фоновых приложений — такое себе подобие панели задач. Для этого я дописал в файл ~/.bashrc такую строку:<br />
<div class="вырезка_из_логов"><code> export PS1="[\u'\j'@\H \W]$ "<br />
</code></div>Или вот, например, чтобы не набирать всю комманду перед каждым просмотром видео, создадим псевдоним для mplayer. Теперь можно просто набрать в консоли mplay с именем файла и смотреть с любимыми настройками:<br />
<div class="вырезка_из_логов"><code> alias mplay="mplayer -noquiet -nofs -nomouseinput -vc coreserve, -sub-fuzziness 1 -identify -slave -vo xv -ao pulse -stop-xscreensaver -ass -embeddedfonts -ass-line-spacing 0 -ass-font-scale 1 -ass-force-style PlayResX=512,PlayResY=320,Name=Default,Fontname=Arial,Fontsize=20,PrimaryColour=\&H00ffffff,BackColour=\&H00000000,OutlineColour=\&H00000000,Bold=0,Italic=0,Alignment=2,BorderStyle=1,Outline=1,Shadow=2,MarginL=20,MarginR=20,MarginV=8 -fontconfig -font Arial -subfont-autoscale 0 -subfont-osd-scale 20 -subfont-text-scale 20 -cache 2000 -osdlevel 1 -vf-add screenshot -slices -channels 2 -af scaletempo,equalizer=4:3:2:1:0:0:1:2:3:4 -softvol -softvol-max 110 -subcp enca:ru:cp1251"<br />
</code></div>Вы можете придумать что-то свое.</div><div align="justify"><b class="выделение_синеньким">Совет№3. Научится эффективно управлять задачами.</b> Linux, в отличии от MS-DOS, всегда был многозадачной ОС. Конечно, пользы от этого было бы мало, если бы не придумали нормального механизма управления процессами. И это таки сделали. Далее я опишу простейшие манипуляции с процессами, которые нужно знать для начала.<br />
<b>Запуск приложений.</b> Большинство программ для Линукс умеют работать и под консолью, даже если они имеют графический интерфейс. Для запуска просто вводим команду и по возможности параметры. Для примера запустим консольный проигрыватель музыки с плейлистом:</div><div class="консоль"><code>[keed'0'@mandrivka ~]$ mpg123 -@ ~/enigma.m3u<br />
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3 <br />
version 1.12.1; written and copyright by Michael Hipp and others <br />
free software (LGPL/GPL) without any warranty but with best wishes <br />
<br />
Directory: /data/Music/Enigma/1991 - MCMXC a D Limited Edition/ <br />
Playing MPEG stream 1 of 107: 01 - The Voice Of Enigma.mp3 ... <br />
Title: The Voice Of Enigma Artist: Enigma <br />
Album: MCMXC a D Limited Edition <br />
Genre: New Age <br />
MPEG 1.0 layer III, 192 kbit/s, 44100 Hz stereo</code></div><div align="justify">С музыкой жить веселее. Вот только теперь наша консоль получилась занятой и ничего нового ввести не получается. Что делать?<br />
<b>Можно плеер «свернуть»</b>. Для этого просто жмем клавиши Ctrl+Z. Это доступно для любых приложений, не только плеера. Выведется примерно такое сообщение и музыка прекратит играть:<br />
<div class="консоль">^Z <br />
[1]+ Stopped mpg123 -@ ~/enigma.m3u <br />
[keed'1'@mandrivka ~]$</div>Нет, мы не закрыли приложение, мы его временно приостановили — он все еще запущен и занимает ресурсы компьютера. Для продолжения в фоновом режиме вводим команду bg (от англ. <b>b</b>ack<b>g</b>round — фон):<br />
<div class="консоль"><code>[keed'1'@mandrivka ~]$ bg<br />
[1]+ mpg123 -@ ~/enigma.m3u &<br />
[keed'1'@mandrivka ~]$</code></div>Музыка снова заиграла — процесс продолжился в фоне. Посмотрите на вторую строку — там написана наша команда, а в конце стоит знак «&». Для чего он нужен? Так вот, если его дописать в конец команды и выполнить ее, то программа сразу запустится в фоне. В нашем случае мы запустили плеер в обычном режиме, потом остановили и перезапустили его в фоне. Для примера давайте еще что то еще запустим, скажем, одну бесконечную и бестолковую команду:<br />
<div class="консоль"><code> [keed'1'@mandrivka ~]$ cat /dev/zero > /dev/null &<br />
[2] 15335<br />
[keed'2'@mandrivka ~]$<br />
</code></div>Процессу присваивается PID 15335, условный идентификатор 2 и приложение ушло выполнятся на задний план. Запустим еще что-то и остановим его:<br />
<div class="консоль"><code>[keed'2'@mandrivka ~]$ ping 127.0.0.1<br />
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.<br />
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.068 ms<br />
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.060 ms<br />
^Z <br />
[3]+ Stopped ping 127.0.0.1<br />
[keed'3'@mandrivka ~]$<br />
</code></div>Теперь у нас в фоне 3 процесса. Как с ними работать? Очень даже просто. Давайте глянем, что у нас запущено и в каком состоянии оно находится. Тут нам пригодится команда <code>jobs</code>:<br />
<div class="консоль"><code>[keed'3'@mandrivka ~]$ jobs<br />
[1] Running mpg123 -@ ~/enigma.m3u &<br />
[2]- Running cat /dev/zero > /dev/null &<br />
[3]+ Stopped ping 127.0.0.1<br />
[keed'3'@mandrivka ~]$<br />
</code></div>Два работающих процесса, один приостановленный. Теперь каждый из них можно «развернуть», то есть перевести на передний план. Для этого есть программа <code>fg</code> (от англ. <b>f</b>ore<b>g</b>round — передний план). Используем ее так: fg, далее ставим знак «%» и без пробела идентификатор процесса — число, что стоит в первом столбике вывода jobs в квадратных скобках. Проверим, пингуется еще сеть или уже нет и опять остановим процесс:<br />
<div class="консоль"><code>[keed'3'@mandrivka ~]$ fg %3 <br />
ping 127.0.0.1 <br />
64 bytes from 127.0.0.1: icmp_seq=21 ttl=64 time=0.074 ms <br />
64 bytes from 127.0.0.1: icmp_seq=22 ttl=64 time=0.058 ms<br />
^Z <br />
[3]+ Stopped ping 127.0.0.1 <br />
[keed'3'@mandrivka ~]$ <br />
</code></div><b>Завершение процессов.</b> Завершить процесс можно «мягко» и «жестко». Что бы это сделать мягко, переключимся на его и нажмем «<code>Ctrl+C</code>» (если для этого в программе не придумано специальных горячих клавиш, как в mc, например — F10):<code> </code><br />
<div class="консоль"><code>[keed'3'@mandrivka ~]$ fg %2<br />
cat /dev/zero > /dev/null<br />
^C<br />
[keed'2'@mandrivka ~]$</code></div>Но бывает так, что программа начинает вести себя странно и/или потреблять довольно много ресурсов. Мягкий способ при этом не всегда помогает. Придется процесс убить — команда <code>kill</code> поможет нам. Используется она также, как и fg — убивает по PID`у или числовому идентификатору:<br />
<div class="консоль"><code>[keed'3'@mandrivka ~]$ jobs<br />
[1] Running mpg123 -@ ~/enigma.m3u &<br />
[2]- Running cat /dev/zero > /dev/null &<br />
[3]+ Stopped ping 127.0.0.1<br />
[keed'3'@mandrivka ~]$<br />
</code></div>Тут понятно, что мы убили ping. Однако завершая процессы таким способом Вы скорее всего потеряете все не сохраненные данные. Поэтому только в крайних случаях! Убить процесс можно и не зная его числовых значений, а зная только имя:<br />
<div class="консоль"><code> [keed'3'@mandrivka ~]$ killall ping<br />
[keed'2'@mandrivka ~]<br />
</code></div><b>Используйте top.</b> top — замечательная стандартная утилита для управления процессами. Описывать ее огромный функционал я не буду — это за меня уже сотни раз было сделано. Читайте man top в консоли, это полезно :) И на всякий случай приведу маленькую шпаргалку по тем командам, которые мы сегодня выучили:<br />
<br />
<table border="0" style="width: 100%;"><tbody>
<tr> <td style="vertical-align: top; width: 50px;"><br />
</td> <td style="background-color: orange; vertical-align: top; width: 1px;"><br />
</td> <td style="vertical-align: top;"><i>команда &</i> — запуск команды в фоновом режиме;<br />
<i>bg</i> — перевод команды в фоновую работу;<br />
<i>fg %n</i>— перевод процесса [n] в развернутый режим;<br />
<i>jobs</i> — вывод списка запущенных процессов;<br />
<i>kill %n</i> — убить процесс [n];<br />
<i>killall команда</i> — завершить команду по ее названию;<br />
<i>nohup команда</i> — запуск команды без привязки к консоли;<br />
<i>Ctrl+Z</i> — приостановить процесс;<br />
<i>Ctrl+C</i> — мягкое завершение процесса;<br />
<i>top</i> — консольный диспетчер задач.</td> </tr>
</tbody></table><br />
Для еще более гибкой работы в консоли попробуйте изучить screen.<br />
<b class="выделение_синеньким">Совет №4. Освойте скрипты.</b> Это просто находка для автоматизации процессов. И это совсем не такие скрипты, как bat и cmd из мира Microsoft. Это на самом деле очень серьезный и удобный инструментарий для системного администрирования — тот не админ, который не знает bash. Настоятельно рекомендую руководство Advanced Bash-Scripting Guide. Скачать его бесплатно можно вот от сюда — <a href="http://nklug.org.ua/lg/rus/articles/index-abs-guide.html">http://nklug.org.ua/lg/rus/articles/index-abs-guide.html</a>. Оно очень хорошо написано, будет полезно как новичкам, так и опытным программистам. Я сам по нему учился и знаю, что говорю. Даже если вы далеки от программирования, научитесь хотя бы читать сценарии. Начните с легкого — с Bash, а далее, если втянитесь, самим захочется освоить что то посерьезнее вроде Perl или Python.<b class="выделение_синеньким"> </b><br />
<b class="выделение_синеньким">Совет №5. Запустите сервис консольной мыши.</b> Для этого установите</div>и запустите сервис <code>gpm</code>:</div><div class="консоль"><code> [keed'0'@mandrivka ~]$ sudo urpmi gpm<br />
[keed'0'@mandrivka ~]$ sudo /etc/init.d/gpm start<br />
</code></div><div style="text-align: justify;">Теперь прямо в консоли можно выделять, копировать и вставлять текст, а также более эффективно работать с vim или mc, например.</div></div><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2011/01/blog-post.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com1tag:blogger.com,1999:blog-1212951749455491439.post-3086808464292939622011-01-21T15:38:00.000+02:002011-01-21T15:38:34.605+02:00Непонятки last<div dir="ltr" style="text-align: left;" trbidi="on"><div align="justify">Как я знаю, команда <code>last</code> выводит информацию про то, кто, когда и сколько работал за системой. И один раз она мне сказала что-то очень странное:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVQukseKyN4N59ij5yy3cizudPFdk4cSW-KJY_FTQB9LkYN_HLZq_RXKb-JVab72Xyr7-JZWm4Tu1-FHSuJyFJvr8OmvlSiA8njdfPx-GDkDN4Ty6U9b3gVbiyAQZhtJvsdyR7potR94qr/s1600/last+keed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="497" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVQukseKyN4N59ij5yy3cizudPFdk4cSW-KJY_FTQB9LkYN_HLZq_RXKb-JVab72Xyr7-JZWm4Tu1-FHSuJyFJvr8OmvlSiA8njdfPx-GDkDN4Ty6U9b3gVbiyAQZhtJvsdyR7potR94qr/s640/last+keed.png" width="640" /></a></div>Это же как получается, время идет назад? Хе-хе, забавно. Я время не переводил. Может я что-то не знаю? Тогда подскажите =)</div></div>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-30578987379805163702011-01-20T09:46:00.002+02:002011-01-20T09:50:38.505+02:00Меняем Windows-атрибуты на файлы в Linux<div align="justify">Мне нравится мой телефон — <a href="http://mdata.yandex.net/i?path=b0201200801_img_id6516806004914286433.jpg" target="_blank">Nokia 6303c</a>. Для меня он еще и флешка. И, как положено, в корневой папке откровенный бардак. Например, папки boot, system, initrd мне нужны, но их отображение в самом телефоне нежелательно. Как их скрыть? Ведь права DOS и UNIX разные и не совместимы друг с другом? Раньше я это делал из-под Windows — правой кнопкой => Свойства => Галочка «Скрытый» => ОК. Сегодня я расскажу как добиться такого результата в Linux. Для этого используем пакет <code>mtools</code> (вот он и пригодился, кто бы мог подумать):</div><div class="консоль"><code> [keed'0'@mandrivka ~]$ sudo urpmi mtools<br />
</code></div><div align="justify">В состав пакета входит утилита <code>mattrib</code>, которая работает аналогично <code><a href="http://citforum.ru/operating_systems/novelldos/attrib.shtml" target="_blank">attrib</a> </code>от фирмы Microsoft. Для начала подготовка. Предположим, что Ваша флешка — это устройство <code>/dev/sdb1</code>. Его нужно прописать как диск <code>A:\</code> в файле <code>/etc/mtools.conf</code>. Вот как примерно должно получится:</div><div style="-moz-box-shadow: 0pt 0pt 4px rgb(77, 119, 136); background: none repeat scroll 0% 0% rgb(238, 239, 255); border: 1px dashed rgb(249, 222, 156); padding-left: 20px; padding-right: 20px;"><code> drive a: file="/dev/sdb1" exclusive<br />
drive b: file="/dev/sdb2" exclusive<br />
</code></div><code>mtools</code> работает только с размонтированными разделами, поэтому:<br />
<div class="консоль"><code> [keed'0'@mandrivka ~]$ sudo umount /dev/sdb1<br />
</code></div>Теперь скроем папку boot на карте памяти:<br />
<div class="консоль"><code> [keed'0'@mandrivka ~]$ mattrib +h +s a:\\boot\<br />
Total number of sectors (8007796) not a multiple of sectors per track (63)!<br />
Add mtools_skip_check=1 to your .mtoolsrc file to skip this test<br />
</code></div>Ошибка! Хорошо, сделаем так, как просят:<br />
<div class="консоль"><code> [keed'0'@mandrivka ~]$ echo 'mtools_skip_check=1' > ~/.mtoolsrc</code></div><div align="justify">Повторим попытку — все проходит гладко, так, как мы и хотели. Теперь можно монтировать раздел и<br />
работать дальше. Если будет жаловаться на недостаток прав, то команду выполняем через <code>sudo</code>.<br />
<br />
<b>Что это нам дало?</b> Под Windows и телефоном файлы теперь скрыты — чистенько и аккуратно. А так<br />
как я свой девайс втыкаю в основном на Linux-машинах, то эти файлы видны и «инородные» права игнорируются.</div><div align="right"><a href="http://keedhost.blogspot.com/">Андрей 'keedhost' Кондратьев</a></div>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-26556321613200162452011-01-17T10:30:00.000+02:002011-01-17T10:30:23.162+02:00Делаем скриншот GRUB<div align="justify">Много в интернете можно найти руководств по настройке GRUB`а — то картинку, то пункты изменят. И часто приводят результат в виде фотоснимка экрана. Зачем так морочить себе голову? Воспользуйтесь эмулятором <code>qemu</code> примерно так:</div><div class="консоль"><code> [keed'0'@mandrivka ~]$ su -c "qemu -hda /dev/sda"<br />
</code></div><div align="justify">Может долго загружатся. Когда появится загрузчик, просто сделайте скриншот и обрежьте лишнее через gimp:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2o4FtXOSyO5djl8IP4subgi-MaZpPBwSG3323AwqI091oRF0Zs7bGeck1rz_UQSrtuEb2BemXlxWT3OrejcnQkumBN1ffBob0HYbOof40vWSfuriUskcBcYWCWg73y4qkbiQ5-R2cZSyi/s1600/%25D0%25A1%25D0%25BA%25D1%2580%25D0%25B8%25D0%25BD%25D1%2588%25D0%25BE%25D1%2582_%25D0%25B3%25D1%2580%25D1%2583%25D0%25B1%25D0%25B0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="619" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2o4FtXOSyO5djl8IP4subgi-MaZpPBwSG3323AwqI091oRF0Zs7bGeck1rz_UQSrtuEb2BemXlxWT3OrejcnQkumBN1ffBob0HYbOof40vWSfuriUskcBcYWCWg73y4qkbiQ5-R2cZSyi/s640/%25D0%25A1%25D0%25BA%25D1%2580%25D0%25B8%25D0%25BD%25D1%2588%25D0%25BE%25D1%2582_%25D0%25B3%25D1%2580%25D1%2583%25D0%25B1%25D0%25B0.png" width="640" /></a></div></div>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com2tag:blogger.com,1999:blog-1212951749455491439.post-42962605565056538712011-01-14T14:31:00.005+02:002011-06-11T13:09:33.841+03:00KOMPAS 11 vs. WINE 1.2 - установка в Linux<div align="justify">По поводу этого вопроса много сказано в Интернете. Однако каждый раз — по разному. Давайте, наконец-то посмотрим правде в глаза и раскроим великую тайну всего человечества — можно ли заставить работать КОМПАС под вайном? Вот список всего, что я использовал:<br />
<br />
<b> — Mandriva Linux 2010.2</b><br />
<b> — wine 1.2-rc4 (стандартный пакет с дистрибьютива)</b><br />
<b> — Пакет win32-библиотек</b><br />
<b> — Kompas 3D ver.11</b><br />
<br />
Набор стандартен. Многие для этого рекомендуют использовать пакет <a href="http://etersoft.ru/wine/"><code>wine@etersoft</code></a>, но и он не идеален — я заметил проблемы с курсором и подтормаживания, да и денежку приходится отдавать. От этой идеи пришлось отказаться и пробовать запустить КОМПАС под обычным wine`ом. И, конечно, многолетний мой опыт плясок с бубнами тут пригодился. Поэтому для упрощения жизни себе и не только я собрал все нужное в одном архиве, написал скриптовый инсталлятор и выложил в Интернете <a href="http://moemesto.ru/kondrat/file/10361410/kompas_wine_libs.tar.gz">тут</a>. Вот как его установить:</div><div class="консоль"><code> $ wget http://moemesto.ru/kondrat/file/10361410/kompas_wine_libs.tar.gz<br />
$ tar -zxvf kompas_wine_libs.tar.gz && cd kompas_wine_libs<br />
$ sh ./prep_inst_kompas<br />
</code></div><div style="text-align: justify;">После установки появится программа настройки winecfg. В ней во вкладке «Libraries» в первую строку вставляем строку «<code>msvcrt</code>» (без кавычек) и жмем «Add» Так мы подменили динамическую библиотеку. Все, теперь можно приступать к установке. Все проходит гладко, но программа установки все-таки ругнется по поводу защиты HASP:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIJEiE6GEL4z11rFayEFrQPixuxkz3Uzf8wZNeRITVf5ozlJz8Fii98ws40O4-F8yUln1GpXaBhswfUJsDa-ogl5CzKpxB_VEquqsz8ZmQRqCmDdRCtS-BK3wSv7ZbWkHgoMicWOa28MjE/s1600/%25D0%259E%25D1%2588%25D0%25B8%25D0%25B1%25D0%25BA%25D0%25B0.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="93" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIJEiE6GEL4z11rFayEFrQPixuxkz3Uzf8wZNeRITVf5ozlJz8Fii98ws40O4-F8yUln1GpXaBhswfUJsDa-ogl5CzKpxB_VEquqsz8ZmQRqCmDdRCtS-BK3wSv7ZbWkHgoMicWOa28MjE/s320/%25D0%259E%25D1%2588%25D0%25B8%25D0%25B1%25D0%25BA%25D0%25B0.jpg" width="320" /></a></div><div style="text-align: justify;">Игнорируем. После установки запустим Компас — запускной .desktop-файл лежит в папке«<code>~/.local/share/applications/wine/Programs/АСКОН/КОМПАС-3D V11</code>», который для удобстваможно скопировать на рабочий стол. Сразу перед взором нашим окно с ошибкой явится — опять про защиту лицензии:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvh5v-A_QWS02t4HXOd2MjpYAspeSQtDWTdF54aJvSZ1t0NuYrYjb_i2aAAdpHbBfz5zqWyIn5Q1HzxMI5MWqhng30Wx9MJJkGM0DimhFFMlj8LrVmybXhOl69OOawJuCgztua2lRUfqGY/s1600/%25D0%259D%25D0%25B5%25D1%2582_%25D0%25BB%25D0%25B8%25D1%2586%25D0%25B5%25D0%25BD%25D0%25B7%25D0%25B8%25D0%25B8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="93" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvh5v-A_QWS02t4HXOd2MjpYAspeSQtDWTdF54aJvSZ1t0NuYrYjb_i2aAAdpHbBfz5zqWyIn5Q1HzxMI5MWqhng30Wx9MJJkGM0DimhFFMlj8LrVmybXhOl69OOawJuCgztua2lRUfqGY/s320/%25D0%259D%25D0%25B5%25D1%2582_%25D0%25BB%25D0%25B8%25D1%2586%25D0%25B5%25D0%25BD%25D0%25B7%25D0%25B8%25D0%25B8.png" width="320" /></a></div><br />
<br />
<div style="text-align: justify;">Скорее всего Вы уже с ним знакомы. Я с этим справился, а вам не расскажу как — профессиональный секрет, попробуйте додумайтся сами:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIrMGX3x14DVJmVxqAUqKYzA8A5mNPq0p91LlrAH8hBuOSaDwqJfGlH5OIkt9MG4HqsWD4chCqeR3PVNFugUxQuS9nz2BP9Ltysi3HG8D5twBuBinTOPDIiLe2X4VC6VbqC4JkzRi2TWmz/s1600/%25D0%2593%25D0%25BE%25D1%2582%25D0%25BE%25D0%25B2%25D1%258B%25D0%25B9_%25D0%25BF%25D1%2580%25D0%25BE%25D0%25B4%25D1%2583%25D0%25BA%25D1%2582.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIrMGX3x14DVJmVxqAUqKYzA8A5mNPq0p91LlrAH8hBuOSaDwqJfGlH5OIkt9MG4HqsWD4chCqeR3PVNFugUxQuS9nz2BP9Ltysi3HG8D5twBuBinTOPDIiLe2X4VC6VbqC4JkzRi2TWmz/s400/%25D0%2593%25D0%25BE%25D1%2582%25D0%25BE%25D0%25B2%25D1%258B%25D0%25B9_%25D0%25BF%25D1%2580%25D0%25BE%25D0%25B4%25D1%2583%25D0%25BA%25D1%2582.png" width="400" /></a></div><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2011/01/kompas-11-vs-wine-12.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-46672917592634373252011-01-10T13:08:00.006+02:002011-06-11T13:14:57.117+03:00Задача: поставить драйвер видеокарты NVIDIA в Mandriva 2010<b>Проблема 1:</b> не знаю как это сделать.<br />
<b>Проблема 2:</b> не устанавливаются драйвера, скачанные с официального сайта.<br />
<div align="justify"><b style="color: #0084d1; font-weight: bold;"> Какой выбрать?</b><br />
Сегодня мы попробуем решить эти две проблемы. Сначала давайте определимся, для каких целей и где мы будем использовать наш компьютер. Во-первых, для карточек Nvidia есть аж три драйвера: стандартный nv (пакет для установки — x11-driver-video-nv), немного более «продвинутый» и открытый nouveau (пакет для установки — x11-driver-video-nouveau) и закрытый пропиретарный nvidia. Первый хорошо использовать в офисе, например, чтобы работники в игры не играли. Он не поддерживает трехмерное ускорение, но можно смотреть фильмы, нормально работать с окнами. Именно за ним я вполне нормально прожил целых пол года на заре своего знакомства с линукс, но это от незнания. Второй драйвер, нуво, также открытый. Вот он уже вполне подходит для дома — умеет акселерацию и все, что из этого следует. К сожалению он имеет еще достаточно скудные возможности, недостаточно стабилен и во многом сильно уступает третьему драйверу — nvidia. Вот он все-таки отличный. По крайней мере намного качественнее других производителей, к примеру тех же ATI. Вот только лицензия не позволяет включать его в большинство дистрибьютивов, от куда и проблемы с установкой. Да, я знаю, что в репах мандривы есть и для третьего драйвер пакеты, но их ставить не так не интересно. Куда интереснее их собирать вручную. Делая это, вы рискуете научится! Вот и попробуем :)<br />
<b style="color: #0084d1; font-weight: bold;"> Где взять?</b><br />
Первые два — nv и nouveau есть в стандартных репозиториях в виде собранных пакетов. Просто ставим нужный пакет и все. Можно просто запустить <code>drakx11</code>, которая сама вытянет с интернета или диска нужные драйвера, установит их и настроит так, чтобы работало. Это самый простой способ, не требующий лишних телодвижений. Если жить под стандартным драйвером nv не хочется (и в игры не поиграешь, и современные красивые интерфейсы не запустишь. Хотя кубиком сейчас никого не удивишь), тогда фирменный nvidia и только. Также есть люди, которые принципиально все компилируют и не признают чужеродную бинарщину. Или если доступа к Всемирной нет? Что же делать в таком случае? Можно поступить следующими способами. Купить <a href="http://shop.mandriva.ru/"> Mandriva Linux Powerpack</a> — но это довольно дорого, зато содержит пакеты драйверов и другой коммерческий софт, плюс поддержку имеет. Или бесплатно скачать <a href="http://www.mandriva.ru/downloads/linux_20102/mandriva_one/"> Mandriva One</a> — в ней уже все установлено. Но мы, суровые красноглазые мужики, простые пути не выбираем и трудностей не боимся. Поэтому давайте разберем оффлайн-установку. Тем более, что в мандриве 2010.* сделать это достаточно проблематично. Для простых пользователей — хорошая головоломка. Для начала я дам немного информации про сам драйвер.<br />
<b style="color: #0084d1; font-weight: bold;">Информация.</b><br />
Драйвер представляет собой файл размером порядка 20-30 МБ с расширением .run. Это самый обычный shell-скрипт, в конец которого приписали .tar.gz архив. Хотя нет, правильнее будет сказать так — архив, в начало которого дописали сценарий. При запуске сначала проверяется его целостность, потом с помощью программы dd он режется надвое: на текстовую и бинарную часть. Так как двоичные данные — это архив, то он распаковывается во временную папку и от туда выполняется программа установки — <code>nvidia-installer</code>. И все бы ничего, только вот разработчики Mandriva 2010 занесли этот и еще несколько драйверов в черный список. Зачем — я так и не понял. Может они решили заблочить потенциально опасное ПО, или дырку в безопасности — кто знает... Я только знаю, что это ничего, кроме лишнего геморроя не приносит. Ну что, будем с этим бороться. Про эту типа «защиту» расскажу позже.<b style="color: #0084d1; font-weight: bold;"> </b><br />
<b style="color: #0084d1; font-weight: bold;">Подготовка.</b><br />
Драйвер содержит фирменные бинарные утилиты, библиотеки OpenGL, а также некоторые исходные тексты для сборки модуля ядра <code>nvidia.ko</code>. Для успешной компиляции последнего мы должны поставить инструменты разработчика — исходные тексты и заголовочные файлы для ядра. Это можно сделать с помощью таких команд (все осторожно выполняем от имени root или пользуемся sudo):<br />
<div class="консоль"><code> # urpmi kernel-source-latest kernel-desktop-devel-latest<br />
</code></div>По зависимостям вытянутся также и другие нужные нам программы, например компилятор gcc, autoconf,<br />
make и так далее. В общем будет установлено около 350 мегабайт. Когда все будет готово, идем на сайт <a href="http://www.nvidia.ru/Download/index.aspx?lang=ru">www.nvidia.com</a> и качаем последнюю версию драйвера. На момент написания статьи это была версия 260.19.21. Сохраняем в домашней папке. Однако прежде, чем начать установку, нужно, чтобы наш графический сервер был отключен — это необходимое требование установщика. Будет исполнено — переходим в виртуальную консоль нажатием клавиш <code>Ctrl+Alt+F1</code> и логинимся под рутом. Гасим Х:<br />
<div class="консоль"><code> # /etc/init.d/dm stop<br />
</code></div>Экран потухнет — это хорошо, значит мы остановили сервис. Возможно нам придется снова вернутся в консоль — опять жмем <code>Ctrl+Alt+F1</code>. Теперь то мы запустим обожаемый мной файловый менеджер <code>Midnight Commander</code>, или просто <code>mc</code>. Если его нет — ставим:<br />
<div class="консоль"><code> # urpmi mc<br />
</code></div>Это очень сильно упростит нам жизнь.<br />
<b style="color: #0084d1; font-weight: bold;"> А теперь немного теории.</b><br />
В Linux есть такая технология — динамическая загрузка и выгрузка модулей ядра. Практически все современные ядра являются модульными, и это очень удобно. Модуль — по сути это тот же драйвер. Например, мы установили новое оборудование — видеокарту Nvidia. В идеале мы должны скомпилировать модуль, установить его, подгрузить и спокойно работать. Загружается так:<br />
<div class="консоль"><code> # modprobe nvidia<br />
</code></div>Если модуль нам не нужен — выгрузим его:<br />
<div class="консоль"><code> # rmmod nvidia<br />
</code></div>Все это сделано для того, чтобы менять оборудование на лету и избежать перезагрузок, как в Windows. И это здорово — особенно очень полезно на серверах, где даже минута простоя может стоить очень дорого. В не динамических (статических) ядрах все иначе. В них нет модулей — все собрано в один большой файл, и чтобы добавить новый модуль, нужно пересобирать ядро, что довольно таки неудобно и долго. И еще одно. В статических ядрах загружаются сразу все драйвера без возможности отключения. Только представьте, сколько лишней ОЗУ будет использовано. А разработчики кидают туда как можно больше всего — на всякий случай, пригодится. Итак допустим, что модуль установлен. Однако криворукость программистов еще никто не отменял и драйвер может либо жутко глючить, либо работать не так, как хочется. Что делать? Удалять модуль не будем — не для того мы его ставили. Просто временно отключим — занесем в черный список. Черный список, иначе <code>blacklist</code> — это набор текстовых файлов, в которые заносят названия модулей, которые нужно отключить при загрузке. Именно так разработчики Mandriva 2010 и поступили. Вы только посмотрите файлы <code>/etc/modprobe.d/blacklist-mdv</code> и <code>/etc/modprobe.d/blacklist-compact</code> — там столько всего вкусненького. Ну что ж, разблокируем драйвера:<br />
<div class="консоль"><code> # rm -f /etc/modprobe.d/blacklist-compact<br />
# rm -f /etc/modprobe.d/blacklist-mdv<br />
# echo 'blacklist pcspkr' > /etc/modprobe.d/blacklist-mdv<br />
# echo 'blacklist snd-pcsp' >>/etc/modprobe.d/blacklist-mdv<br />
</code></div>Последние две строчки отключают эту долбаную пищалку, которая поздним вечером как пикнет — усраться можно! И еще один необходимый трюк:<br />
<div class="консоль"><code> # echo nvidia >> /etc/modprobe.preload<br />
</code></div>Теперь все готово, приступаем, наконец-то к установке.<br />
<b style="color: #0084d1; font-weight: bold;"> Установка.</b><br />
Распакуем драйвер и соберем модуль:<br />
<div class="консоль"><code> # chmod +x NVIDIA-Linux-x86-260.19.21.run<br />
# ./NVIDIA-Linux-x86-260.19.21.run -x<br />
# cd NVIDIA-Linux-x86-260.19.21/kernel<br />
# make<br />
# make -f Makefile.kbuild<br />
</code></div>Драйвера до версии 195 имели другое строение установочного дистрибьютива. Там вместо папки kernel есть usr/src/nv — там и проводим сборку модуля. Компиляция завершится с ошибкой вроде этой: <code>FATAL: Error inserting nvidia (/lib/modules/2.6.33.5-desktop586-2mnb/kernel/drivers/video/nvidia.ko):No such device</code>, но все будет хорошо. Далее устанавливаем и перезагружаемся:<br />
<div class="консоль"><code> # make install<br />
# reboot<br />
</code></div>Ошибка возникает потому, что модуль пытается подгрузится, но ему что-то мешает. Перезагружаем компьютер. При загрузке экран будет моргать — это тоже нормально, пытается загрузится модуль из файла <code>/etc/modprobe.preload</code> в неположенное для этого время. Может вылезти сообщение с ошибкой и предложением исправить — не трогаем. Уходим на консоль Alt+F1 и теперь запускаем программу установки:<br />
<div class="консоль"><code> # cd NVIDIA-Linux-x86-260.19.21/<br />
# ./nvidia-installer<br />
</code></div>На все вопросы отвечаем «Yes». Все должно работать нормально и Х-сервер запустится сам. Если этого не произошло, делаем ручками:<br />
<div class="консоль"><code> # echo "" > /etc/modprobe.preload<br />
# /etc/init.d/dm start<br />
</code></div>В крайнем случае перезагружаемся. Вот и все, можно радоваться 3D ускорению, играм и компизу! <br />
<b style="color: #0084d1; font-weight: bold;"></b></div><b style="color: #0084d1; font-weight: bold;">P.S.</b> Напоследок скажу, что это способ найденный мной лично. Но это не значит, что он единственный и неповторимый. Очень даже возможно, что именно Вы найдете способ попроще и напишешете мне о нем :)<br />
<b style="color: #0084d1; font-weight: bold;"> P.S.S.</b> Надеюсь в версии 2011 таких проблем не будет и моя статья будет не нужна ;)<br />
<br />
<div align="right"><i><a href="http://keedhost.blogspot.com/">Андрей Кондратьев ака keedhost</a></i></div><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2011/02/nvidia.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com7tag:blogger.com,1999:blog-1212951749455491439.post-45503491391923536832010-12-27T15:50:00.000+02:002011-01-10T12:58:28.342+02:00Продлеваем срок службы лицензии Windows<div align="justify">Не в моих правилах писать про Windows, но этот трюк меня реально выручил один раз. В Win2k8 бычно дается 2 месяца пробной работы, после чего настойчиво просят зарегистрировать свою Windows или идти вон. Для продления срока действия пробного периода, качаем <a href="http://support.microsoft.com/kb/948472/ru">этот KB948472</a> и устанавливаем. Внутри его есть скрипт <code>slmgr.vbs</code> Предназначен он для того, что бы узнавать, сколько еще осталось Trial-времени:</div><br />
<div class="консоль"><code> C:\> slmgr.vbs -dli<br />
</code></div><br />
<div align="justify">Однако с ее помощью можно сбросить и/или продлить оценочный период еще на 60 дней! Потом еще на 60, еще на 60... В общем, пока что получалось 4 раза продлевать, а это 4х60=240 дней, или 8 месяцев!!! И думаю, это не предел:</div><br />
<div class="консоль"><code> C:\> slmgr.vbs -rearm<br />
</code></div><br />
<div style="text-align: justify;">Процесс можно автоматизировать через виндовый планировщик задач <code>at</code>.<br />
Про его работу расказывать не буду, т.к. не владею им, а <a href="http://www.google.com/search?q=%D0%9F%D0%BB%D0%B0%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D1%89%D0%B8%D0%BA+at+Windows&ie=utf-8&oe=utf-8&aq=t&rls=com.mandriva:en-US:unofficial&client=firefox-a">Google</a> еще никто не отменял.</div><div align="justify">Когда это полезно? Ну, например, когда фирма только начинает свой путь в бизнес, про Линукс не знает, а на лицензию Windows пока денег нет. Да и полистав лицензию от Microsoft, в этих действиях противозаконных мотивов я так и не нашел. Тем более, что мы пользуемся средствами самих<br />
Microsoft :) Ну или вот еще пример. Сервисный центр зарабатывает деньги свинством и через месяц-два люди должны приходить к ним, платить денюшку и им продлят лицензию! Кстати знаю таких, за 300грн. такое делают(!). <br />
Вот. О, и еще, на Windows XP/Vista/Seven не проверял, нету у меня такого. Как только, так сразу *_-</div>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-40162825496881103952010-12-23T13:09:00.001+02:002011-01-17T16:35:46.495+02:00Решаем проблему «Вне диапазона»<style>
.консоль
{
<<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">style</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span>: <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">none</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">repeat</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">scroll</span> 0% 0% <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">yellow</span>;" <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">class</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">goog</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">spellcheck</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">word</span>"><span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">border</span></<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span>> : 1px <<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">style</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span>: <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">none</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">repeat</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">scroll</span> 0% 0% <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">yellow</span>;" <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">class</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">goog</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">spellcheck</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">word</span>"><span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">solid</span></<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span>> <<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">style</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span>: <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">none</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">repeat</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">scroll</span> 0% 0% <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">yellow</span>;" <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">class</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">goog</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">spellcheck</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">word</span>"><span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">green</span></<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span>>;
<<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">style</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span>: <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">none</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">repeat</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">scroll</span> 0% 0% <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">yellow</span>;" <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">class</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">goog</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">spellcheck</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">word</span>"><span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">padding</span></<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span>> : 5pt;
<<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">style</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span>: <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">none</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">repeat</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">scroll</span> 0% 0% <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">yellow</span>;" <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">class</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">goog</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">spellcheck</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">word</span>"><span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span></<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span>>-<<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">style</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span>: <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">none</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">repeat</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">scroll</span> 0% 0% <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">yellow</span>;" <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">class</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">goog</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">spellcheck</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">word</span>"><span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">color</span></<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span>> : <<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">style</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span>: <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">none</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">repeat</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">scroll</span> 0% 0% <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">yellow</span>;" <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">class</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">goog</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">spellcheck</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">word</span>"><span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">black</span></<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span>>;
<<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">style</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span>: <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">none</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">repeat</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">scroll</span> 0% 0% <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">yellow</span>;" <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">class</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">goog</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">spellcheck</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">word</span>"><span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">color</span></<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span>> : <<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">style</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span>: <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">none</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">repeat</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">scroll</span> 0% 0% <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">yellow</span>;" <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">class</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">goog</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">spellcheck</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">word</span>"><span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">white</span></<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span>>;
<<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">style</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span>: <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">none</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">repeat</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">scroll</span> 0% 0% <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">yellow</span>;" <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">class</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">goog</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">spellcheck</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">word</span>"><span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">float</span></<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span>> : <<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">style</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">background</span>: <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">none</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">repeat</span> <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">scroll</span> 0% 0% <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">yellow</span>;" <span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">class</span>="<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">goog</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">spellcheck</span>-<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">word</span>"><span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">justify</span></<span style="background: none repeat scroll 0% 0% yellow;" class="goog-spellcheck-word">span</span>>;
}
</style><br />
<div align="justify">В первую очередь эта заметка будет полезна для Линукс-геймеров.Как я подозреваю, для них знакома такая ситуация: запускаем игру и экран тухнет, выводя табличку «Вне диапазона». После только Ctrl+Alt+Backspace помогает. Вот только борются они не с причиной проблемы, а с ее последствиями, кстати довольно нелепыми методами — правкой конфигов игры, заставляя ее запускается в оконном режиме, а потом настраивать правильные разрешения. Почему так происходит? Все дело в кривых драйверах, которые правят файл <code> /etc/X11/xorg.conf</code>. При нормальной настройке должны быть прописаны так называемые метамоды - разрешения экрана, в которые драйвер может переключать монитор. Игра обычно запускается в полноэкранном режиме и с низким разрешением. Тут то драйвер не срабатывает, он просто не знает, поддерживает этот экран такой диапазон, или нет и от греха подальше отключает монитор. Метамоды отличаются в зависимости от размера экрана и соотношения сторон. Я приведу пример, как я решил эту проблему у себя на мониторе LG диагональю 17" и соотношением сторон 4:5. Итак, открываем от имени рута файл <code>/etc/X11/xorg.conf</code> в любимом редакторе и смотрим в секцию <code><b>Section "Screen"</b></code>. Вот какие разрешения я туда добавил (предпоследняя строка):</div><div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; -moz-box-shadow: 0pt 0pt 4px rgb(77, 119, 136); background: rgb(238, 239, 255) none repeat scroll 0% 0%; border: 1px dashed rgb(249, 222, 156); padding-left: 20px; padding-right: 20px;"><br />
<pre style="color: black;"><span style="color: #644a9b;">Section</span> <span style="color: #e85752;">"Screen"</span>
<b>Identifier </b><span style="color: #0057ae;">"screen1"</span>
<b>Device </b><span style="color: #0057ae;">"device1"</span>
<b>Monitor </b><span style="color: #0057ae;">"monitor1"</span>
<span style="color: #644a9b;">Subsection</span> <span style="color: #e85752;">"Display"</span>
<b>Modes </b><span style="color: #0057ae;">"nvidia-auto-select"</span>
<span style="color: #644a9b;">EndSubsection</span>
<b>Option </b><span style="color: #0057ae;">"DPMS"</span>
<i><span style="color: #c5b399;"># Вот ниже я добавил 4 метамода разрешения экрана:</span></i>
<b>Option </b><span style="color: #0057ae;">"metamodes"</span><b> </b><span style="color: #0057ae;">"1280x1024_60 +0+0; 1024x768_60 +0+0; 800x600_60 +0+0; 640x480_60 +0+0"</span>
<span style="color: #644a9b;">EndSection</span>
</pre></div><div align="justify">Теперь перезапустите Х-сервер и все должно работать!<br />
<br />
P.S. Я думаю вы поняли смысл изложенного материала, а дальше настроите режимы так, как вам удобнее. Разрешения экрана, которые поддерживает ваш монитор, найдете в инструкции к нему. Удачи и делайте резервные копии почаще!</div>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-78833275240313681652010-12-22T12:11:00.002+02:002011-01-10T14:34:37.145+02:00Консольные шрифты в Mandriva<div align="justify">Как бы не был X.org удобен и могуч, от Консоли мы никуда не денемся. И за ухоженной консолькой работать, может и не удобнее, но приятней — это точно. Давайте ее немного настроим — поменяем шрифт. Кстати, я имею ввиду именно Консоль, вызываемую клавишами Ctrl+Alt+F1 … Ctrl+Alt+F12, а не эмулятор терминала. Итак, мы за Mandriva, а именно за 2010.1.По умолчанию у Вас уже должен стоять пакет <i>kbd</i>, если нет — установим:</div><div class="консоль"><code> # urpmi kbd<br />
</code></div><div style="text-align: justify;">В этом пакете собрано много утилит для работы с консолью, клавиатурой и консольными шрифтами. Вот именно шрифты нас сегодня и интересуют. По-умолчанию они хранятся здесь: <i><a href="file:///usr/lib/kbd/consolefonts/"> /usr/lib/kbd/consolefonts/</a></i>. Есть три типа файлов — с расширением *.cp.gz, *.psf.gz и *.psfu.gz. Что это за файлы? Давайте их распакуем и пропустим через программу file, она то точно скажет:</div><div class="консоль"><code> [keed'0'@mandrivka tmp]$ file 161.cp<br />
161.cp: DOS code page font data (from Linux?)<br />
[keed'0'@mandrivka tmp]$ file GohaClassic-16.psfu<br />
GohaClassic-16.psfu: Linux/i386 PC Screen Font data, 512 characters, Unicode directory, 8x16</code></div><div style="text-align: justify;">На счет первого не все мне понятно, а вот на счет второго файла — все ясно: шрифт на ЛИНУКС, содержащий 512 символов размером 8х16 в формате Юникод. Мы используем кириллические символы, поэтому берем шрифты, в именах которых присутствуют такие буквосочетания, как Uni, alt и/или Cyr. Меня заинтересовал шрифт alt-sans-8x16.psf.gz. На нем и потренируемся. Открываем конфигурационный файл <i>/etc/sysconfig/i18n</i>, находим там строку SYSFONT=UniCyr_8x16 и вписываем туда нужный шрифт, предварительно убрав из его названия «.psf.gz». В итоге у нас должно получится примерно следующее:</div><div style="-moz-box-shadow: 0pt 0pt 4px rgb(77, 119, 136); background: none repeat scroll 0% 0% rgb(238, 239, 255); border: 1px dashed rgb(249, 222, 156); padding-left: 20px; padding-right: 20px;"><pre style="color: black;">LC_TELEPHONE=uk_UA.UTF-8
LC_CTYPE=uk_UA.UTF-8
LANGUAGE=uk_UA.UTF-8:uk
LC_MONETARY=uk_UA.UTF-8
LC_ADDRESS=uk_UA.UTF-8
LC_COLLATE=uk_UA.UTF-8
LC_PAPER=uk_UA.UTF-8
LC_NAME=uk_UA.UTF-8
LC_NUMERIC=uk_UA.UTF-8
<b>SYSFONT=alt-sans-8x16</b>
LC_MEASUREMENT=uk_UA.UTF-8
LC_TIME=uk_UA.UTF-8
LANG=uk_UA.UTF-8
LC_IDENTIFICATION=uk_UA.UTF-8
LC_MESSAGES=uk_UA.UTF-8
</pre></div><div align="justify">Давайте опробуем его. Переключаемся на виртуальную консоль Ctrl+Alt+F1, логинимся как root и даем команду <code>setfont</code>. Не сработало? Жмем Ctrl+D и перелогинимся. Теперь новый шрифт должен заработать!<br />
P.S. Эта заметка, конечно же, справедлива и для Mandriva-based дистрибьютивов, таких как PCLinuxOS, Gamma Linux, Unity и тому подобные.</div>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-72231801537475291072010-12-21T11:01:00.001+02:002011-01-10T14:30:57.361+02:00Предложение по введению Свободного программного обеспечения в образовательные учреждения Украины<div >="" align="justify" style="text-indent: 15pt;" безразлично="" в="" вам="" вкладывая="" всем="" всемирный="" годы,="" гривен="" денег,="" десятки="" до="" документ.="" документ="" дочитать="" других="" если="" заведения,="" зацепил,="" и="" известно,="" их="" как="" когда="" конца.="" кризис="" материальное="" многие="" мог="" на="" написать="" народного="" настолько="" не="" никогда="" одной="" особенно="" особо="" особым="" оставив="" отличались.="" отрасли="" плачевным,="" помочь="" последние="" правительства="" практически="" проблем,="" производства.="" произвол="" прошу="" пту,="" решить="" ряд="" с="" сил="" со="" состояние="" стало="" стороны="" судьбы="" сэкономить="" такие="" тысяч="" узнать,="" украину="" учебные="" финансированием="" хозяйства="" хотите="" что="" школ="" школы="" экономический="" этот="" я=""><div align="justify" style="text-indent: 15pt;">Речь пойдет о введении в оборот свободного программного обеспечения (далее "свободного ПО"), которое имеет ряд преимуществ перед дорогостоящим коммерческим ПО. Почти во всех школах, где я бывал, стоят старые аппараты, которые уже и рады бы списать, но замены найти им не могут - не хватает финансирования. При стоимости этих компьютеров в 800-1500 грн. в лучшем случае, наши образовательные стандарты еще требуют установки дорогого "софта", приобретение которого может позволить себе лишь малая часть школ. Теперь подсчитаем стоимость лицензионного коммерческого ПО, которое должно быть установлено на стандартном рабочем компьютере школьника. Привожу их цену по последним данным<sup><a href="http://www.blogger.com/post-edit.do#comment_1">1</a></sup>: </div><ol><li>Microsoft Windows® 7 Home Basic Ru - 960 грн.;</li>
<li>Microsoft Office® 2007 - 740 грн.;</li>
<li>Kaspersky Antivirus® v10 - 350 грн.</li>
</ol>Итого - 2050 грн. Хотя цена должна быть еще больше, т.к. обычно ставят и дополнительное платное ПО, для удобства подсчета будем считать по минимальной округленной цене ~2000 грн. В итоге один компьютер по стоимости получается 1500 + 2000 = 3500 грн. Для школ это обычно непосильная ноша, и ее руководству не остается ничего другого, как ставить ворованное ПО и жить в страхе проверки. А это, как известно, является преступлением и влечет за собой наказание в виде штрафа или лишение свободы. <br />
<div align="justify" style="text-indent: 15pt;">Однако у меня есть план, как всего этого можно избежать - использовать свободное ПО. Конечно же, я не претендую на оригинальность идеи, просто выложу на "бумаге" ход своих мыслей. Сначала дадим определение СПО, которое будем использовать в данном документе. Свободное ПО - это программное обеспечение, распространяемое совершенно бесплатно (его даже запрещено продавать!), с открытыми исходными кодами и под специальной свободной лицензией<sup><a href="http://www.blogger.com/post-edit.do#comment_2">2</a></sup>. В последней РАЗРЕШЕНО копировать и распространять продукцию в неограниченном количестве, а также самому править это ПО. Под самим термином «Свободное ПО» тут я понимаю операционную систему Linux и тысячи других бесплатных программ для ее ? OpenOffice, The GIMP, Inkscape, Free Pascal и многие другие, которые идеально подходят неподготовленным школьникам. Linux — это свободная UNIX-подобная операционная система. Распространяется под лицензией GNU GPL. Разрабатывается с 1991 года, используя принципы UNIX/POSIX, которые вот уже 40 лет служат стандартами для компьютерщиков. За почти как 20-ти летний период Линукс прошел путь от статуса «ОС для гениев» до «ОС для простого человека», с каждым годом набирая мощь и простоту использования. И сейчас уже можно с уверенностью сказать, что Линукс уже готов для использования дома, учебных учреждениях, малых и средних предприятиях. Если кто то думает иначе, осмелюсь сказать, что за 4 года учебы в университете я использовал именно Линукс — печатал рефераты, делал курсовые проекты, чертежи и сложные вычисления. И этот документ тоже набирался под Линуксом. Многие школьники, однако, сейчас не владеют компьютерной грамотой, поэтому все-равно, под чем учится работать — под Линуксом или Windows®.</div><div align="justify" style="text-indent: 15pt;">Линукс сейчас используется все чаще как дома, так и на работе. Многие фирмы выступают в поддержку Линукса и OpenSource технологий: Novell, IBM, Red Hat, Google, Sun Microsystems, Oracle, Nokia и т.д. И это не просто какие-то мелкие корпорации-однодневки, которые завтра исчезнут и про них больше никто не вспомнит. Это гиганты IT-промышленности, десятки лет возглавляющие рынок. Они вкладывают крупные суммы в развитие этой ОС, и вряд ли их выбор был неверен и необдуман. Что бы доказать правоту своих слов, приведу факты. Посмотрим на таблицу, в которую занесены системы, установленные на 500 мощнейших компьютерах мира <sup><a href="http://keed.h1.ru/?page=foss_in_ua#comment_3">3</a></sup>:</div><table border="1" class="table"><tbody>
<tr> <td>ОС</td> <td><b>Linux</b></td> <td>HP-UX</td> <td>MacOS X</td> <td>Solaris</td> <td>UNICOS</td> <td>Super-UX</td> <td>AIX</td> <td>Tru64 UNIX</td> <td>Windows 2003</td> <td>Всего</td> </tr>
<tr> <td>Число компьютеров</td> <td><b>431</b></td> <td>15</td> <td>3</td> <td>4</td> <td>3</td> <td>4</td> <td>36</td> <td>2</td> <td>2</td> <td>500</td> </tr>
<tr> <td>Доля, в %</td> <td><b>86,2</b></td> <td>3</td> <td>0,6</td> <td>0,8</td> <td>0,6</td> <td>0,8</td> <td>7,2</td> <td>0,4</td> <td>0,4</td> <td>100</td> </tr>
</tbody> </table><div align="justify" style="text-indent: 15pt;">Доля Линукса тут — более 86%. И это не обычные домашние компьютеры, а самые-самые мощные, обслуживанием которых занимаются лучшие мировые профессионалы. И вряд ли они сделали неправильный выбор. Тут бесплатность Линукса для них не весомый аргумент, когда стоимоссть оборудования составляет сотни тысяч, а может и миллионы долларов.</div><div align="justify" style="text-indent: 15pt;">В итоге мы получаем лицензионно чистую и совершенно бесплатную продукцию. Если на школьные компьютеры ставить Свободное ПО, то с одного рабочего места мы экономим примерно 2000 грн, а с одного класса, состоящего из 10 машин - 20 000 грн. Это весьма значительная для школы сумма, которую лучше потратить, например, на ремонт, перекрытие протекающей крыши, подключение Internet, приобретении дополнительной техники или литературы, а не на спонсирование американских корпораций-мультимиллиардеров.</div><div align="justify" style="text-indent: 15pt;">Итак, давайте рассмотрим основные положительные стороны этого предложения.</div><img align="center" height="163" src="http://keed.h1.ru/img/preemushectva_FOSS.png" width="640" /><br />
<div align="justify" style="text-indent: 15pt;">Опишем каждый пункт по-подробнее: </div><ol><li><b>Значительная экономия.</b> Комментарии, думаю, не требуются. </li>
<li><b>Резкое снижение уровня пиратства</b> из-за возможности легального распространения свободного ПО. А это, в свою очередь, и в какой-то степени снижает уровень преступности в сфере информационных технологий.</li>
<li><b>Помощь всемирному антимонопольному комитету.</b> Он уже очень много лет борется с корпорацией Microsoft, которая крепкой хваткой держит под контролем свободное и не только ПО, агрессивно пропагандируя свои системы и программы. Комитету это будет большой поддержкой.</li>
<li><b>Возвращение в службу старых слабых компьютеров.</b> Так как Linux может запустится и успешно работать даже на очень старых компьютерах уровня 1995-го года (например, CPU i486 + 32MB RAM), их можно возвратить обратно на службу вместо того, что бы выбросить. Это тоже экономия средств.</li>
<li><b>Возможность сконцентрировать производство ПО в Украине</b> и не зависеть от США. Так как Линукс не имеет "гражданства" и его можно изменять любому человеку, ничего не мешает заняться разработкой собственного, украинского Линукса, сделанного специально для наших пользователей и образовательных нужд.</li>
<li><b>Регулярный и быстрый выход обновлений.</b> Обычно новая версия Линукса выходит каждые пол года, поэтому всегда можно бесплатно обновится. В отличии от Windows, где что бы поставить свежую систему, нужно выложить трехзначную сумму гривен. А денег нет, вот многие люди и до сих пор живут на Windows XP 2001-го года выпуска.</li>
<li><b>Линукс прост и удобен.</b> Его использование на уровне пользователя не требует каких- нибудь специальных знаний. Линукс прост в использовании и настройке.</li>
</ol><div align="justify" style="text-indent: 15pt;">У такого подхода, конечно же, есть и свои минусы. Во-первых, нужно перерабатывать учебную программу по информатике, распечатывать учебники. Во-вторых, учителя должны пройти специальные курсы или прочесть специальную литературу. Это не должно вызвать особого затруднения, многие учителя уже сталкивались в работе с Линуксом. Я знаю нескольких школьников лет 14-16-ти, которые Линукс знают лучше некоторых знакомых программистов. Ну а если дети освоили...</div><div align="justify" style="text-indent: 15pt;">На линуксе в Украине, и в частности в моем городе Кривой Рог, уже работают: </div><ol><li><i>Приват-Банк.</i> Могли ли руководители крупнейшего украинского банка возложить такую ответственность на слабую и не надежную систему? Нет, конечно же!</li>
<li><i>Криворожская 11-ая электронная библиотека (9 компьютеров).</i> Тут Линукс я ставил с целью эксперимента - хотел посмотреть, как обычные люди будут вести себя с абсолютно незнакомой для них системой. Опыт удался, посетители довольны.</li>
<li><i>Криворожские библиотеки</i> тоже работают на Линуксе, и тоже с моей помощью.</li>
</ol><div align="justify" style="text-indent: 15pt;">О том, какое ПО может входить в состав Свободного обучающего комплекта (СОК), в рамки этого документа не входит и будет рассмотрено отдельно.</div><div align="justify" style="text-indent: 15pt;">Прошу чиновников рассмотреть это предложение. Мне очень важно Ваше мнение. Главная помеха — это наши образовательные стандарты. Именно они затрудняют использование свободного ПО в Украине. Именно они заставляют людей идти на преступления. Прошу, по возможности, сделать образование наших школьников более «свободным». Или, хотя бы, смешанным — дать возможность директорам самим выбирать тот путь, по которому пойдет их школа. Можно для начала применить данный план в качестве эксперимента в нескольких школах. В зависимости от полученных результатов будем определять дальнейшие действия. Я всегда готов помогать, до конца вкладывать свои силы в поддержку этого проекта и бороться за права свободного ПО. Одному это сделать сложно, поэтому прошу у Вас помощи. Тем более, лет через 5, а может и раньше, Украина все-же перейдет на свободное ПО. Лучше это сделать сейчас, стать одними из первых в своем роде. Ведь правительство Германии уже использует OpenOffice (входящий в состав многих версий Линукса) для обмена документацией. Российская Федерация, Франция, Куба, Новая Зеландия, Мальта и Китай уже готовят масштабные планы по внедрению OpenSource технологий. Сделаем так, что бы Украина тоже в этом плане не отставала!</div><hr />Сноски:<br />
<a href="http://www.blogger.com/post-edit.g?blogID=1212951749455491439&postID=7223180153747529107" name="comment_1"></a>1. Магазин «Comfy» состоянием на 06 марта 2010г.<br />
<a href="http://www.blogger.com/post-edit.g?blogID=1212951749455491439&postID=7223180153747529107" name="comment_2"></a>2. Обычно это GNU GPL, BSD, Mozilla Public License, Apache Public License и тому подобные.<br />
<a href="http://www.blogger.com/post-edit.g?blogID=1212951749455491439&postID=7223180153747529107" name="comment_3"></a>3. <a href="http://www.top500.org/stats/list/29/os">http://www.top500.org/stats/list/29/os</a></div>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0tag:blogger.com,1999:blog-1212951749455491439.post-76001497810312226052010-12-20T13:27:00.000+02:002011-01-10T12:47:38.500+02:00Вычисляем число π через задницу<div align="justify">Вот вчера нашел довольно интересный код на языке C. Посмотрел на него, и вообще ничего не понял. Погуглил - как оказалось, никто не понял, как этот код работает:) Хотя вот общий механизм - в теле функции <i>F_OO() </i>содержится «рисованный» круг. А как мы знаем из геометрии, число <b>π </b>вычесляется по размеру круга. Вот и рассчитывается по этому кругу число <b>π </b>=/. И чем больше этот круг, тем точнее результат! Вот исходник - pi.c:</div><div style="-moz-box-shadow: 0pt 0pt 4px rgb(77, 119, 136); background: none repeat scroll 0% 0% rgb(238, 239, 255); border: 1px dashed rgb(249, 222, 156); padding-left: 20px; padding-right: 20px;"><pre style="color: black;"><i><span style="color: #c5b399;">/* (c) Brian Westley, 1988 */</span></i>
<span style="color: #78b753;">#define _ 0xF<00? --F<00||--F-OO--:-F<00||--F-OO--;</span>
<span style="color: #0057ae;">int</span> F=<span style="color: #e3aa00;">00</span>,OO=<span style="color: #e3aa00;">00</span>;
main(){F_OO();printf(<span style="color: #e85752;">"%1.3f</span><span style="color: #00c5cc;">\n</span><span style="color: #e85752;">"</span>,<span style="color: #e3aa00;">4.</span>*-F/OO/OO);}F_OO()
{
_-_-_-_
_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_
_-_-_-_
}
</pre></div>Теперь скомпилируем и запустим код:<br />
<div class="консоль"><code> [keed'0'@mandrivka ~]$ gcc -o pi pi.c<br />
pi.c: In function ‘main’:<br />
pi.c:4: warning: incompatible implicit declaration of built-in function 'printf'<br />
[keed'0'@mandrivka ~]$ ./pi<br />
3.141<br />
[keed'0'@mandrivka ~]$<br />
</code></div><div align="justify">Как видим, он собирается и запускается нормально! Оно работает!<br />
Мои познания языка C не велики, поэтому, если кто-то все-таки<br />
разберет - напишите в комменты!</div>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com3tag:blogger.com,1999:blog-1212951749455491439.post-24879197041245164222010-12-16T12:01:00.014+02:002011-06-11T12:38:47.969+03:00Динамическое изменение ускорителей в меню GTK+<div align="justify">Среда рабочего стола GNOME очень гибкая и удобная. Но это свойство удивило даже меня. Почти все окна имеют верхнюю менюшку - Файл, Правка и так далее. Об этом мы знаем. Они обычно имеют подменю, те в свою очередь свое подменю. И это тоже мы знаем. И чтобы постоянно не лазить туда мышкой, придумали ускорители - комбинация служебной и обычной клавиши для быстрого доступа. Однако не всегда эти ускорители удобно настроены, также как не всегда они есть. В Windows для редактирования этих свойств нужно лезть в реестр или ставить специальные программы. Для Линукс таких не встречал, хотя они тут и не нужны - все включено 'искаропки'! Для начала эту опцию необходимо включить. Запускаем gconf-editor, заходим в ветку <i>/desktop/gnome/interface</i> и ставим галочку напротив параметра can_change_accels. Для любителей консоли: </div><div class="консоль">$ gconftool-2 --set --type bool /desktop/gnome/interface/can_change_accels true</div><div align="justify">Далее просто навести мышку на нужную менюшку, нажать желаемую комбинацию клавиш и вуаля - все готово! Для тех, кто не понял, распишу по пунктам (на примере Gnome Terminal):</div><div align="justify"><b>1.</b> Заходим в меню 'Правка'</div><div align="justify"><b>2.</b> Наводим мышку на пункт 'Выделить все'. Не нажимаем!!!</div><div align="justify"><b>3.</b> Просто жмем Ctrl+A (можно и другое, кому как захочется).</div><div align="justify"><b>4.</b> Все! Где это можно проделать быстрее и удобнее? Да нигде))</div><div align="justify">Для удаления ускорителя действуем по тому же плану, только на третьем пункте жмем 'Del'. Так же можно поменять любые уже настроенные системные ускорители. Удобно? Вполне :)</div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://keed.h1.ru/img/ShortCuts.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://keed.h1.ru/img/ShortCuts.png" /></a></div>P.S. Это работает для большинства гномовских приложений, но не для всех. К примеру в OpenOffice.org это не работает.<br />
<a href="http://keed.h1.ru/?page=tip_01">Оригинал статьи, тоже мой</a><br />
<br />
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=116299181791879&xfbml=1"></script><fb:like href="http://keedhost.blogspot.com/2010/12/gtk.html" send="true" width="450" show_faces="true" font="arial"></fb:like><br />
<br />
<div id="vk_like" style="width: 180px; height: 22px; position: relative; clear: both; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; "></div><script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "full"});
</script>Apple Tipshttp://www.blogger.com/profile/09098425062560114960noreply@blogger.com0Тернівський район, Кривий Ріг, Дніпропетровська область, Україна48.046156737281024 33.48512612036131547.974996737281025 33.370019620361312 48.117316737281023 33.600232620361318