В свободный день написал небольшой скрипт для автоматического выключения (перезагрузки) компьютеров под управлением Windows 2000/XP/Vista/Seven из-под GNU/Linux. Важная особенность: для корректной работы системы необходимо установить nmap и samba (утилита net входит в его комплект). Ерунда, а вдруг кому пригодится? (Скачать архив)
Задача: настроить удалённое управление музыкой с любого компьютерного устройства, включая Android-коммуникатор HTC Sensation.
Средства: Motherboard ASUS P5Q + Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz + 2GB RAM, Ubuntu Server 11.04 x86.
Решение:
Для этих целей рекомендуется использовать MPD (music player daemon), как нетрудно догадаться из названия, приложение для управления аудиоконтентом, построенное на базе клиент-серверной архитектуры, работающее в режиме демона на GNU/Linux системах. Другими словами, это невидимый невооружённым глазом небольшое приложение, предназначенное для навигации по музыкальной коллекции на вашем компьютере, к которому подключаются непосредственные клиенты для совершения действий по воспроизведению, сохранению и модификации.
Приложение можно отыскать на просторах Интернета в исходных кодах и бинарных пакетах. Если рассматривать процесс инсталляции в аспекте сложности, то оба способа практически равнозначны для конечного пользователя. После установки MPD, обратитесь на официальный сайт для построения базового конфигурационного файла /etc/mpd.conf (обратите внимание на свой аудио-сервер — в моём случае используется PulseAudio). Для различных ОС существует масса программ для подключения к MPD. Например, ncmpc(pp), Sonata, MPDroid (Android) и другие. Во всех случаях необходимо подключение к хосту по заданному порту. Таким образом вы можете делать с плейлистом что захотите, даже в тот момент, когда вы и компьютер находитесь на расстоянии друг от друга, делая корректировки со своего телефона, во время дел по дому, ужина и др.
На кафедре «Измерительно-вычислительные комплексы» УлГТУ серверная машина с Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz перешла в режим работы 24/7. Отныне приходится заботиться о механизмах безопасного завершения работы системы в аварийных ситуациях, включая непредвиденное отключение электричества в учебном подразделении. В своё время для этих целей был приобретён UPS Ippon Back Power Pro 400 (USB), до этого удволетворяющий лишь малую часть потребностей по сглаживанию перепадов напряжения, не затрагивая потенциально полезный функционал, заложенный в устройство.
К сожалению, на просторах всемирной паутины в сети хорошо структурированной информации по конфигурированию источников бесперебойного питания через интерфейс USB — часть источников утверждали о невозможности подключения ИБП через USB (рекомендовали использовать кабель с RS-232), другая содержала только вопросы без ответов, за некоторыми отдельными авторами, продолжающими искать и исследовать. В заметке постараюсь максимально подробно изложить процесс инсталляции и конфигурирования приложения NUT под платформу GNU/Linux (ОС Ubuntu Server 11.04 x86) для автоматического отключения компьютерного оборудования при достижении уровня заряда определённого численного порога.
Подошло время использовать старую собранную машину по назначению (apache2 + trac + git, о чём, надеюсь, смогу рассказать позднее), логическим продолжением идеи стали конкретные действия по установке привычной для управления Ubuntu Server x86 11.04 на HDD с интерфейсом IDE. Как оказалось, AMI BIOS v02.59 не поддерживает загрузку с USB, дома не нашлось ни CD/DVD-R дисков, установка по сети также не поддерживается BIOS. Единственным вариантом оставалось вынуть жёсткий диск и подключить его к рабочему компьютеру.
Повезло, настольный компьютер с материнской платой ASUS P5Q имеет один Extended IDE, к которому, в моём случае, был подключен CD/DVD-привод. После инсталляции дистрибутива и возвращению его на место (этот процесс был не менее увлекательным: телепатически «избавлялся» от чёрного экрана и отсутствия сигналов спикера), система не пережила переезда и стала сыпать сообщениями о Kernel panic — not syncing: IO-APIC + timer doesn't work!. Так вот, если и вы как я не отключите ACPI в BIOS при установке, то вы наверняка получите такое же сообщение при попытке загрузить ядро в многопользовательском режиме. Для устранения ошибки ограничился отключением ACPI в BIOS (потеряв возможность программно отключать компьютер), (правда есть и альтернативные способы: обновить BIOS до более свежей версии — рискованно, ведь в случае неожиданных перепадов напряжения есть риск обнулить BIOS — или указать noapic или acpi=off при загрузке ядра в grub.conf), доказав, что GNU/Linux переносим с одного железа на другое с некоторыми ограничениями.
Подумал-подумал и решил, что имеет смысл оставлять даже элементарные заметки. Может быть кому пригодится. В ходе курса компьютерной геометрии и графики потребуется использовать кроссплатформенную библиотеку OpenGL для отрисовки графических элементов. Чтобы установить необходимые компоненты достаточно установить их из репозитория Ubuntu: sudo apt-get install libxxf86vm-dev freeglut3-dev --yes (разумеется, в системе должен быть установлен драйвер для вашего видеоадаптера, не говоря уже о том, что он (видеоадаптер) должен аппаратно поддерживать возможности API OpenGL). После чего указать при создании проекта каталог с установленными библиотеками OpenGL /usr. Dinner is served, bitches! Готово.
Дополнительно о OpenGL:
1. Тормозит анимация? Уточните возможности вашего видеоадаптера, удостоверьтесь в корректности функционирования системного драйвера вашего видеоадаптера, проверьте, верно ли сконфигурирован /etc/X11/xorg.conf (обратите внимание на логи /var/log/Xorg.0.log)
2. В ходе компиляции линковщик может выдать сообщение ld: cannot find -lGL. Установите компонент libgl-dev.
Disclaimer: в сети миллионы мануалов по настройке proFTPd с анонимным доступом. Но, к сожалению, мне не удавалось найти нужный мне русско-язычный ресурс с подробным пояснением. Заметка — скорее памятка для самого себя, чтобы в очередной раз возвращаясь к вопросу о конфигурировании, не приходилось снова поднимать тонны информации.
Единственным адекватным приложением под платформу GNU/Linux для обмена данными по протоколу FTP является proFTPd. Многие его недолюбливают, выбирая его легковесные аналоги вроде vsFTPd, PureFTPd. С ними можно согласиться, но с небольшой оговоркой. Да, пожалуй, если вы обделены аппаратными ресурсами компьютера, вам достаточно скромных возможностей по авторизации, квотировании и разделении прав, то лучше отказаться от proFTPd в пользу других программ. Кроме того, не стоит пытаться брать в руки proFTPd, если вы часто испытываете трудности с конфигурированием и чтению англо-язычных ресурсов / документации. Другими словами, всё зависит от конкретной задачи и навыков исполнителя.
Не каждый пользователь открыт новым технологиям. Было замечено, что часть (около-)компьютерной аудитории более консервативна в выборе методов и средств. Такие люди стараются использовать привычные «орудия труда», даже имея под рукой более совершенный инструмент. Личный опыт показывает, что полный цикл внедрения и использования нового продукта в коллективе завершается спустя длительное время, что ещё раз позволяет убедиться в том, что удобный и популярный сервис обязан содержать привычные всем элементы, даже если они неэффективны. Скажем, распространение информации о наличии облачного сервиса хранения данных Dropbox с целью коллективного владения учебной базой знаний, не поспособствовало привлечению и 5% всех студентов. В связи с этим возникла мысль о создании файлообменного ресурса, сочетающего в себе традиционный интерфейс и новый подход.
Кстати, тем самым Canonical Ltd. сообщает, что для заинтересованных в помощи проекту разработчиков и тестеров доступен Linux Ubuntu 11.10 (Oneiric Ocelot) в версии Alpha 3, в котором необходимо искать баги до выхода бета-версии дистрибутива. Для обновления стабильной Ubuntu 11.04 на нестабильную новую Ubuntu 11.10 необходимо:
update-manager -dsudo apt-get install update-manager-core --yes && sudo do-release-upgrade -dБолее подробно о нововведениях можно прочесть в техническом обзоре. Честно попытался установить образ на виртуальную машину, операционная система даже не прогрузилось. Такая она, альфа.
Несерьёзное представление распределения дистрибутивов операционных систем Linux в виде географической карты мира. Большое изображение в разрешении 2752×1536 px (16:9) доступно в блоге Dedoimedo.
Любопытный маловоспроизводимый баг, связанный с вводом некорректных данных из терминала в редактор формул Calc в Linux Ubuntu, описал в ЖЖ-сообществе пользователь kiltum. Вставка вывода dmesg в LibreOffice 3.3.2 не уронила Linux Ubuntu 10.10 x64. Предлагаю каждому пользователю (не только Ubuntu) попробовать воспроизвести уязвимость у себя и сообщить о результатах в комментариях сообщества.
Как известно, SMB протокол позволяет получить доступ к файлам, принтерам и прочим сетевым ресурсам. В основном, свободную реализацию протокола SMB (Samba) используют для «расшаривания» папки на локальной помойке за редкими единичными случаями. Эта запись о таком «исключении из правила». На машине с очень слабым соединением Интернет и явными проблемами с сетевым оборудованием (да-да, это я о своей сети), но работающей 24/7 понадобился файлообменный сервер. Два каталога, в один помещаются небольшие файлы (запись + чтение), а из второго, уже отсортированные модератором, они скачиваются конечным пользователем. Всё сводилось к настройке одновременно анонимного и авторизованного доступа.

(Настройка портов на Samba в D-Link 500T)
Первое, что обычно приходит в голову это FTP-сервер, но отмечу сразу, что проблемы с маршрутизатором сыграли ключевую роль в выборе средств и сконфигурировать ProFTPd без «MLSD Error: Connection timed out» не удалось. Следом подумал о Dropbox, но в нём невозможно отключить синхронизацию данных, поэтому и он был вычеркнут из списка потенциальных решений. Продолжая поиск сетевых протоколов с высоким уровнем доступа, наткнулся на WebDAV и SMB. Внимательно изучив особенности первого (Apache2 + mod_dav) на практике, остановился на уже известном втором.