Медіацентр як графічне середовище робочого столу, vk0idev
Медіацентр як графічне середовище робочого столу
Як мовиться на смак і колір… Тому хочу відзначити ще два чудові медіацентри – це Boxee та XBMC.
Описані далі дії робилися в Ubuntu Natty 11.04, але без будь-яких проблем цей спосіб можна застосувати в будь-якому іншому дистрибутиві Linux.
Сеанси Display Manager'а
Здогадалися на що натякаю. ) Ідея до неподобства проста - створимо свою сесію для дисплейного менеджера і додамо її до стандартного списку сеансів. Таким чином вб'ємо відразу трьох зайців з іменами Універсальність, Зручність та Безпека:
Створення нової X-сесії
Переходимо від слів до справи — встановимо в систему медіацентр, що вам сподобалася, і, відповідно, необхідні йому залежності. Я зроблю це на прикладі Moovida (посібник із встановлення XBMC для різних дистрибутивів Linux описаний у цій статті):
sudo apt-get install moovida
Тепер підготуємо невеликий скрипт, який виконуватиме роль нашої нової сесії. Назва файлу може бути довільною. Розташування файлу та власник так само не мають значення, але людям із синдромом маніакальної безпеки раджу створювати файл від root'у — головне дати всім користувачам права на читання та виконання скрипту:
sudo touch /usr/bin/media-center-session sudo chmod 0755 /usr/bin/media-center-session
Тепер відкриваємо створений файл і наповнюємо його таким вмістом:
#!/bin/bash gnome-wm & moovida --fullscreen --nosplash logout
Що ж станеться під час старту нашої сесії?! Насамперед для правильного функціонування медіаплеєра необхідно запустити будь-який віконний менеджер наявний у системі (Metacity, KWin, Sawfish та ін.). В даному випадку я використовую gnome-wm – це утилітапоставляється з середовищем GNOME, здатна автоматично визначити і запустити віконний менеджер, що є в системі. Зверніть увагу на амперсанд (&) – він переводить виконання команди у фоновий режим. Без амперсанда командна оболонка зупинила б виконання сценарію, чекаючи, поки gnome-wm не закінчить свою роботу. Наступний рядок сценарію безпосередньо запускає медіаплеєр Moovida. Команді передається два ключі: fullscreen (автоматично розгорнути програму в повноекранний режим) і nosplash (не показувати заставку під час завантаження програми). Амперсанд відсутня — значить інтерпретатор чекатиме на завершення роботи медіаплеєра перш, ніж перейти до виконання останньої команди. Ну і як тільки користувач вийде з Moovida, спрацює останній рядок сценарію, який зупинить роботу нашої сесії. У результаті користувач автоматично «розлогиниться», а управління знову буде передано дисплейний менеджер (GDM, KDM або LightDM).
Вміст сценарію для медіацентру XBMC виглядатиме ще лаконічніше:
#!/bin/bash xbmc --standalone logout
У цьому випадку ключ standalone вкаже XBMC про те, що медіацентр не потребує віконного менеджера і програму слід запустити відразу в повноекранному режимі.
Додавання X-сесії до списку сеансів
Залишилася справа за малим — а саме розмістити створену сесію у списку з рештою стандартних сеансів. Цей список формується з конфігураційних файлів розміщених у/usr/share/xsessions/. Файли мають розширення .desktop і повинні описуватись за допомогою специфікації Desktop Entry. Детальну інформацію про Desktop Entry можна дізнатися, пройшовши за посиланням, а я лише скажу, що цей формат дуже схожий на ini-файли. Створимо файл із описом нашої сесії. Назва файлузнову ж таки можна вибрати яке душі заманеться, ну а я буду педантичний:
sudo touch /usr/share/xsessions/media-center.desktop
Далі наводжу приклад вмісту файлу:
[Desktop Entry] Name=Multimedia Center Comment=Moovida Media Center Exec=media-center-session TryExec=/usr/bin/media-center-session Type=Application
Докладніше розглянемо використані тут ключі специфікації Desktop Entry та деякі додаткові ключі, які мають право на існування:
- Name – ім'я, що відображається;
- Comment - опис елемента або іншими словами підказка;
- Exec – програма (команда), яку потрібно виконати;
- TryExec - повний шлях до виконуваної програми;
- Type – тип описуваного елемента;
- Icon – ікона;
- Encoding – використовувана локаль;
- Path – робоча директорія програми, що виконується.
Вуаль! Перезавантажуємо систему (або завершуємо поточний сеанс) та насолоджуємось плодами наших старань. Як видно на малюнку, у списку доступних сеансів з'явилася створена нами сесія.
