29 марта 2011 г.

Выключаем глобальное меню в Unity

Выключаем AppMenu (GlobalMenu) в Unity, декстопном окружении по умолчанию, для Ubuntu 11.04

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

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

APPMENU_DISPLAY_BOTH=1 gedit

тогда приложение запустится с родным меню в окне.

В случае, если вам вообще надоело глобальное меню, можно вообще его вырубить. Зайдите тогда в консоль из под рута и уберите параметр значения UBUNTU_MENUPROXY из файла /etc/X11/Xsession.d/81ubuntumenuproxy. Вот как можно это сделать:

sudo su
echo "export UBUNTU_MENUPROXY=" > /etc/X11/Xsession.d/81ubuntumenuproxy

После чего перезагрузите сессию. Если вы хотите вернуть appmenu - просто удалите файл /etc/X11/Xsession.d/81ubuntumenuproxy и он перезапишется с нужными настройками.

Источник

27 марта 2011 г.

Принуждаем приложения использовать системный трей Unity

В последнее время в сети поют деферамбы Unity, который еще очень сырой, недоработанный и не время ему быть по умолчанию в Ubuntu 11.04, хотя кто нас спросит. IMHO

На вскидку, что мы видим при запуске Unity? Да ничего, пока в Gnome не сделаем выполняемой при старте команду compiz --replace, то от Unity увидим просто фоновое изображение или там же нужно будет в терминале выполнить эту же команду. Покрайней мере так получается у меня. Не буду описывать все недостатки или плюсы Unity, но первое, что сразу бросилось в глаза, так это отсуствие иконки менеджера буфера обмена... Не судите строго заметку пользователя fluxbox'a, но пришлось поискать решения для себя и благодаря добрым людям оно нашлось, может и вам поможет... 

Источник

В Ubuntu Natty, а точнее в Unity, используется список запрещающий приложения, которые обычно используют область уведомлений для отображения иконки на панели. Это изменение является простой попыткой заставить разработчиков открытого программного обеспечения изменить свои приложения, так чтобы они вписывались в видение того, как программное обеспечение должно разрабатыаться по мнению Каноникла, а не как принято конструкциями сообщества.

Под это ограничение, попадает множество приложений, например: Jupiter, xchat, xchat-gnome, blueman, parcellite  и т.д., которые больше не будут правильно работать в Ubuntu Natty под Unity. И разработчики правы в том, что не видят необходимо переписать ПО, лишь для того чтобы оно соответствовало видению Марка, когда оно уже работает во всех других дистрибутивах, в которых она поддерживается и используется. И дело даже не в дистрибутивах, ведь в любых DE и WM, отличных от Unity, все прекрасно работает и в самой Ubuntu.

При этом, FEWT задался целью создания простого скрипта, который позволит любому ПО отображать значок в области уведомлений под Unity и назвал это просто "whitelist".

Создать в каталоге со скриптами файл "whitelist" и скопировать туда текст: cat>.scripts/whitelist

#!/bin/bash
SCHEMA="com.canonical.Unity.Panel"
OBJECT="systray-whitelist"
APP="$1"
if [ ! "$(gsettings get $SCHEMA $OBJECT 2>/dev/null || echo FALSE)" = "FALSE" ]; then
  echo "Whitelisting $APP to work around flawed distribution design.."
  OBJARRAY=$(gsettings get $SCHEMA $OBJECT | sed -s -e "s#\['##g" -e "s#', '# #g" -e "s#'\]##g")
  if [[ "${OBJARRAY[@]}" =~ "$APP" ]]; then
    echo "$APP already whitelisted, skipping"
  else
    OBJARRAY=("${OBJARRAY[@]}" $APP)
    OBJARRAY=$(echo ${OBJARRAY[@]} | sed -s -e "s# #', '#g")
    OBJSET="['"$OBJARRAY"']"
    gsettings set $SCHEMA $OBJECT "$OBJSET"
  fi
else
  echo "This is not a Canonical \"designed\" product."
fi
сделать его исполняемым с помощью CHMOD (chmod 755 .scripts/whitelist).
Использование скрипта:

$ .scripts/whitelist parcellite

При новой сессии Unity все будет работать так как мы привыкли! :)

N.B. Спасибо Dr.Bodya за данную информацию и еще более простой способ чем предложил FEWT.

Для того что-бы разрешить ВСЕМ приложениям использовать трей, в терминале выполнить команду:

gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"

Можно добавить в белый список лишь необходимые вам приложения:

Linux terminal:~$
gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Mumble', 'Wine', 'Skype', 'hp-systray', 'ваше приложение']"

Просмотреть текущий список: gsettings set com.canonical.Unity.Panel systray-whitelist

Возврат к белому списку по умолчанию:

Linux terminal:~$
gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Mumble', 'Wine', 'Skype', 'hp-systray']"

Для этих настрое можно использовать GUI "dconf-editor" (/desktop/unity/panel/) для этого нужно установить dconf-tools.

P.S. Всех разработчиков не прогнешь, а простым пользователям трудности это создаст. Но прав Марк или нет, решит время и настроение разработчиков. Если Unity преобретет популяность в других дистрибутивах, то и мнение разработчиков по этому поводу может поменяться. Но все же, зачем делать велосипеды с квадратными колесами? Я в недоумении... IMHO

22 марта 2011 г.

Firefox и omnibox ala Chromium

Как изменить поисковую систему в FireFox? Все просто! Можно использовать настройки интерфейса по умолчанию, но выбрав любимый поисковик. Можно же использовать расширение Omnibar, которое объединяет строку навигации и поиска а-ля omnibox Chromium или же установить чуть более функциональный Foobar. Но с выходом FF4.0 мне посоветовали убрать отдельную строку поиска и настроить браузер для использования омнибокса. Все оказалось очень просто! Разработчики схитрили и загнали эту надстройку в самую глушь своего кода, неудосуживщись сделать в настройках простую опцию. Хотя, если знать как, хватает и about:config. Итак:

  1. В адресной строке вводим: about:config и обещаем быть осторожными :)
  2. В открывшейся вкладке щелкаем комбинацию Ctrl+F и вводим поиск в строке фильтрkeyword.URL
  3. Два раза кликаем по этой строке, и в открышемся окне, вводим новый адрес поисковой системы, например: https://encrypted.google.com/search?q= ИЛИ http://www.google.com/search?q=

Если вас устраивает подобное решение, то используем на одно расширение меньше. Хотя многим нравится решение предлагаемое разработчиками по умолчанию, но и такой вариант найдет свою нишу...

p.s. Поздравляю с выходом долгожданного релиза, замечательного браузера FireFox 4.0 ;)

15 марта 2011 г.

wget для chromium

К моей заметке о chromeget (для GC и Chromium) хотелось бы добавить, что просьбы пользователей не были напрасны и в расширении Download Assistant (by Google) начиная с версия 4.0.0 (Wednesday, March 09, 2011) началась поддержка линукса! Правда пока получилось добавить только wget, а uget и gwget добавлять не хочет: "Can't add this downloader", но надеюсь что поддерживаемый спискок менеджеров закачки для линукса будет вскоре расширен. Но уже сейчас можно заменить штатный загрузчик на wget, а так же использовать контекстное меню (по правой клавише мыши выбрать пункт: "Download link wish wget"), что не может не радовать :)

Команда "wget -b -c $URL -P Загрузки" не работала, но "wget $URL" с настройками в ~/.wgetrc дала нужный результат, а именно загрузку файлов в каталог "Загрузки":

dir_prefix = ~/Загрузки
use_proxy = off
background = on
continue = on

P.S. Параметр из man: -P, --directory-prefix=PREFIX в wgetrc задается другой опцией dir_prefix=PREFIX
Почему это так, еще в 2005 спрашивал PED :)

N.B. man wget, Русский мануал по Wget, материал из Википедии, ~/.wgetrc

14 марта 2011 г.

17 лет со дня релиза Linux 1.0

13 марта 1994 года Линус Торвальдс обнародовал исходные коды ядра Linux версии 1.0.
176 250 строк кода были выложены на публичный FTP-сервер.

История успеха:) Подробности