LXDE

LXDE.org|Lightweight X11 Desktop Environment: «Одно из главных достоинств LXDE — небольшие требования к железу. Философия LXDE — это лёгкость, полезность и практичность.»

Contents

Установка

LXDE модульный и вы можете выбирать только те пакеты, которые вам нужны.

Минимально необходимые пакеты для запуска LXDE: lxde-common, lxsession, desktop-file-utils и оконный менеджер.

Вы можете установить группу пакетов LXDE:

Установятся следующие пакеты:

  • gpicview: Простой и легкий просмоторщик изображений
  • libfm: Библиотека для работы с файлами (lxshortcut: Простое средство редактирования ярлычков)
  • lxappearance: Редактор тем для изменения GTK+ тем, иконок и шрифтов для приложений GTK
  • lxappearance-obconf: Плагин для настройки Openbox через LXAppearance
  • lxde-common: Установки по умолчанию конфигурационных файлов для большинства интегрированных компонентов LXDE
  • lxde-icon-theme: Тема значков LXDE
  • lxdm: Легковесный менеджер дисплея приветствия
  • lxinput: Конфигурационная утилита для клавиатуры и мышки в LXDE
  • lxlauncher: Панель запуска приложений для нетбуков
  • lxmenu-data: Коллекция файлов адаптирующая меню LXDE под стандарты спецификации freedesktop.org
  • lxmusic: Минималистичный проигрыватель музыки базирующийся на xmms2
  • lxpanel: Панель задач с менеджером приложений, меню программ и апплетов
  • lxrandr: Менеджер экрана для LXDE
  • lxsession: Совместимый X11 менеджер сессий с поддержкой выключения, перезагрузки и ждущего режима
  • lxtask: Диспетчер задач и системный монитор LXDE
  • lxterminal: Стандартный эмулятор терминала для LXDE
  • menu-cache: Механизм кеширования для freedesktop.org-совместимых меню
  • openbox: Легкий и удобно конфигурируемый менеджер окон (рекомендуемый менеджер, разработанный вне проекта LXDE).
  • pcmanfm: Файловый менеджер, функционал рабочего стола и обоев

Вам также следует установить Gamin. Gamin — это инструмент для отслеживания изменений в файлах и директориях, который является реализацией подсистемы FAM. Запуск производится по требованию программ, которые им поддерживаются, поэтому не требуется отдельно демона, подобного FAM. Если у Вас установлен FAM — удалите запуск этого демона из /etc/rc.conf и остановите его перед установкой Gamin

Другие легковесные приложения, которые рекомендуется использовать на слабых системах:

  • leafpad: Простой и легкий текстовый редактор
  • mousepad: Простой текстовый редактор (является текстовым редактором по умолчанию среды Xfce)
  • xarchiver: Легкий архиватор
  • obconf: Инструмент для настройки тем и стилей Openbox

Запуск окружения LXDE

Есть несколько способов запустить LXDE.

Display Managers

Если Вы используете менеджеры SLiM, GDM, или KDM, в настройках сессии нужно выбрать LXDE.

Инструкция по использованию LXDM ниже на этой странице.

Если не используете менеджер дисплея приветствия добавьте

в ваш ~/.bash_profile Для првавильного функционирования Xdg-open

Консоль

Для использования команды startx необходимо добавить в файл ~/.xinitrc команду запуска LXDE:

Если Вы хотите выполнять startx автоматически при загрузке, прочитайте статью Запуск X при загрузке.

Для других задач Вы должны быть уверены, что демон dbus запущен.

Советы и рекомендации

Автомонтирвание

PCManFM (Русский)#Работа с томами

Автозапуск программ

.desktop файлы

Вы можете скопировать ярлык программы .desktop из /usr/share/applications/ в ~/.config/autostart/. Например, добавим lxterminal в автозапуск:

После добавления .desktop файлов Вы можете упралять ими с помощью lxsession-editAUR.

autostart файл

Второй способ. Использование файла ~/.config/lxsession/LXDE/autostart. Этот файл не скрипт, но каждая строка представляет собой команду, которая будет выполнена, если строка начинается с символа @, команда после @ будет автоматически повторно выполняться, если она падает. Например, чтобы выполнить lxterminal и leafpad автоматически при запуске:

Обратите внимание: Ппсле команды ненужно ставить символ &

Существует также глобальный файл автозапуска /etc/xdg/lxsession/LXDE/autostart. Если эти файлы присутствуют одновременно, то оба будут выполнены.

Горячие клавиши

Управление горячими клавишами осуществляется через Openbox и подробно описаны здесь. Пользователи LXDE должны следовать этим инструкциям, чтобы отредактировать файл ~/.config/openbox/lxde-rc.xml

Дополнительный графический интерфейс для редактирования горячих клавиш — obkeyAUR доступен в AUR. Поумолчанию obkey редактирует файл rc.xml, Но вы можете использовать его в LXDE таким образом:

Больше информации о obkey здесь.

Курсоры

Полная статья: X11 Cursors.

Последний lxappearance2-gitAUR в AUR предоставляет функциональные возможности для изменения тем курсора. Если Вы не хотите устанавливать экспериментальный lxappearance2, можете указать свой курсор в файле ~/.Xdefaults. См. Configuring Cursor Themes.

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

Then you can specify to add to the icon theme the cursor. This will use the xcursor-bluecurve pointer theme:

Шрифты настройка

Для установки шрифтов, вы можете использовать lxappearance и установить основной шрифт. Для настройки других шрифтов можно использовать Openbox configuration tool ObConf:

Раскладка клавиатуры

udev

Когда вы используете udev, конфигурация ввода по умолчанию записываются в /etc/X11/xorg.conf.d/10-evdev.conf в Section "InputClass". Вы можете редактировать этот или создать новый файл /etc/X11/xorg.conf.d/20-keyboard.conf по следующему примеру (переключение раскладки клавишами Alt+Shift, индикация CAPS-диодом на клавиатуре):

Вы можете найти список всех значений в /usr/share/X11/xkb/rules/base.lst.

Другие способы

1 способ: Добавьте в /etc/xdg/lxsession/LXDE/autostart следующие строки перед @lxpanel —profile LXDE:

или в ~/.config/lxsession/LXDE/autostart (для конкретного пользователя):

2 способ: Create /etc/xdg/autostart/setxkmap.desktop as following:

3 способ: Добавьте в ~/.Xkbmap, для текущего пользователя, или в /etc/X11/Xkbmap, для всей системы, строку:

4 способ: Добавьте следующую строку в /etc/X11/xinit/xinitrc или ~/.xinitrc:

5 способ: Установите fbxkbAUR из AUR

6 способ: Xorg (Русский)#Переключение раскладок средствами X.org

Посредством LXDE

  1. Правый клик на панели задач
  2. “Добавить/убрать элементы панели”
  3. “Добавить”
  4. “Индикатор раскладок клавиатуры”

LXDM

LXDE теперь обеспечивает экспериментальную менеджер дисплея приветствия LXDM. Это реализовано с GTK+ и supports theming.

Установка LXDM

Для автоматического запуска LXDM Вы можете редактировать /etc/inittab или /etc/rc.conf. Для получения дополнительной информации см. Экранный менеджер.

Настройка

Все конфигурационные файлы для LXDM расположены в /etc/lxdm. Основной файл конфигурации lxdm.conf хорошо документирован в его коментарии. Файл, Xsession, является общесистемным и не должен редактироваться. Другие файлы — это bash скрипты, которые выполняются при наступлении определенных событий в LXDM. К ним относятся:

  1. LoginReady: Выполняется с правами root когда LXDM готова показать окно входа в систему.
  2. PreLogin: Выполняется с правами root перед входом пользователя.
  3. PostLogin: Выполняется с правами авторизованного пользователя сразу после входа.
  4. PostLogout: Выполняется с правами авторизованного пользователя после выхода.
  5. PreReboot: Выполняется с правами root перед перезагрузкой компьютера с LXDM.
  6. PreShutdown: Выполняется с правами root перед выключением компьютера с LXDM.
Ожидаемое поведение после Logout

Может быть немного удивительно, что LXDM по умолчанию не очищает фон рабочего стола и не убивает процессы пользователя после его выхода. Для решения проблемы необходимо добавить в файл /etc/lxdm/PostLogout:

Автоматический вход

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

Раскомментируйте его и подставьте нужное имя пользователя, вместо «username».

PCManFM

Если вы хотите иметь доступ к Корзине, монтированию томов и folder/file tracking Вам необходима поддержка gvfs:

polkit-gnome обеспечивает аутентификацию и должен быть запущен при входе в систему:

В Arch’е этот файл в настоящее время не работает на некоторых системах. Если у вас проблема запуском, удалите строку

из файла ~/.config/autostart/polkit-gnome-authentication-agent-1.desktop:

PCManFM @ LXDE wiki

Замена оконного менеджера

Openbox, стандартный менеджер окон LXDE, может быть заменен другими. Например fvwm, icewm, dwm, metacity, compiz …etc.

LXDE будет пытаться использовать оконный менеджер из пользовательского фаула конфигурации lxsession ~/.config/lxsession/LXDE/desktop.conf.Если его не существует, будет пытаться использовать глобальный файл конфигурации /etc/xdg/lxsession/LXDE/desktop.conf.

Замените команду openbox-lxde на ваш менеджер окон:

Для metacity:

Для compiz:

Выключение, Перезагрузка (LXSession-logout)

Для работы Выключения, Перезагрузки, Режима сна и Режима ожидания Должен быть запущен dbus. Должен быть установлен пакет upower.

См. xinitrc#Preserving the session подробнее о logind/ConsoleKit.

Редактирование меню приложений

Tango-preferences-desktop-locale.png

Tango-preferences-desktop-locale.png

Эта статья или раздел нуждается в переводе

Примечания: пожалуйста, используйте первый аргумент шаблона для указания дополнительной информации. (обсуждение: Talk:LXDE (Русский)#)

(нужно проверить перевод). Ссылка на оригинал
Меню приложений работает через передачу .desktop файлов, которые расположены в /usr/share/applications. Многие DE запускают программы, которые supersede эти настройки для кастомизации меню. Для LXDE еще только создают редактор меню приложений, но вы можете настроить его вручную, если нужно. Сторонние редакторы меню вы можете найти в AURlxmedAUR.

Чтобы добавить или редактировать элемент меню, создайте или сделайте ссылку на .desktop файл в /usr/share/applications. Смотрите the desktop entry specification на freedesktop.org для получения информации о структуре .desktop файлов.

Для удаления элементов из меню вместо удаления .desktop файлов, вы можете редактировать файл элемента, добавляя следующую строку:

Для ускорения процесса редактирования большого числа файлов вы можете поместить их в цикл. Например:

Это будет работать для всех приложений, исключая KDE. Для них единственный путь удалить их из списка меню — зайти в KDE и использовать собственный редактор меню. Для каждого элемента, который вы не желаете лицезреть, проверьте опцию ‘Show only in KDE’ (отображать только в KDE). Если добавление NoDisplay=True не работает, вы можете добавить ShowOnlyIn=XFCE.

Как сменить имя хоста (компьютера) в Linux Ubuntu

change-hostname-ubuntu

Итак, давайте рассмотрим очередной глупый вопрос для матёрого линуксоида, но довольно сложную проблему для новичка, а именно — как сменить имя компьютера (hostname) в Ubuntu Linux. Сделать это очень просто, нужно просто отредактировать два текстовых файла и перезагрузить сеть. Всё.

Начнём. Для начала нужно отредактировать файл /etc/hosts:

Выглядеть он должен примерно так:

Где вместо «hostname» — имя вашего компьютера. Вот именно его то и нужно сменить. Изменяем, сохраняем.

Теперь нужно поправить файл /etc/hostname:

В этом файле содержится только название вашего компьютера и ничего более. Смело изменяем его и сохраняем файл.

Вот и всё. Теперь осталось только перезагрузить сеть и изменения вступят в силу:

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


Источник: http://ubuntovod.ru/instructions/change-hostname-ubuntu.html

gmaps.js — самый легкий способ использования Google Maps API

Расскажу об одной небольшой (~30kb) JS библиотеке для удобной работы с Google Maps API под названием gmaps.js.
Раз уж библиотека создана для ускорения процесса веб-разработки, то и я вас задерживать не буду. Как можно понять из названия, она делает не что иное, как упрощает взаимодействие с API Google Maps. Многие из вас работали с API и, вероятно, каждый раз вам приходилось попотеть, чтобы порыться в документации и реализовать, например, свое собственное описание метки на карте. Или подписаться на событие взаимодействия с картой…

Итак, она пока еще не заимела ни одной мажорной версии, а в текущий момент имеет версию 0.1.12.3. Распространяется под лицензией MIT License и разрабатывается целым сообществом (и вы тоже можете в этом помочь).

Примеры возможностей

Создание карты

А еще можно добавить опции zoom, width, height. Хотя по стандарту ширина и высотка карты будут подогнаны под контейнер.

События

Поддерживаются все события Maps API.

Геолокация

Ну разве не прелесть?

Добавление маркера

И всё, всё, всё!

Библиотека поддерживает почти полный функционал Maps API, включая вывод статических карт(картинкой), наложение слоев, прокладывание маршрутов, рисование полигонов, рисование своих контролов, GeoRSS и всякое такое остальное…

Прошу ознакомиться с сайтом библиотеки: http://hpneo.github.com/gmaps/ и начинать творить.
И сразу же форкнуть репозиторий на Github: https://github.com/HPNeo/gmaps

UPD:KidsKilla подсказывает, что, в принципе, по Maps API ToS никто не имеет право создавать свои врапперы(оболочки) поверх действующего API, пока не получит официальное разрешение Гугла. (https://developers.google.com/maps/terms, пункт 10.2). На что разработчик (Gustavo Leon) ответил, что сделает две вещи: 1)запросит разрешения у гугла 2)уже открыт тикет по подключению не только Google Maps API, но и OpenStreetMap. Это же счастье!

Другие статьи: https://corp2.info/razrabotka-i-sozdanie-sajtov-internet-magazinov-veb-proektov-kiev-1038.html

Google Maps API

f4fd091dКартографический сервис – зачем это? Ну например, я 10 лет жил в нашей маленькой провинции, а потом взял и понаехал в Москву, и всё для меня так ново. А где магазины, боулинг, кафешки, парки отдыха – надо знать же, где тратить московскую зарплату. Но вот беда, как узнать? Раньше был справочник «Желтые страницы» и там была карта и всё по адресам. Чтобы найти что-то уходило масса времени. Сейчас стало всё в разы проще. Вот прекрасный пример: http://www.pushkino.org/. Но это далеко не всё.
Я могу отслеживать погоду, пожары, пробки (кстати!) в реальном времени.
Мой заказчик может не вводить свой адрес, а попросту отметить его на карте и я буду знать куда доставить ему товар – какое классное решение, не надо всего этого – «Проспект маршала Блюхера, 43, г. Санкт-Петербург, Россия».

Задача для примера

Всё лучше узнавать практически, так что сделаем задачу для примера, чтобы обрести навыки. Вот примерный план работ:

  1. Вывести карту (надо же!)
  2. Задать город
  3. Переместить карту к городу
  4. Маркером указать адрес
  5. Добавить информации
  6. Вывести карту (надо же!)
  7. Сохранить маркер с иноформацией (при клике на него вывести ее)
  8. Избежать нагромождения (т.е. сделать кластеризацию) маркеров.

 

Как делать?

 

Ключ API

Ключ API нужен для использования работы с картой, т.е. при запросе всех их скриптов и сервисов в параметры нужно добавлять &key=[тут наш ключ]. Впрочем для http://localhost он не нужен. Получить его надо тут: http://code.google.com/apis/maps/signup.html. Кстати, работает и без него на сайте, но может это временно.
Для v.3 не нужен

Map\Marker\InfoWindow

ca139c33Для работы нам понадобится 3 основных объекта. Первое – это карта.
Карта создается очень просто. У нас есть какой-то определенный контейнер:

Подключаем скрипт:

Инициализируем карту:

center: myLatlng – это координаты центра карты
zoom – это увеличение при инициализации
mapTypeId – тип (политическая, физическая, гибрид)
Карта готова!

Второе — это метки:

position – собственно координаты метки
map – на какую карту метку поместить
title – при наведении мыши будет писать “Hello World!”.

InfoWindow

content – содержимое в метке

— при клике на метку, показать окно с информацией, на карте map с привязкой к marker.

Geocoding

Geocoding – это просто отличная библиотека, которая позволяет делать всего 2 вещи:

  • По наименованию чего-то, найти это на карте и сообщить координаты
  • По координатам, сообщить всё что находится на этих координатах.

Запрос выглядит так. Например, мы хотим узнать где находится Иваново. Пишем запрос:
http://maps.googleapis.com/maps/api/geocode/json?address=Иваново&sensor=false&language=ru

И в ответе приходит:

Вся прелесть в том, что можно в address параметре передавать значение на любом языке(Ivanovo, Іваново, <тут была арабская вязь>), еще лучше, что для Санкт-Петербурга прокатывает «Спб» и «Питер». Правда есть и недочеты: мой родной город Ивано-Франковск упорно называет Ивано-Франковськ, на украинский манер.
Вторая возможность, это по координатам узнать адрес:

http://maps.googleapis.com/maps/api/geocode/json?latlng=55.75320193022759,37.61922086773683&sensor=false&language=ru
получаем:

Супер! Для того чтобы указать свой адрес, можно просто кликнуть на свой дом, добавить квартиру – и всё. Иногда это не срабатывает, например, если дома стоят вплотную друг к другу и считываются как 1 объект, а не 2-3, адрес у них будет один. Особенно плохо, когда они находятся на пересечении улиц, и один дом относится к одной улице, а второй – к перпендикулярной, но думаю по необходимости – можно указать улицу, а дом и квартиру уже вбить. Очень удобное для смартфонов решение.
Кстати, не используйте jquery $.getJSON для получения данных, используйте класс Geocoder (http://code.google.com/apis/maps/documentation/javascript/reference.html#Geocoder), он работает лучше (т.е. это означает что getJSON у меня не работает).

А теперь о не очень хорошем. Geocoder – насколько клевая функция, что пользоваться ею можно только 2500 запросов в день. Google предлагает Google API Key Premier от 10000$ в год, и тогда ограничение будет в 100 тыс. запросов в день, причем куча всяких «клевых» дополнений, но я их не могу себе позволить.

Markercluster

Когда слишком много маркеров — это выглядит конечно ужасно. Поэтому хорошо бы делать кластеризацию всех этих маркеров. Тут на Хабре я видел уже обсуждение по этому поводу: http://habrahabr.ru/blogs/google/28621/
В общем, есть отличный инструмент (а тут их целый набор http://code.google.com/apis/maps/articles/toomanymarkers.html) который помогает сделать так, чтобы толпы маркеров не пугали нас.
До:

7e88dc86865f1474Это именно то что нам надо.
Эту библиотеку можно скачать тут: http://google-maps-utility-library-v3.googlecode.com/svn/trunk/
Как использовать.
Добавляем библиотеку

Составляем массив маркеров, не добавляя в карту:

maxZoom – максимальный зум при котором мы еще группируем маркеры, дальше – уже нет.
gridSize – размер ячеек сетки, чем меньше значение, тем меньше сетка группировки
styles – дополнительные стили

Код из примера

Я не буду тут расписывать что как собрать, собственно все инструменты готовы, дам ссылки на исходники, и прокомментирую некоторые вещи.
Cерверного кода (asp.net mvc) там очень мало, всего 4 запроса:

  • собственно страница
  • получить все маркеры (в json)
  • загрузить файл (через ajaxUploader) и получить ссылку для картинки
  • сохранить в базу данных маркер (на выходе json result = ok)

Основной код jquery ( тут полностью: cocosanka.ru/media/script/map/map.js ) Там есть комментарии, и всё такое.
Некоторые функции требующие пояснения:

Вычисление значения Zoom по границам
(взято отсюда: http://groups.google.com/group/google-maps-js-api-v3/browse_thread/thread/43958790eafe037f/66e889029c555bee?fwc=2)

Функция для «прыжка» маркера:

Получение адреса:

 

Итого

Google Maps API – очень классная и удобная штука, которая легка в использовании и понимании. Единственно, что плохо – так это слабое покрытие регионов в России, так что сервисам, которые предполагается использовать в глубинке google.maps пока мало интересен, а вот для больших городов (особенно Москва и Питер), а также для Украины – всё отлично.
Geocoding – очень полезная вещь и при правильном использовании может стоить тех денег, что за нее просят (ну или Microsoft или Яндекс подоспеет с аналогом уже есть. Хотя насколько я знаю, картографическая информация стоит бешеных вложений.)

Пример\исходники

На живой пример можно глянуть тут: http://cocosanka.ru/map (может перестать работать если будет достигнут лимит в Geocoding). Вводите город, потом перетаскиваете маркер, потом загружаете картинку и сохранить. При клике на маркеры выводятся картинки.

Исходники: https://bitbucket.org/chernikov/citylocator


Источник: http://habrahabr.ru/post/110460/

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Примеры работы с разными map API

bd72073cЕсть много статей на тему знакомства с Google Map Api и Yandex Map Api, но про остальные картографические сервисы не так много практического материала. В недавнем времени работал с Api:

  1. Google map
  2. Yandex map
  3. Yahoo map
  4. Bing map
  5. OpenStreet map

И хотел обобщить работу с вышеупомянутыми сервисами, а именно инициализация карты и установление маркеров по клику мышки. Материалы в статье представлены в виде Html кода, javascript и результата — скриншота, а так же исходники на vs 2010 MVC3.

С Google map ситуация проще всего: практического материала много, мой пример выглядит следующим образом:
Html page:

Script:

В результате получим карту Google c возможностью добавлять маркеры:

53ce9ecbДля инициализации Yandex map вам понадобится ключ доступа к сервису и следующий пример:
Html page:

Script:

В результате получим карту Yandex c возможностью добавлять маркеры:

Яндекс картаОбратите внимание на координаты, в Google идет сначала долгота, потом широта, а в Yandex наоборот!

Пример работы с Yahoo map api:
Html page:

Script:

В результате получим карту Yahoo c возможностью добавлять маркеры:

Yahoo картаДля работы с Bing map api нужно взять ключ:
www.microsoft.com/maps/developers/web.aspx
Пример работы с Bing map api:
Html page:

Script:

В результате получим карту Bing c возможностью добавлять маркеры:

Карты BindПример работы с OpenStreet map api:

Html page:

Script:

В результате получим карту OpenStreet c возможностью добавлять маркеры:

OpenStreet картаВот такие интересные примеры работы с картами, думаю кому то будут полезны.

Исходники на VS2010 MVC3.


Источник: http://habrahabr.ru/post/131249/

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Создание кросс-платформенной и кросс-браузерной карты Google, выводящей много точек через «1С:Підприємство»

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

Возникла задача вывести карту из «1С:Підприємство» в Google. При этом, карта должна работать в «1С:Підприємство» как в Windows так и в Linux. Желательно, в разных браузерах.

Для того, чтоб карта работала не только в Linux, но и в Windows решение должно корректно работать не только в браузере Internet Explorer, но и в Firefox.

«1С:Підприємство» выводит карты так, как выводит браузер по умолчанию для данной операционной системы. Таким образом, главное достичь корректности скрипта для вывода карты, а потом этот скрипт вставить в «1С:Підприємство» и из неё генерировать.

Вот результат работы скрипта:

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