вторник, 12 апреля 2011 г.

Пишем в Skype используя не Latin-1 символы на 64-битной системе

Сегодня столкнулся с довольно таки забавной проблемой. Установил последнюю бету Skype для Linux под свой openSUSE 11.4 x86_64 и он мне кодировал все символы русской и украинской раскладки в крякозабры во всех полях ввода. Странно, подумал я и решил явно указать локаль в которой следует работать Skype, однако это ничего не дало. И после:

$ LOCALE=ru_RU.utf8 skype &

все не ASCII символы преобразовались во что-то человеко не читаемое. Окей, сказал я и полез в гугл. Оказалось все легко. После предыдущего запуска в консоле остались следующие диагностические сообщения от Skype:

QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed for BOM: Bad file descriptor
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed for BOM: Bad file descriptor

и именно по ним я вышел на решение моей проблемы. Оказалось, что надо всего-то доустановить glibc-locale-32bit из стандартного репозитория, перезапустить Skype и настанет счастье.

Остается только загадкой почему эту зависимость разработчики скайпа не добавили в RPM-пакет и почему упоминание про нее отсутствует на официальной странице по установке Skype в openSUSE.

Итак, не возможно напечатать не Latin-1 символы в полях ввода в Skype? В консоли выполняем:

$ sudo zypper in glibc-locale-32bit

И проблема решена!

вторник, 1 февраля 2011 г.

Убираем строку "wine core exe" из меню "Открыть с помощью" в Dolphin, Konqueror, Nautilus, etc

Какое-то время назад, во время пользования Jolicloud установил себе Wine для пощупывания Spotify и чего-то еще. Spotify и это что-то еще совершенно не впечатлил, Wine снес, а через какое-то время вернулся и на openSUSE 11.3 в этот раз с KDE 4. Посидел, более менее привык и тут заметил раздражающую проблему, вызывая контекстное меню в Dolphin или Konqueror для любого рисунка (*.jpg, *.png, etc) вижу "wine core exe" в пункте "Открыть с помощью" (Open with...).

В системе Wine не установлен, более того ~/.wine тоже давно отправлен утиль, а "wine core exe" все так же гордо распологаются в контекстном меню. Оказывается, проблема в том, что при установке какой-то программы Wine понасоздавал кучу расширений в ~/.local/share/applications и ясное дело после удаления Wine эти расширения все так же остались в системе и как следствие в контекстном меню.

Что ж, удаляем все расширения:

$ rm ~/.local/share/applications/wine-extension-*

И даже без перезапуска Dolphin или Konqueror видим, что наше меню "Открыть с помощью" приобрело цивилизованный вид и избавилось от ненужных строк "wine core exe".

ps. Как говорит интернет этот способ помагает и для Nautilus'а.

четверг, 13 января 2011 г.

Отмечаем опцию "Enable Wireless" в NetworkManager апплете программно

В последнее время на разных дистрибутивах (openSUSE 11.3, Jolicloud 1.1) заметил интересную проблему. В апплете NetworkManager'а по дефолту не выбрана опция "Enable Wireless", хотя все необходимые драйвера и прошивки для работы устройства беспроводной связи были установлены. И если в openSUSE 11.3 я не особо размышлял о решении этой проблемы и вручную включал устройство, то пересев на Jolicloud мне захотелось понять почему так происходит и найти решение.

Не скажу, что я понял, почему NetworkManager 0.8 автоматически выключает эту опцию, но зато я нашел, как этому противостоять. Решение оказалось очень простым, просто нужно отправить сообщение по dbus, которое включит "Enable Wireless":

dbus-send --system --type=method_call --dest=org.freedesktop.NetworkManager \
/org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Set \
string:org.freedesktop.NetworkManager string:WirelessEnabled variant:boolean:true

Дальше я добавил эту команду в автозагрузку ДЕ (System -> Preferences -> Startup Applications в Jolicloud, например) и при входе в систему теперь получаю автоматически работающее беспроводное соединение. Мелочь, а приятно!

зы. Если вы наоборот хочете автоматически выключить устройство беспроводной связи, то посылайте это же сообщение, только с false вместо true в конце.

зыы. Решение подсмотрел здесь и здесь.

Добавляем сторонние PPA репозитории в Jolicloud 1.1 или Joli OS 1.2

Последнюю неделю играюсь на своем Lenovo S12 с Jolicloud 1.1. Впечатления практически сугубо положительные. Очень удобный дистрибутив для людей, проводящих очень много времени в интернете.

Единственное, что раздражало пару дней было отсутствие нового Gajim'а. Не секрет, что Jolicloud 1.1 построен на основе Ubuntu Lucid Lynx, а в нем версия Gajim'a уж очень стара на текущий момент - 0.13.2 (да и иконка не поддерживала полупрозначности и выбивалась из общего стиля системного лотка). В то же время, новая версия этого замечательного джаббер-клиента была доступна в репозитории ppa:gajim/gajim-ppa. Пойдя путем найменьшего сопротивления, я было попытался добавить этот репозиторий, стандартно для Убунту:

# add-apt-repository ppa:gajim/gajim-ppa

но меня ожидал облом:

Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 40, in 
    sp = SoftwareProperties(options) 
  File "/usr/lib/python2.6/dist-packages/softwareproperties/SoftwareProperties.py", line 90, in __init__
    self.reload_sourceslist()
  File "/usr/lib/python2.6/dist-packages/softwareproperties/SoftwareProperties.py", line 538, in reload_sourceslist
    self.distro.get_sources(self.sourceslist)    
  File "/usr/lib/python2.6/dist-packages/aptsources/distro.py", line 90, in get_sources
    raise NoDistroTemplateException("Error: could not find a "
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template

Вручную задать версию Убунту add-apt-repository не позволяет. Потому пришлось идти долгим путем. Для начала добавляем репозиторий в файл /etc/apt/sources.list.d/ubuntu.list (удобно в конце файла создать условный блок для всех сторонних репозиториев):

deb http://ppa.launchpad.net/gajim/gajim-ppa/ubuntu lucid main 
deb-src http://ppa.launchpad.net/gajim/gajim-ppa/ubuntu lucid main

А затем вручную добавляем ключ (находится на странице репо, блок Signing key) при помощи:

# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 00EECF10

Дальше, все легко, на арену выходит aptitude и без проблем обновляет gajim, который после обновления получает иконку в системном лотке с прозрачностью, ну и возможность общаться голосом/видео посредством вашего Jabber-аккаунта.

Аналогично вы можете добавлять и любые другие репозитории, которые совместимы с Lucid Lynx. И это позволяет превратить Jolicloud в операционную систему общего предназначения, а не только для интернет-сёрферов :)


Добавлено 15 апреля 2011 г. Описанный в посте метод работает и для новой Joli OS 1.2, которая все также построена на пакетной базе Ubuntu 10.04 Lucid Lynx.

среда, 3 ноября 2010 г.

Будим или отправляем в сон монитор программно

Иногда бывает нужно разбудить спящий монитор, скажем удаленного медиа центра, без нажатий каких-либо клавиш или шевелений мышкой, имея под рукой только ssh доступ к медиа центру.

Как это сделать? На самом деле, проще простого. Нужно просто набрать в консоли:

$ xset dpms force on

и Х-сервер включит монитор. Для выключения монитора, используйте:

$ xset dpms force off

Если при исполнении команд вам выпадет ошибка:

xset:  unable to open display ""

просто укажите необходимый дисплей:

$ DISPLAY=:0 xset dpms force on|off

воскресенье, 31 октября 2010 г.