четверг, 30 декабря 2010 г.

Конвертируем теги mp3 в UTF8

Для того, чтобы в музыкальных проигрывателях под линуксом правильно отображались теги, необходимо их сконвертировать из кодировки СР1251 в UTF-8.
Для этого необходимо установить маленький пакет python-mutagen:
 sudo apt-get install python-mutagen
затем перейти в каталог с mp3 файлами
 cd /media/path_to_music/
и выполнить команду
 find . -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1
она рекурсивно обойдет все вложенные подкаталоги и переконвертипует теги.
 
Найдено на хабре http://habrahabr.ru/blogs/linux/110634/#habracut
 
 

четверг, 23 декабря 2010 г.

Устанавливаем Acronis на USB флешку

Сначала нам необходимо установить загрузчик grub4dos на флешку.
Идем по адресу http://sourceforge.net/projects/grub4dos/ и качаем файлик grub4dos-0.4.4.zip. Затем его распаковываем
unzip  grub4dos-0.4.4.zip
Переходим в распакованный каталог:
cd grub4dos-0.4.4
и устанавливаем grub на флешку :
sudo ./bootlace.com  /dev/sdb
где /dev/sdb  наша флешка, и скопируем загрузчик grub
cp grldr /media/F/
где /media/F путь к примонтированной флешке.


Находим где-нибудь iso образ  Acronis True Image. И бросаем его на флешку, например в каталог Acronis. Найдем также Acronis Disk Director. Я его нашел в виде архива с файлами kern3.dat ramd2.dat. Распакуем эти файлы также в каталог Acronis на флешку.
Создаем в корне флешки файл menu.lst
nano /media/F/menu.lst
такого содержимого:
title Acronis True Image
find --set-root /Acronis/Acronisti.iso
map --mem /Acronis/Acronisti.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)


title Acronis Disk Director
root (hd0,0)
kernel /Acronis/kern3.dat vga=788 ramdisk_size=32768 acpi=off quiet mbrcrcs on
initrd /Acronis/ramd2.dat
boot

Создаем загрузочную USB Flash в Ubuntu

Захотелось попробовать маленький линуксячий дистрибутив (http://weeeb.moo.com/  ок. 50МБ), а на работе не оказалось пишущего привода. Зато была с собой флешка. Отлично, в убунте делаем sudo apt-get install unetbootin скачается около 200КБ , и идем в Приложения - Системные утилиты - Unetbootin , вставляем нашу флешку, выбираем наш скачанный образ iso , носитель ( как там у нас флешка подключилась? - например /dev/sdb1. Смотрите внимательно, не запишите на свой жесткий диск, хотя, может это вам и надо :)) . Жмем ОК  и порядок. Быстро и просто.

вторник, 21 декабря 2010 г.

LTSP в Ubuntu 10.04

LTSP в Ubuntu 10.04

 

На работе имеется парк старой техники: с десяток Celeron 500/128Mb/без hdd и несколько компьютеров класса  Celeron 2Ghz. Такой конфигурацией, конечно, никого сейчас не заинтересуешь, но машины вполне рабочие и их можно использовать. Решил я попробовать использовать эту технику под дистрибутивом Ubuntu 10.04. В качестве серверной машины использую Celeron 2.4 / 512 Mb/ 20Gb hdd. Изначально установил на неё ubuntu-desktop 10.04 потом добавил:

sudo apt-get install ltsp-server-standalone

sudo ltsp-client-update

но это не принесло успеха, некоторое время боролся с  разными возникающими проблемами, но решил что быстрее будет установить LTSP с диска alternate, выбрав при установке соответствующий пункт меню. Через час с небольшим у меня был установлен сервер LTSP, а скачав с http://rom-o-matic.net/gpxe/gpxe-1.0.1/contrib/rom-o-matic/build.php образ с дискеты и скопировав его dd if=*.dsk /of=/dev/fd0  (celeron500 не умел загружаться через сетевую карту) я получил уже работающую систему.

Попробовал работать с несколькими вариантами конфигураций бездисковых станций:

64,128,196 Mb памяти. Начиная со 128 Mb начинается стабильная работа клиентских машин. Разницы в работе между 128 и 196Mb не заметно.

 

Делаем автологин на бездисковой станции

 

 В файле /etc/ltsp/dhcpd.conf делаем записи для требуемой рабочей станции

 

host think-client{                                            ##   имя хоста бездисковой станции

        hardware ethernet 00:10:b5:63:4d:cc;    ##   МАС-адрес  её сетевой карты

        fixed-address 10.3.2.159;  }                   ##   IP-адрес, назначаемый этой станции

 

Не мешало бы еще завести пользователя на сервере LTSP (sudo adduser username, или Система->Администрирование->Пользователи и группы)

 

Тепер в файлик  /var/lib/tftpboot/ltsp/i386/lts.conf (а если файл отсутствует - создадим его) вставляем строки, касающиеся данного пользоваетеля и бездисковой станции, где он будет автологиниться:

 

[Default]

LDM_AUTOLOGIN = True

 

 [10.3.2.159]

LDM_USERNAME = ggg                    ## имя созданного пользователя

LDM_PASSWORD = qweasd              ## пароль пользователя

 

Подключаем локальный принтер к тонкому клиенту

 

Я подключал к тонкому клиенту матричный принтер Epson FX-2190. Для того чтобы он заработал необходимо было установить cups на сервер LTSP:

 

sudo chroot /opt/ltsp/i386 apt-get install cups

 

(т.к. у меня выход в Интернет осуществляется через прокси. То необходимо было прописать настройки прокси в /opt/ltsp/i386/etc/apt/apt.conf.d/proxy :

Acquire::http::Proxy http://proxy_username:proxy_password@proxy.domain.com:3128;

)

Потом пересобрать образ :

sudo ltsp-update-image

и внести изменения в файл /var/lib/tftpboot/ltsp/i386/lts.conf (в некоторых источниках пишут, что нужно менять файл /opt/ltsp/i386/etc/lts.conf ):

 

[10.3.2.159]                                               # ip компьютерак которому подключен принтер

PRINTER_0_DEVICE = /dev/lp0            # к какому порту подключен принтер - это параллельный

PRINTER_0_TYPE = P                            # и соотв. тип порта - параллельный

 

(попадались обозначения и PRINTER_0_TYPE = U , PRINTER_0_DEVICE = /dev/usb/lp0

я так понял  это для принтеров подключенных по usb. при случае попробую как оно работает - отпишусь)

 

Теперь необходимо добавить этот принтер в систему печати:

Система->Администрирование -> Печать- >Добавить принтер- в окне Select Device выбираем Другой, а в окне Enter device URI вводим socket://10.3.2.159 далее выбираем марку принтера и модель. На тонком клиенте можем отметить локальный принтер как принтер по умолчанию для данного пользователя.

 

Продолжение следует+

 

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

Ubuntu, vpn и автодозвон

Провайдер, через которого я выхожу в интернет , использует VPN. Под windows с автоматизацией доступа проблем не возникло - в свойствах соединения поставил галочку напротив автоматического соединения, а само соединение закинул в автозапуск и вуаля. Но основную часть времени я работаю под ubuntu - и тут так просто установить соединение не удалось, хотя в закладке VPN соединения присутствует галочка - подключать автоматически - это не работает. Пошерстив по форуму forum.ubuntu.ru нашел несколько вариантов автоматизации этого соединения , и уже собрался писать скрипты, как на sourceforge.net мне попался чудный костыль vpnautoconnect . Качаем, устанавливаем, пользуемся. За что большое спасибо автору сей чудной приблуды.

Редактирование iso-образа в Ubuntu

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

Для редактирования iso образа загрузочного диска с Убунтой потребовалось установить пакеты isomaster, squashfs-tools.
 
Можно было обойтись и без isomaster  но нравятся мне gui-шные интерфейсы. Распаковываем из изошника то, что нам нужно подредактировать. Если используем isomaster, выбираем файл-открыть-выбираем изошник из нижней части выбираем что нам нужно извлечь из него на редактирование (у меня нужно было подправить некоторые скрипты, а они спрятаны в /casper/filesystem.squashfs )
если любим консоль в консоли монтируем изошник : $ sudo mount -o loop ~/live.iso /media/cdrom0 а потом копируем нужное из /media/cdrom0 ( у меня это было так : $ cp /media/cdrom0/casper/filesystem.squashfs  ~ )
теперь надо распаковать этот файл:
$ sudo unsquash -d squash-tmp filesystem.squashfs
где squash-tmp  - это каталог куда распаковать сжатую файловую систему. если посмотреть содержимое этого каталога мы увидим всю корневую структуру с каталогами etc, usr, var и т.д.
теперь можно подредактировать что нам необходимо
$ sudo nano squash-tmp/etc/sysctl.conf
теперь надо эту всю структуру обратно завернуть в этот файл filesystem.squashfs Только прежде надо удалить исходный :
$rm filesystem.squashfs - а потом создать новый:
$sudo mksquashfs squash-tmp filesystem.squashfs
 
Теперь соберем новый образ с исправленным содержимым:
$sudo isomaster
файл - создать , в верхней части изомастера открываем имеющийся изошник , переходим в нижнюю часть и выбираем что нам надо удалить. Потом из верхней части вставляем подкорректированные данные и жмем файл - сохранить как . Осталось поменять права доступа на получившийся новый изошник :
$sudo chmod 444 new-live.iso
и можно с ним  работать.

Как получить рабочий стол пользователя Ubuntu 10.04 LTS на системе Windows XP

Как получить рабочий стол пользователя Ubuntu 10.04 LTS на системе Windows XP? - используем программу Xming и настройки XDMCP


Исходные данные :
- имеется учебно-тренировочный компьютер (Celeron 2,4GHz, 512 Mb mem, 10Gb IDE, Nvidia GF440 )с установленной на нем Ubuntu 10.04 LTS,который стоит в серверной.
- имеется рабочий компьютер с установленной на нем Windows XP
Задача: получить доступ к рабочему столу Ubuntu из-под Windows XP.
В более ранних версиях Ubuntu настройка доступа по XDMCP осуществлялась в два щелчка мышью в свойствах Главного экрана. В версии 10.04 чуть сложнее
Решение было найдено на форуме http://ubuntuforums.org/showthread.php?t=1471703, и по адресу http://www.openkazan.info/Linux_Desktop_from_Microsoft_Windows-Xming-SSH за что этим людям большое спасибо:
1.Идем на http://sourceforge.net/projects/xming/ и качаем Xming-6-9-0-31-setup.exe (2,2 Mb версия на момент написания 01/12/2010). И устанавливаем.
2.На копьютере с Ubuntu 10.04 необходимо отредактировать, а если его нет, то создать, файлик /etc/gdm/custom.conf . В терминале набираем :
Sudo nano /etc/gdm/custom.conf ( или , если вам больше по душе графический редактор sudo gedit /etc/gdm.custom.conf)

И вставляем туда такой текст:
[daemon]
User=gdm
Group=gdm

[security]
DisallowTCP=true

[xdmcp]
Enable=true
DisplaysPerHost=2
HonorIndirect=false
MaxPending=4
MaxSessions=16
MaxWait=30
MaxWaitIndirect=30
PingIntervalSeconds=60
Port=177

[greeter]

[chooser]
Multicast=false

[debug]
Enable=false
Остальное, что там было, можно убрать. Можете перезагрузить машину или перестартовать сервис gdm : sudo /etc/init.d/gdm restart
Проверить что сервис работает можно командой sudo netstatatnup | grep 177
В ответ должны получить что-то в роде
udp6 0 0 :::177 :::* 664/gdm-binary

Теперь поднастроим Xming на машине с Windows XP:
Запускаем Xlaunch

Выбираем пункт One window , далее

Выбираем пункт Open session via XDMCP, далее


Указываем адрес машины с Ubuntu, на которую будем коннектиться, далее


Галочка Clipboard отмечена по умолчанию, если вам не нужно пользоваться буфером обмена между локальной Windows и удаленной Ubuntu , снимите её, потому как некоторое отмечают нестабильность работы при использовании буфера обмена.
В строке Additional parameters for Xming заводим свои параметры для X – сервера:
Варианты раскладок клавиатуры её тип и переключатель между раскладками. Можно еще много чего сюда добавить( см. документацию по Xming). Жмём далее

Теперь сохраним конфигурацию в каком-нибудь файле

И нажмем Готово. Запустится Xming и у вас на рабочем столе появится приглашение GDM.

Чтобы постоянно использовать сохраненные настройки откроем свойства ярлыка Xlaunch и укажем в качестве параметра запуска наш сохраненный конфигурационный файл ( у меня это - run d:\xming\config.xlaunch )

Борьба с принтером HP LaserJet 1020 в Ubuntu 10.04

На установленной системе Ubuntu 10.04 LTSP я попытался подключить принтер HP LaserJet 1020 – при подключении принтера запустился мастер подключения принтеров одноименной фирмы и выдал невзрачную картинку в xterm-e : скачать драйвера , использовать имеющиеся, или похерить. Естественно, выбираю скачать драйвера, на что мне в ответ система сообщает об ошибке( полагаю это из-за прокси сервера, через который на работе осуществляется доступ к инету). Скачал с openprinting плагин hplip-3.10.2-plugin.run и попробовал его запустить(так делал на домашней системе ) – не тут-то было : плагин заругался на отсутствие Qt4. Попробовал ставить через synaptic все что связано с libqt4 – ругалось на несоответствие связанных пакетов. На помощь пришлось призвать aptitude. Еще понадобилось добавить пакет python-qt4. После этого удалил принтер в Система-Администрирование-Печать. Выключил принтер, включил и мастер настройки принтеров HP запустился уже не в xterm-e, а в окне Qt4 , где я выбрал установить уже скачанный плагин и вуаля – принтер отозвался и стал работать .

Синхронизация WinMobile устройства с Ubuntu 10.04

Добавляем в /etc/apt/sources.list строчку:
deb http://ppa.launchpad.net/synce/ubuntu lucid main restricted universe multiverse

sudo apt-get update

если заругается на отсутствие ключа :
Ошибка: http://ppa.launchpad.net lucid Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY B152F042D246C25D

необходимо его импортировать:
sudo apt-key adv --recv-keys --keyserver subkeys.pgp.net B152F042D246C25D
получим что-то в виде:
gpg: запрашиваю ключ D246C25D с hkp сервера subkeys.pgp.net
gpg: ключ D246C25D: открытый ключ "Launchpad PPA for SynCE" импортирован
gpg: Всего обработано: 1
gpg: импортировано: 1 (RSA: 1)

делаем еще раз
sudo apt-get update

затем устанавливаем следующие пакеты:

sudo apt-get install synce-trayicon synce-hal synce-gnomevfs synce-gvfs librra0-tools librapi2-tools
sudo apt-get install multisync-tools opensync-plugin-evolution opensync-plugin-synce

подключаем КПК(возможно понадобится отключить КПК от компьютера на пару минут и вновь подключить его) и просмотреть список папок на КПК командой :
synce-pls

Добавим профиль синхронизации с линукс-машиной:

synce-create-partnership "Linux desktop" "Contacts,Calendar,Tasks,Files"

имя профиля Linux desktop лучше не менять!
В Убунту версии 10.04 необходимо пропатчить файлик /usr/share/pyshared/opensync.py :
[pyopensync-1.diff]
--- opensync.py.orig 2010-05-06 06:52:26.000000000 +0100
+++ opensync.py 2010-05-06 06:54:49.675409280 +0100
@@ -162,8 +162,8 @@ OSyncContext_swigregister(OSyncContext)
 class OSyncChange(object):
     thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
-    def __init__(self, obj = None):
-        this = _opensync.new_OSyncChange(obj)
+    def __init__(self, *args):
+        this = _opensync.new_OSyncChange(*args)
         try: self.this.append(this)
         except: self.this = this
     __swig_destroy__ = _opensync.delete_OSyncChange
 
 
Патчим командой
patch -Np1 -i pyopensync-1.diff
если нет программы patch, её нужно установить sudo apt-get install patch
Добавить группу синхонизации и плагины
msynctool --addgroup synce-sync
msynctool --addmember synce-sync synce-opensync-plugin
msynctool --addmember synce-sync evo2-sync

теперь можно синхронизироваться:
msynctool --sync synce-sync

синхронизировать новые записи с разрешением конфликтов:
msynctool --sync synce-sync --conflict n

Основное руководство по настройке находится здесь:

Наконец-то получилось выходить со зверька в инет через ББ. При подключении зверя к ББ шнурком, в Network-manager определяется новый интерфейс eth5 с настройкой по dhcp. Чтобы выйти в инет нужно на ББ открыть иконку SynCE Tray Icon , выбрать своего зверя , и нажать View device status. Затем нажать кнопку «Обновить».

Начало.

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