Системное радио libc6

04 Ноябрь 2009

Добавление нескольких фильмов в vlc playlist через кастомную команду nautilus

Обычно ведь было как? Я скачиваю несколько новых серий любимого сериальчика, открываю vlc, открываю плейлист, добавляю туда эти несколько последних серий, включаю на проигрывание первую из них.

Сегодня мне это все надоело, и я задался целью создавать плейлист для vlc прямо из наутилуса, путем выбора нескольких файлов мышью и использования кастомной команды для открытия файла по его mime-type.

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

~/.local/share/applications/userapp-vlc-KFUHSU.desktop
Содержимое файла:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Exec=vlc --aout alsa --alsadev surround51 %f
Name=vlc 5.1 sound
Comment=Особое определение для vlc
NoDisplay=true
Чудно, теперь я знаю, как создать новую кастомную команду. Но надо узнать, откуда задается ее выполнение. Ищем в содержимом файлов имя предыдущего найденного файла. Подстрока userapp-vlc-KFUHSU.desktop, как оказалось, обитает в файле
~/.local/share/applications/mimeapps.list
Содержимое:
[Added Associations]
application/x-ms-dos-executable=wine.desktop;file-roller.desktop;gedit.desktop;
video/x-matroska=vlc.desktop;totem.desktop;
video/x-msvideo=userapp-vlc-KFUHSU.desktop;totem.desktop;vlc.desktop;
text/vnd.sun.j2me.app-descriptor=userapp-gedit-7VD7ZU.desktop;
Делаю вывод, что для новой команды нужен еще один файл. Копирую userapp-vlc-KFUHSU.desktop в userapp-vlc-playlist.desktop и открываю его на редактирование. Подменяю строки
Exec=vlc --aout alsa --alsadev surround51 %f
Name=vlc 5.1 sound
на
Exec=vlc %F
Name=vlc play playlist
и сохраняю. Имя нового файла прописываю в mimeapps.list
video/x-msvideo=userapp-vlc-KFUHSU.desktop;userapp-vlc-playlist.desktop;totem.desktop;vlc.desktop;
То есть, по моему разумению, когда в окне наутилуса я буду выбирать контекстное меню на video/x-msvideo файлах, одной из кастомных команд должна быть моя новая команда.

В общем-то, и все. Щелкаю на пункте с новой командой, открывается vlc и сразу запускает первый в списке фильм. Проверяю playlist список - все на местах.

Доволен :)

Использован материал о допустимых символах подстановок в кастомные команды: http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html

Ярлыки:


Читать дальше...

Ubuntu 9.10, обзор live cd

Скачал себе сегодня, записал и посмотрел.

Основной интерес был в сихронизхации заметок tomboy через централизованный веб-сервис ubuntu one, жду эту фичу с полгода, наверное. Собственно, сегодня работал дома и опять полез в tomboy за намётками по работе, а там - болт. Вспомнил о своих ожиданиях синхронизации и полез смотреть ubuntu 9.10 live cd.

Заметки протестил первым же делом. Зарегистрировался на ubuntu one быстро, в интернете не искал, меня туда отправил сам tomboy при попытке синхронизироваться через web. Впечатления: сайт работает медленно, редактирование заметок через браузер подглючивает; с файлшарингом не все ясно, но файлики на ubuntu one storage забрасывать можно, /etc/passwd по крайней мере улетел; сама синхронизация заметок через клиент (tomboy) работает быстро, заметки ходят в обе стороны, но не очень понятно, по какому принципу они мержатся (merge), и мержатся ли вообще... Надо тестить на живом контенте. Вот пару скриншотиков:

На самом сайте ubuntu one - смешной лозунг. Back up your life... говорят. Ага, щас забекаплю, как же!

Дальше я просто посмотрел на всякие иконочки, значки, менюшки и вообще. Понравилось. Тема иконок очень симпатичная. Не смог скрыть удовольствия. Пока лазил по меню, нашел в System - Administration некую Disk Utility. О, боги! Что это? Это же smartinfo по жестким дискам в gtk окошках! Был приятно удивлен. Вот скрин.

Следующим приятным номером был мой любимый rb, какой то более симпатичный, что-ли, стал. В Totem добавили занятную фичу - делать серию скриншотов из проигрываемого фильма. Правда, в буржуйском формате jpeg, но это мы переживем. Жалко еще, что этой же фичи нет в командной строке к totеm-у, я бы пользовался.

Еще мне показался очень симпатичным ubuntu software center. Это такая штука вместо старого Find / Install в меню Applications. Выглядит взрослее и серьезнее старого. Картинка, приличное описание, ссылка на сайт. Ну и старый добрый synaptic никуда не дели, за что, конечно, спасибо.

Еще в окне наутилуса, в домашней директории, есть такая папочка - Ubuntu One file sharing. А в трее на панельке справа есть апплетик, который теоретически должен помогать залогиниться в облако ubuntu one и расшарить то самое из дом.директории. Но никто никуда не коннектится и ничего не шарит. Или просто лыжи не едут. Я так и не понял. А есть такие, кто понял?

Последнее: мессенджер empathy не понравился. И говорить о нем не стану. Буду и дальше юзать pidgin. К тому же я еще не решил, стоит ли обновлять систему, опять гемороится, все переустанавливать и перенастраивать, или попытать сомнительного счастья апгрейда вживую, или вообще ну его нафиг. Апгрейд вживую это же как серпом по ... горлу. А как определюсь, скажу.

Спасибо за внимание

.

Ярлыки:


Читать дальше...

17 Октябрь 2009

Eclipse property file charset enconding

В Eclipse IDE есть одна заморочка: дефолтная кодировка файлов по типам (расширениям) и кодировка файлов проекта. Проблема кодировки файлов проекта решается просто (через свойства проекта, первое же окно "Resource"), желательно только указать нужную кодировку еще на этапе создания проекта. А вот настройку кодировок, заданных файлам в зависимости от типа, найти не легко. По крайней мере я нашел совсем не сразу. А проблема показала себя, когда я стал делать lang_xx.properties файлы для локализации своего проекта. Созранить *.properties файл с русским/украинским текстом внутри было нельзя. Eclipse сообщал: "Внутри файла есть недопустимые символы, сохранять не буду". Даже учитывая то, что файлы я писал в линуксе в кодировке UTF-8. Порывшись в настройках (window - preferences) я нашел одно интересное окно с настройками content-type-ов. И вот там, как оказалось, нужно указать дефолтную кодировку файлам конкретного типа. Указав UTF-8 вместо исходного ISO-8859-1 я решил свою беду. Файл с русским текстом сохранился успешно. Надесюь, сохранил кому-то час времени.

Ярлыки:


Читать дальше...

06 Октябрь 2009

кастомный автостарт скрипт в /etc/init.d на примере apache tomcat

Речь пойдет о создании кастомного автостартующего скрипта в /etc/init.d/ для запуска/останова/перезапуска apache-tomcat, установленого в пользовательскую директорию и с необходимостью запускать именно от указанного пользователя. Скрипт можно будет дергать, как сервис, аля

sudo /etc/init.d/apache-tomcate start|stop|restart

Постановка задачи. По пути /home/libc6/tomact6 живет apache tomcat. Веб-приложение, установленное в этот tomcat, должно доступаться к своим данным в директории /home/libc6 от имени пользователя libc6. Такой путь выбирается из-за предрассудка: работать в системе под рутом, не выполняя административных задач - плохо. Приложение будет работать с файловой системой, создавать и удалять данные, доступаться к БД, но только не из-под рута. Задача два: tomcat должен уметь стартовать сам при перезапуске системы.

Шаг 1.

vim tomcat.sh
### BEGIN INIT INFO
# Provides:          tomcat
# Required-Start:    
# Required-Stop:
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: apache tomcat autostart service
# Description: apache tomcat autostart service
### END INIT INFO
case "$1" in
    start)
         echo -n "Starting Apache Catalina Tomcat 6 ... \n"
         su - libc6 -c "/home/libc6/tomcat6/bin/startup.sh; logout"
         echo -n "Starting Tomcat done\n"
         ;;
    stop)
         echo -n "Stopping Apache Catalina Tomcat 6 ... \n" 
         su - libc -c "/home/libc6/tomcat6/bin/shutdown.sh; logout"
         echo "Stopping Tomcat done\n"
         ;;
    restart)
         echo -n "Stopping Apache Catalina Tomcat 6 ... \n" 
         su - libc6 -c "/home/libc6/tomcat6/bin/shutdown.sh; logout"
         echo -n "Starting again Apache Catalina Tomcat 6 ... \n"
         su - libc6 -c "/home/libc6/tomcat6/bin/startup.sh; logout"
         echo -n "Starting Tomcat done\n"
         ;;
esac;   
Не забываем про ### BEGIN INIT INFO аннотации, это нужно в каждом init.d скрипте (но вообще и без них работает). Так же не забываем про ;; в конце case итерации.
chmod +x tomcat.sh
sudo cp  tomcat.sh /etc/init.d
sudo update-rc.d tomcat.sh start 51 S .
Не забываем про точку в конце команды. Точка нужна.

Отныне управлять tomcat-ом можно через псевдосистемный сервис, допустим:
sudo /etc/init.d/tomcat.sh restart
Убеждаемся, что tomcat работает от имени того пользователя, который нам нужен.
ps aux | grep tomcat

Теперь пояснения.

sudo - libc6
- так как сервис работает от рута, нужно, чтобы команда выполнялась от имени пользователя libc6. Дополнительный минус перед именем пользователя означает "логинться юзером и поднимать все его системные переменные". Если написать просто sudo libc6 - могут не подняться переменные окружения, установленные именно в среде пользователя. Иметь в виду.
sudo -с "command"
- выполняет команду в кавычках. В конце команды указан logout, иначе процесс остается в окружении пользователя, куда он (процесс) зашел при указании sudo - user.

Ну вот собственно и все. Можно ребутнуть машину, проверить результат работы.

Ярлыки:


Читать дальше...

Быстрая установка cvs в ubuntu 9.04

Исходно cvs устанавливается по официальной убунтовской инструкции CVS Server. Два дополнения:
- вместо /usr/lib/cvs - пути к репозиторию - использовать /srv/cvs - дефолтный путь хранилища в нынешней версии cvs.
- после установки и запуска через xinetd нужно создать в системе юзеров (самый простой путь) и добавить их в группу src через простое редактирование /etc/group (src:x:40:user1,user2,user3). Юзеры по-простому добавляются командой sudo useradd -m -U user1, где -m создает юзеру домашнюю директорию, а -U создает одноименную группу user1.

После этого можно смело брать Eclipse и коннектится к репозиторию с авторизацией ssh2pserver простая pserver авторизация не годится в силу передачи пассворда по сети простым текстом. Дальнейшая настройка cvs и авторизаций делается позже уже в самом cvs

Ярлыки:


Читать дальше...

05 Октябрь 2009

/etc/init.d/networking restart

Сабж в убунту не работает. В десктопной потому, что вся сеть управляется gui-ёвым network-managero-ом, а в серверной - хз, почему.

Об этом я сегодня вспомнил после полуторачасовой битвы с не-dhcp-шными настройками в /etc/network/interfaces на новом сервачке. Когда прописывается auto eth0
iface eth0 inet static
address .... и тп

Вспомнил про ifup/ifdown
Команда sudo ifdown eth0
Проверка ifconfig: нет интерфейсов.
Команда sudo ifup eth0
Проверка ifconfig: есть интерфейсы.
ping ya.ru - заработал. Можно спать спокойно.

А проклятый networking restart - падла - честными глазами сообщает: реконфигуринг интерфейсы. А мог бы просто сказать: method deprecated, use ifup/ifdown

Ярлыки:


Читать дальше...

20 Сентябрь 2009

Adding lvm volume

Когда-то (когда деревья были большими, а программы маленькими :)) я увлекался организацией дата-стореджей в LVM группы. Полтора года назад я уже писал на тему "LiveCD + LVM + XFS + поддержка cyrillic данных". С тех времён у меня завалялась еще одна заметка по созданию и добавлению нового тома в группу томов. Думаю, что место этой заметке - здесь.

Инициализация нового раздела:
1) #fdisk тип раздела 0x8e
2) #pvcreate /dev/hdbN

Добавление инициализированного раздела в группу томов
1) #vgextend vg0 /dev/hdbN. Подробнее см ниже

Увеличение логического тома vg0lv0 (который находится на группе vg0)
1) Сначала смотрим vgdisplay, убеждаемся , что физ.том добавлен в группу:

VG Name               vg0
VG Size               349,27 GB (это новый полный размер, включающий размер нового раздела в 69Г)
PE Size               4,00 MB
Total PE              89413
Alloc PE / Size       71538 / 279,45 GB (размер старый)
Free  PE / Size       17875 / 69,82 GB (размер доолнительного раздела, еще не расширенный)

2) Добавляем том командой lvextend -L+NG /dev/vg0/vg0lv0
где N это размер в гигах /dev/hdbN, vg0 - имя группы томов, vg0lv0 имя тома, который добавлем

#$>lvextend -L+69,82G /dev/vg0/vg0lv0 
#Rounding up size to full physical extent 69,82 GB
#Extending logical volume vg0lv0 to 349,27 GB
#Logical volume vg0lv0 successfully resized

3) сделать pvdisplay и убедиться что раздел добавлен в группу и имеет нужный размер.
И еще смотрим vgdisplay еще раз:

  
VG Size               349,27 GB
PE Size               4,00 MB
Total PE              89413
Alloc PE / Size       89412 / 349,27 GB (новый размер включился в общий размер)
Free  PE / Size       1 / 4,00 MB (издержки производства)

4) расширяем на него фс

# umount /dev/vg0/vg0lv0
# e2fsck -f /dev/vg0/vg0lv0 - проверка, на 276 Г - 10 мин.
# resize2fs /dev/vg0/vg0lv0 - растягиваем по умолчанию на все новодоступное место - до 345Г - 1 мин.
# mount /dev/vg0/vg0lv0 /mnt/videobox/vg0

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

Ярлыки:


Читать дальше...

07 Сентябрь 2009

Different notes

Разнообразные заметки. Периодически обновляемая запись.

Рекурсивное удаление с помощью find

find . -name CVS | xargs rm -rf {}
Ищет рекурсивно в текущей директории все вхождения CVS, найденную строку передает в xargs в точку указания {}.

linux разрезать файл на части склеить

split -b2GB Minority_Report_HDDVD_720p.mkv
Разрежет 7Gb-йтный фильм на 4 части xaa xab xac xad. Потом скинуть на плеер с гребаным fat-ом внутри, притащить на другой комп и склеить так
cat xaa xab xac xad > Minority_Report_HDDVD_720p.mkv
Альтернатива (утки!): разрезать rar-ом
rar a -m0 -v2048m mr.rar Minority_Report_HDDVD_720p.mkv
Разрежет на куски mr.part1.rar - mr.part4.rar по 2Гб без сжатия. Дальше обычно rar-ом же склеить.

Ярлыки:


Читать дальше...

29 Август 2009

mount cifs samba

Монтирование samba директории через cifs или smbfs

sudo apt-get install smbfs
man mount.cifs (или mount.smbfs)

И самый простой маппинг

mkdir Exchange
sudo mount -t cifs //192.168.1.2/Exchange Exchange -o guest

Эта команда смонтирует samba-расшаренную директорию Exchange с компьютера 192.168.1.2 в только что созданную локальную директорию Exchange. Опция -o guest прикажет маунту не переспрашивать имя пользователя и пароль (такое бывает, даже если самба сервер принимает всех подряд без авторизации), а логиниться гостем.

В моем случае на локальном компьютере живут два пользователя, и mount.cifs почему-то примонтировал сетевую директорию с правами основного пользователя (т.е не меня). Мне пришлось указать в маунт-строке так же и своего юзера/группу, которому должны принадлежать примонтированные файлы.

Так можно узнать uid,gid своего пользователя:

$> id libc6
$> uid=1001(libc6) gid=1001(libc6) 
группы=1001(libc6),4(adm),21(fax),24(cdrom),29(audio),30(dip),
44(video),46(plugdev),104(fuse),106(lpadmin),
112(netdev),121(admin),122(sambashare)

И теперь:

sudo umount //192.168.1.2/Exchange
sudo mount -t cifs //192.168.1.2/Exchange Exchange -o guest,uid=1001,gid=1001

Ярлыки:


Читать дальше...