Архив метки: Linux

linux: перекодирование 3gp в avi (ffmpeg)

Дурацкий вконтакт не хочет нормально заливать 3gp-видео со старого телефона — или ошибка, или ускоряется видеоряд или прочая фигня. Если перекодировать в avi, то нормально заливает. Мелкий скрипт:
~/bin/3gp2avi

#!/bin/sh

ffmpeg -i $1 -f avi -acodec copy $1.avi

Как видно, звук я оставил нетронутым (-acodec copy), и так прокатывает, но можно подставить сюда любой кодек, типа libmp3lame.

Автор: Дмитрий

java sun wtk на linux 64 бита

Грустно, но на данный момент нет 64-битной wtk под линукс, даже классической 2.5.2. Если поставить 32-битную, она ругается и не работает. Пишет что-то типа:
Error libraries: libXt.so.6: wrong ELF class: ELFCLASS

Рассказываю как я всё запустил.

В дополнение к 64-битным JDK ставим 32-битную. Я качаю bin-пакет с java.sun.com и ставлю в /opt/jdkXXX с символической ссылкой на текущую версию этого хозяйства как /opt/jdk
Итак, ставим таким же образом 32-битную. И пусть 32-битная JDK будет в /opt/jdk-32.
Качаем WTK, на этот момент это sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh, ставим как обычно. Тоже пусть в /opt
При установке выбираем путь к нашей JDK: /opt/jdk-32/bin
Путь пусть будет /opt/WTK2.5.2
Ну, практически всё…

Надо лишь убедиться, что в запускалках в WTK стоят валидные пути, типа:
/opt/WTK2.5.2/bin/emulator:
javapathtowtk=/opt/jdk-32/bin/
Ну, и так далее.

И ещё надо иметь соответствующие 32-битные аналоги некоторых X-либ. Каких — вы узнаете при запуске тулбара или эмулятора (в том числе из других IDE). Ну, по памяти это что-то типа
...error while loading shared libraries: libXt.so.6: cannot open shared ...
Их также надо поставить из репозитория (или как там у вас в вашем дистрибутиве), они должны быть нормально доступны и вставть параллельно, не мешая нормальным родным 64-битным бинарникам.

Автор: Дмитрий

DirectX в VirtualBox (linux)

Заметка о том, как позаиметь почти полноценный DirectX под виртуальной машиной. В моём случае это VirtualBox под linux, в машине — WindowsXP.

VirtualBox — клёвая виртуалка, удобная. Автоподгонка разрешения гостевой системы под размер окна в реальном времени, интеграция мыши без захвата, буфер обмена туда-сюда, возможность захватить usb-устройства (я, например, коннекчу винмобайл-девайс через ActiveSync, правда, при попытке прошить запорол устройство, но это другая история). Читать

Права доступа к файлам и директориям в *NIX

О том как выставляются права на чтение|запись|выполнение в UNIX/Linux/BSD-системах

Каждый процесс в *NIX-системах может быть запущен под каким-нибудь пользователем. Пользователь определяется по идентификатору (user ID — UID), представляющему целое положительное число. Суперпользователь (root) имеет идентификатор 0. Все пользователи распределены по группам, которые также имеют свои идентификаторы (group ID — GID).

Каждый файл в системе имеет своего владельца, как правило пользователя, который его создал. Владелец запоминается по его UID. Так как каждый пользователь принадлежит какой-либо группе, то для каждого файла определен и GID. Таким образом, для каждого файла существует три неравноценных типа пользователей:

Читать

linux: небольшой скрипт дампа

Если не надо версионность и нет резона использовать svn, то для некоторых случаев делаю периодическую архивацию на скорую руку с помощью маленького скриптика.

#!/bin/sh

DATE=`/bin/date "+%0Y%0m%0d-%0k%0M%0S"`
FILE=$1
NAME=`basename $FILE`

tar -chzf $DATE-$NAME.tar.gz $FILE

Создаёт в каталоге в котором он вызван для указанного в параметре каталога архивный файл типа 20100423-170834-doc.tar.gz. Сам отрежет из переданного пути имя файла и назовёт архив нормально. Уже забыл почему именно, но назвал я этот скрипт dumparch. Ну, ясно, что дальше можно положить его в ~/bin или в системный bin. Варианты использования:

dumparch doc
dumparch ./doc
dumparch ~/project/doc

Автор: Дмитрий

Linux Debian,Ubuntu — чуть-чуть о правах доступа к файлам

r =4 (чтение)
w =2 (запись)
x =1 (исполнение)
— =0 (никаких прав)
Для вычисления требуется сложить числа
Пример:
-rw-rw-rw-
rw =4+2+0=6

Таким образом получаем.
755:
Владелец файла — полные права, т.е. исполнение, запись, просмотр.
Участники группы — просмотр и исполнение.
Остальные пользователи — просмотр и исполнение.

777:
Все пользователи могу править, исполнять и просматривать.

666:
Все могут редактировать и просматривать, но никто не может запускать.

644:
Все могут просматривать, но только владелец может записывать.

Установка SUID-бита:

chmod 1xxx filename

xxx — это те 3 цифры, про которые мы говорили выше. 1-ка означает как раз таки этот самый suid бит, то есть файл будет исполняться с правами его владельца.

Позже постараюсь описать все это более развернуто, сейчас просто так, чтоб не забыть.
П.с.Кроме указанных Дебиана и Убунту это все также актуально для остальных Линуксов и BSD*.

Автор: AlexWinner
Дата публикации: 2010-03-28T13:57:00.000-07:00