понедельник, 20 декабря 2010 г.

Настройка стиля Qt-приложений в Ubuntu

В поисках подходящего Jabber-клиента я наткнулся на замечательный кроссплатформенный, открытый проект Vacuum-IM. Не буду описывать все его преимущества, сделаю это в другой раз, когда закончу с выбором мессенджера, заодно расскажу и о других. Vacuum написан на Qt4, а значит без штатных средств KDE4 вроде как не настроить внешний вид, т.е. тему. Оказывается, вовсе нет необходимости тащить этого монстра (да-да, KDE4 тот еще монстр :) , достаточно установить небольшой пакет qt4-qtconfig (для Qt4 приложений) или qt3-qtconfig (соответственно для Qt3). После установки программу можно вызвать по команде qtconfig-qt4 (или qtconfig-qt3 если требуется настроить Qt3 приложение). Ну, а тут, хоть и по-английски всё, но интуитивно понятно и просто.


Лично для меня, использующего на рабочей машине XFCE, а следовательно целую кучу GTK-приложений, полезна опция выбора вида Qt-приложений, чтобы они отображались с теми же стилями, что и GTK+. Т.е. просто выбираю в пункте Select GUI Style тему GTK+ и всё - приложения Qt4 в XFCE как родные :)

четверг, 7 октября 2010 г.

Простой Port Mapping

Эта заметка из серии "Записки склерозника" :) Так что я не буду вдаваться в подробности, тем более суть всей заметки сводится к двум командам для iptables.

Предыстория: под виндой в UserGate раньше иногда пользовался функцией portmapping. Трудно в двух словах описать что это такое, поэтому лучше приведу живой пример.

Итак, в сети у нас есть 3 машины:
1. Сервер, на котором крутится сайт (80-й порт) IP-адрес машины 192.168.0.1
2. Рабочая станция. Нужно с неё получить доступ к сайту на вышеуказанном сервере. IP-адрес машины: 192.168.1.1
3. Шлюз/сетевой экран (стоит между сервером и рабочей станцией, имеет два сетевых интерфейса, смотрящий в разные сети). IP-адреса: 192.168.0.2 (смотрит в сторону сервера) и 192.168.1.2 (в сторону рабочей станции)

На рисунке все понятно и наглядно показано.

Можно, конечно, назначить 192.168.1.2 шлюзом по умолчанию для рабочей станции и настроить маршрутизацию, чтобы спокойно был виден весь сервер, но мне нужно чтобы был доступ только к сайту.
реализация проста, вот три строчки кода:
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A PREROUTING -p tcp --dst 192.168.1.2 --dport 81 -j DNAT --to-destination 192.168.0.1:80
# iptables -t nat -I POSTROUTING -p tcp --dst 192.168.0.1 --dport 80 -j SNAT --to 192.168.0.2
Т.е., чтобы попасть на сайт, расположенный на сервере (192.168.0.1), в браузере рабочей станции нужно просто ввести адрес шлюза (192.168.1.2:81)

Если на шлюзе использовать 80-й порт, то в браузере можно просто писать адрес, не указывая порт. Здесь я использовал 81-й порт для наглядности и на тот случай, если он вдруг будет занят.

Написано по мотивам этой страницы

четверг, 23 сентября 2010 г.

Русский Ajaxplorer 3


Для рабочих нужд понадобился мне файловый менеджер для работы с файлами на удаленном сервере. Пробовал eyeOS, хотя это скорее операционная система, нежели ФМ, вот только количество потребляемых  ей ресурсов меня несколько расстроило. После долгих поисков наткнулся на быстрый, простой и почти русифицированный файловый менеджер Ajaxplorer - работает в браузере, использует PHP + Ajax (как видно из названия).

Собственно при чем тут Линукс? :) А вот при чём - с помощью Ajaxplorer легко организовать разграниченный доступ к файлам на сервере, при этом совершенно не важно какая ОС используется на клиенте. Судите сами - NFS, CIFS (Samba), FTP довольно сложны в настройке, порой специфичны для разных ОС, а тут всё просто - на стороне сервера любая ОС с веб-сервером, поддерживающим PHP5, а на стороне клиента - современный браузер с поддержкой Javascript и желателен Flash, чтобы проигрывать музыку и видео.

Есть, конечно, некоторые недостатки:
  • Не полная поддержка локализации (i18n), поэтому пришлось кое-что править прямо в коде Ajaxplorer, грубо и беспощадно.
  • Плохо описано создание графических тем, а доступна только одна
  • Почему-то не смог зайти на примонтированный том с NTFS файловой системой
Чтобы снять ограничение на длину имени файла, нужно подредактировать параметр $max_caracteres=50 в файле [каталог с установленным Ajaxplorer]/server/conf/conf.php

Файл конфигурации хорошо продокументирован, так что особых проблем возникнуть не должно.

3 вечера кропотливой работы над допиливанием Ajaxplorer: качайте на здоровье

Скриншоты ниже (требуется флеш):

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

Порядочные обои

Я очень часто встречаю на рабочих столах пользователей свалку из ярлыков и папок. Не то, чтобы меня это сильно раздражает, но приятного мало, хотя это и не мой стол. Давным-давно, еще во времена, когда у меня на компьютере стояла Windows, я придумал способ интересно размещать ярлыки на рабочем столе, чтобы они не просто в куче лежали, а имели своё законное место. Выглядит это примерно как на картинке. 
Alt Linux 4.1 / KDE 3.5 / Обои от Vladstudio.com / Иконки собраны отовсюду

Исходник в формате Inkscape SVG можно скачать тут и переделать под себя как заблагорассудится.

Ниже еще парочка картинок

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

...и добавим немного wget-а

Собственно весь этот пост затеял только ради одной единственной команды, которая мне была нужна.

Суть в следующем: нужно с определенной страницы скачать файлы, например, PDF, но не все, а только те, что лежат в определенных папках.

Это элементарно делается с помощью wget.
wget -r -A *.pdf -I docs http://example.ru
Поясню:
-r - означает рекурсивную загрузку, т.е. wget закачает не только главную страницу с http://example.ru, но и проследует по ссылкам на этой странице.
-A *.pdf - говорит wget-у, что нужно сохранять только файлы с расширением  PDF
-I docs - загружать файлы только из каталога docs

При этом wget создаст структуру каталогов, как на сервере, что удобно, если имена файлов одинаковые.

Обращаю внимание на то, что при записи ключей важен регистр букв.

Вот так тоже будет работать:
wget -r -A *.pdf,*.doc -I docs,pdfs http://example.ru

пятница, 10 сентября 2010 г.

Настройка спутникового ТВ

Скажу прямо - про установку и настройку драйверов DVB-карт я ничего не знаю, моя карточка определяется сама.
Всё, что будет написано дальше, это шпаргалка для меня-склерозника :)

 У меня тарелка настроена на спутник Ямал 201 в диапазоне Ku.
Вот тут лежит архив (3мб), включающий в себя:

  • Каталог Install - там лежат пакеты kaffeine_0.8.7-1ubuntu5.1_i386.deb и kaffeine-sc_0.4.1svn-0ubuntu1_i386 -это плеер Kaffeine и плагин для просмотра зашифрованных каналов. нужно просто запустить, они установятся через gdebi, а Kaffeine что-то еще дотянет из репозиториев.
  • Каталог .kde - тут настройки каффеина  список каналов и параметры спутника.
  • Каталог .kaffeine - здесь лежит файл SoftKam.key с BISS ключами для каналов СТС и Домашний (Чёпопалошный канал)

Каталоги можно просто скинуть как есть в домашнюю папку.

ЗЫ: Kaffeine в KDE4 - дрянь та ещё, поэтому использую старенькую версию 0.8.7

Очередной закос под винду

Дизайнеры у майкрософт молодцы, мне нравится, а вот система нет :) Благо Gnome легко превращается во что угодно.

Wget в Ubuntu 10.4 не ходит через прокси

Столкнулся с проблемой при работе с wget через прокси:
$ wget http://ya.ru
--2010-09-11 02:08:10--  http://ya.ru/
Преобразование адреса ya.ru... ошибка: Временный сбой в разрешении имен.
wget: не могу получить адрес хоста «ya.ru»
обычные вещи вроде
$export http_proxy="http://10.8.0.1:8080"
не помогли.

Решение нашел в убунтовской багзилле https://bugs.launchpad.net/ubuntu/+source/wget/+bug/554068
$export no_proxy=$(echo $no_proxy | sed 's/,$//')
Ну и export http_proxy, конечно, нужен

воскресенье, 11 июля 2010 г.

RSS в Google Chrome

Очень не хватает функций для работы с RSS в полюбившемся мне Google Chrome, но можно решить эту проблему за счет расширений для браузера. Вот они, наши герои :)Первый "ищет" на странице RSS и добавляет в строку адреса значок
Второй же позволяет загружать сами заголовки для последующего просмотра

Эти расширения с легкостью заменили мне Akregator, который я уже давно использую для чтения RSS

воскресенье, 4 июля 2010 г.

У мышки есть свой КАРМАН

Вроде существуют сумчатые мыши, но я их не встречал, а вот мышку с карманом, вернее с буфером обмена - это запросто.

Оказывается, что при работе в GNOME, если выделить текст, то он автоматически копируется в буфер обмена, но не в общий, а буфер мышки.
Вставить этот текст можно, нажав на колесо. Очень удобно, я вам скажу. Как я раньше без этого жил?!?!

пятница, 2 июля 2010 г.

Мой любимый мандаринчик


Очень обрадовался я выходу новой версии, заменившего мне старый добрый Амарок, аудиоплеера Clementine 0.4.

Он и так был чудесным, но вот не хватало в нем поддержки нескольких плейлистов, поэтому пользовался ритмбоксом, но теперь этого монстра можно отправить в отставку, ведь в новой "Клементинке" есть все нужные мне фичи.

Правда, русская локализация чуть-чуть хромая, но я стараюсь просто не обращать внимания.

ЗЫ: Что за пункт меню "Дополнительно-Дождь"? 0_o

ЗЗЫ: Локализация не просто хромая, а пипец! "Поиск списка воПСроизведения"

понедельник, 28 июня 2010 г.

Размышления на тему брандинга AltLinux LDXE


На скорую руку сделанные прикидки на тему логотипа и названия активно развивающегося дистрибутива Altlinux LXDE. Через какое-то время сам буду посмеиваться над тем, что сделал, так что не судите строго ;)

И опять-же, это только первые наброски и размышления в графическом  их представлении.

Этот пост создан специально для темы на форуме сообщества AltLinux.

воскресенье, 2 мая 2010 г.

Обои для рабочего стола

Выложил для себя, чтобы не потерять. Хотите - берите и пользуйтесь :)
Под катом еще одна машина

вторник, 20 апреля 2010 г.

Блокировка привода CD-ROM

Мой сын растет и проявляет всё больший интерес к новым вещам: то залезет под кровать, то кинет что-нибудь в бак с водой, то открывает выдвижные ящики и т.д. И никак он не мог обойти своим вниманием системный блок,  и в частности привод компакт дисков - он же выдвигается, да ещё и с интересным звуком :) Уговоров, чтобы ребёнок не трогал CD-ROM, явно не достаточно, поэтому лучше просто заблокировать возможность открытия привода. Сейчас расскажу как это сделать.

четверг, 1 апреля 2010 г.

Таинственные знаки "Доллар" и "Решетка"

Ох, кажется я к линуксу настолько прикипел и привык, что некоторые вещи мне кажутся настолько очевидными, что иногда просто не обращаю на них внимания.
А тем временем для людей, которые только начали разбираться с новой операционной системой, это далеко не обыденности и им необходимы пояснения. Это касается, в частности, знаков "Доллар" и "Решетка" в начале команд, которые я пишу.

Сейчас постараюсь объяснить что это за тайные знаки такие :)

среда, 31 марта 2010 г.

Объединение двух файлов в один построчно

Возникла у меня потребность в объединении двух текстовых файлов в один. Да не просто так, а чтобы их строки чередовались друг с другом. Для чего это нужно? Для того, чтобы организовать простейший, небольшой по размеру справочник для программы/скрипта/сайта и т.д. Я таким образом делал справочник МКБ-10 - коды заболеваний, который нужен был по работе. Что долго рассказывать, айда под кат за сокральными знаниями ;)