Показаны сообщения с ярлыком howto. Показать все сообщения
Показаны сообщения с ярлыком howto. Показать все сообщения

четверг, 18 января 2018 г.

Firefox: отключение всплывающих уведомлений

Вышла новая версия Firefox. У меня сейчас стоит 57.0.4 (64-bit). Все очень здорово. Но просто достали всплывающие окна предлагающие то включить уведомления, то сохранить пароли.

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

Отключение push уведомлений

Для этого в адресной строке firefox вводим

about:config

После подтверждаем, что мы в своем уме и типа все понимаем


После чего в строке search вводим поочереди

dom.push.enabled
dom.webnotifications.enabled

И устанавливаем значения этих переменных в false






Отключение запоминания паролей

Это еще проще.
Выбираем из меню настроек пункт Preferences

Далее щелкаем на пункте меню Privacy & Security и мнимаем галку с пункта Remember logins and passwords for websites

воскресенье, 13 декабря 2015 г.

Настройка Ubuntu и dd-wrt для подключения к домашней сети по vpn.

Зачастую бывает полезно подключиться к домашней локальной сети с работы. Например, чтобы скачать какой нибудь файл. Или сохранить какой нибудь файл. Или дать команду торрент серверу загрузить кино, чтобы вечером его посмотреть.
Для этой цели очень удобно настроить на роутере vpn сервер. Делается это не просто, а очень просто.
Оригинальное полное описание полей находится в wiki  

Настройка сервера
Думаю, картинки достаточно для понимания.

Нужно просто:
  1. включить pptp сервер 
  2. указать диапазон адресов из пула внутренней сети (192.168.1.180-182). В моем случае я разрешаю 3 одновременных коннекта. 
  3. придумать логин и пароль для входа и записать их в поле CHAP-Secrets 
  4. запомнить внешний ip адрес (в скриншоте для примера я нарисовал WAN IP: 1.2.3.4, у вас, естественно, будет другой) 

Я отключил шифрование указав в поле MPPE Encryption Disable, потому как с шифрованием у меня подключение на заработало. (В интернетах пишут, что на некоторых прошивках dd-wrt так бывает.
Так же пишут, что это несовместимость реализации шифрования на стороне клиента Ubuntu [1] [2] [3]).
Поля DNS1, DNS2, WINS1, WINS2 в нашем случае не нужны.
В поле Server IP нужно указать адрес, который будет назначен виртуальному серверу. Я указал свободный в моей сети 192.168.1.2. Можно указать 0.0.0.0

Настройка клиента
На клиентской машине (Ubuntu 14.04) создаем vpn подключение (на скриншотах у меня уже присутствует настроенное соединение с именем Home VPN connection):

1.
2.
3.
4.


Указываем наш WAN IP: 1.2.3.4 (вместо 1.2.3.4 поставьте ваш реальный адрес) и логин-пароль
5.


На этом настройка закончена.

Если что то пошло не так и не создается соединение, то можно посмотреть процесс установления соединения в реальном времени.
Для этого открываем окно терминала и даем команду:
sudo tail -f /var/log/syslog
Небольшое но важное дополнение.
Если номера сеток где вы сейчас находитесь и домашней совпадают, то туннель работать не будет. Поэтому, чтобы снизить вероятность такого события выберите номер домашней сетки, который не используется в примерах и учебниках. Например 192.168.142.0.

Скоростные показатели.
Поскольку роутер имеет не очень мощный процессор скорость через туннель не превышает в моем случае 15 Mbps. Процессор при этом загружен полностью.


Напочитать для знаний:
PPTP Client. Routing HOWTO

среда, 25 января 2012 г.

Не монтируется CD-RW в Ubuntu

У меня бывали случаи, что некоторые CD-RW диски переставали монтироваться. Происходило это либо после ошибки записи, либо еще по какой причине. Я обычно не разбирался долго, а просто выбрасывал такую болванку и брал новую.

На самом деле CD-RW, который не монтируется можно попытаться восстановить. Для этого нужно восстановить на нем файловую структуру.

В два приема:
  1. Определим куда подключено устройство: $ cdrecord -scanbus scsibus6: 6,0,0 600) 'TSSTcorp' 'CDDVDW SN-S082N ' 'LA00' Removable CD-ROM 6,1,0 601) * 6,2,0 602) * 6,3,0 603) * 6,4,0 604) * 6,5,0 605) * 6,6,0 606) * 6,7,0 607) *
  2. Затем даем команду стирания CD-RW. В качестве параметра dev подставляем адрес 6,0,0 , который определился выше. $ sudo cdrecord blank=all -force dev=6,0,0 И примерно через 8-16 минут (В зависимости от максимальной скорости привода) получаем сообщение от системы, что диск смонтирован
Теперь можно на него записывать иcкоробочной программой Brothero.


Полезные ссылки:

понедельник, 31 января 2011 г.

Как изменить размер обложки диска из Nautilus

При редактировании коллекции музыки с помощью EasyTAG рутинная операция по конвертации изображения обложки достает неимоверно.

Приходится либо запускать графический редактор, либо писать каждый раз команду изменения размера, потом снова переключаться в EasyTAG чтобы включить картинку в звуковой файл

Но нет ничего проще прикрутить команду конвертации изображения на правую клавишу мыши в наутилусе. Для этого создаем файл ~/.gnome2/nautilus-scripts/Multimedia/convert_to_cover_mp3
#!/bin/bash

while [ $# -gt 0 ]; do
 picture=$1
 cover_file="Cover.jpg"
 /usr/bin/convert -resize 500x500! "$picture" "$cover_file"
 shift
done
И даем ему права на исполнение: $ chmod +x ~/.gnome2/nautilus-scripts/Multimedia/convert_to_cover_mp3
Чтобы изменить размер картинки теперь нужно просто на файле кликнуть правую клавишу мыши и выбрать написанный нами скрипт.



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

HDX BD-1. Как надежно записать данные на USB flash

Если Вы пользуетесь USB flash для переноса файлов из HDX BD-1, прежде чем вытаскивать флешку из разъема нужно завершить запись и заставить систему сбросить все буферы. Для этого достаточно дать команду: sh-3.00# mount -o remount /dev/sdb

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

HDX BD-1. Как сделать дистрибутив ipkg

Что такое формат .ipk?


Файлы в формате .ipk являются архивами tar, сжатыми gzip (.tar.gz), которые содержат три части:
  • ./data.tar.gz: содержит собственно сами файлы, составляющие пакет. При установке эта часть распаковывается в корневой каталог /. То есть, имена файлов и каталогов, входящие в этот архив, должны начинаться с ./usr или ./opt.

  • ./control.tar.gz: содержит метаданные и скрипты пакета. Он должен содержать файл с названием control. Также он может содержать следующие файлы: conffiles, preinst, postinst, prerm, postrm. Кроме этого, в него могут входить другие файлы и каталоги, нужные для установки, но это не будет особо полезным в настоящее время. См. секцию 3 “Скрипты Ipk”.

  • ./debian-binary: в настоящее время игнорируется ipkg. Это должен быть текстовый файл, содержащий единственную строку: “2.0”

Сборка ipk


Ниже приведен пример как собрать пакет с названием foobar, который помещает файл myprog в каталог /opt/bin на HDX BD-1. Вам понадобится скрипт ipkg-build.sh.

  1. Создайте структуру каталогов и файлов, как они должны быть расположены в системе. Для нашего примера мы создадим каталог foobar, который будет считаться корневым. С точки зрения ipk любой файл внутри foobar будет в /, таким образом, /foobar/opt/bin/myprog будет установлен в /opt/bin/myprog на HDX BD-1.
    /foobar/opt/bin/myprog

  2. На верхнем уровне иерархии создайте каталог с именем CONTROL.
    /foobar/opt/bin/myprog
    /foobar/CONTROL/

  3. Внутри каталога CONTROL создайте файл под названием control, в который запишите необходимые данные в формате “Поле: значение”. В файле должны присутствовать следующие поля: Package, Version, Architecture, Maintainer, Section и Description. Опционально можете включить следующие поля: Priority и Depends.
    /foobar/opt/bin/myprog
    /foobar/CONTROL/control
    Вот пример этого файла, который вы можете использовать в качестве шаблона:
     ### Begin CONTROL/control example
     Package: foobar
     Priority: optional
     Section: Misc
     Version: 0.1
     Architecture: mipsel
     Maintainer: Familiar User famuser@foo.org
     Depends: libc6
     Description: foo is the ever-present example program -- it does
    everything foo is not a real package. This is simply an example.
    .
    Значения полей в файле CONTROL/control:
    • Package: название пакета, которое может состоять из строчных символов английского алфавита, цифр и дефиса (т.е. совпадать со следующим регулярным выражением: [[a-z0-9.+-]+)

    • Version: версия, должна содержать по крайней мере одну цифру и совпадать с регулярным выражением [[a-zA-Z0-9.+]*. Версия также может содержать в конце номер ревизии (ревизия должна сообтветствовать регулярному выражению ”-fam![[0-9]\+”. Ревизия должна увеличиваться каждый раз, когда пакет изменяется, а версия – нет (a packaging tweak). Она может сбрасываться (или просто опускаться) каждый раз, когда увеличивается номер версии.

    • Architecture: это поле должно специфицировать архитектуру, под которую собран пакет. Допустимые значения: “arm” и “all”.

    • Maintainer: должно содержать имя и адрес электронной почты ответственного за этот пакет (не обязательно автора самой программы).

    • Description: короткое (до 80 символов) описание программы. Оно также может включать длинное описание на следующих строках (каждая с отступом в один пробел). Пустые строки в длинном описании могут быть заданы как строки, состоящие из одного пробела и точки (т.е. ” .”).

    • Priority: должно быть одно из следующих значений: required, standard, important, optional или extra. Большинство программ должны использовать optional.

    • Section: категория, которой соответствует пакет:
      • Games (игры)
      • Multimedia (графика, видео, аудио, mp3-плеер)
      • Communications (коммуникации, эл. почта и т.п.)
      • Settings (утилиты резервного копирования, программа настройки беспроводной сети, короче, все, что модифицирует саму систему)
      • Utilities (база паролей, калькулятор) - чаще всего небольшие приложения
      • Applications (остальные приложения, не попадающие в другие категории)

      • Не имеют собственной закладки, но нуждаются в категоризации:
        • Console (fdisk, kismit, perl, boa, apache, smb и т.д.)
        • Misc (если невозможно отнести ни к какой другой категории, как например, Zaurus faq)
        Например:
        SeverManager должен быть в секции Settings
        Boa должен быть в секции Console


    • Depends: указывает пакеты, которые должны быть установлены, чтобы данная программа работала. Пакеты должны быть перечислены в одной строке через запятую.

      Некоторые не обязательные, но рекомендованные секции:

    • Installed-Size: указывает примерный размер пакета после установки. Позволит пользователю оценить, сколько свободного места понадобится для установки данного паекта (например, 150KB).
    • Cardinst: Параметр, показывающий возможна ли корректная работа пакета после установки его на внешние карты памяти. Например, пакет, содержащий в себе модули ядра будут корректно работать только при установки в основную напять. Возможные значения: yes, no.
  4. Если пакет имеет конфигурационные файлы, создайте файл CONTROL/conffiles, содержащий список таких файлов с указанием абсолютного пути для каждого (как они будут расположены в системе после установки). Тогда система управления пакетами не будет автоматически перезаписывать эти файлы когда пользователь будет обновлять пакет.

  5. Если требуется запустить скрипт в начале или конце установки, см. секцию 3 “Скрипты Ipk”.

  6. Теперь можно создать новый пакет: $ ipkg-build.sh directory [destination_directory] где
    directory – каталог, который должен быть создан.
    destination_directory является опциональным и если опущен, считается равным текущему каталогу.

    Скрипт ipkg-build.sh производит некоторые проверки целостности и правильности данных в каталоге пакета и должен помочь вам справиться с возможными проблемами.

Скрипты Ipk


Если нужно, пакет может включать скрипты, которые будут вызваны системой управления пакетами. Вызов скрипта возможен непосредственно перед установкой пакета, после установки, перед удалением пакета и после удаления. Эти скрипты называются, соответственно, preinst, postinst, prerm и postrm, и должны располагаться в каталоге CONTROL. Они должны возвращать 0 в случае успешного завершения (ненулевое значение, возвращаемое preinst отменяет установку пакета – иногда это может быть полезным). Поэтому рекомендуется явно вызывать exit 0 в конце пакета, иначе наружу будет передан код возврата последней выполненой команды, а он может быть и не нулевым. Типичный пример - вызыв команды depmod, которая может отработать нормально, но при этом выдать несколько предупреждений.

Эти скрипты не должны полагать, что доступен tty, т.е. они не должны ничего запрашивать у пользователя.

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


Дополнительные скрипты по управлению пакетами


Существует еще один скрипт, “mkipks”, но с ним могут быть проблемы, поэтому его не рекомендуется использовать.

Так же в Cacko feed (репозиторий для Zaurus) есть пакет ipkg-tools, который помимо скритпа ipkg-build содержит в себе другие необходимые инструменты для работы с IPK, такие как ipkg-expand (скрипт, для “разборки” пакета) и ipkg-make-index (генерация индекса для feed).

Данная статья с небольшими правками, учитывающими особенности HDX BD-1, взята отсюда http://oramezo.org/ru/man/ipk-howto.
Оригинал можно найти здесь: http://www.oesf.org/index.php?title=IPKG_Howto

Дополнительную информацию и более детальные объяснения можно найти по адресу http://handhelds.org/moin/moin.cgi/Ipkg

пятница, 15 октября 2010 г.

Midnight Commander v 4.7.4-54 для HDX BD-1.

Эта статья устарела. Для установки используйте ipkg.

Собрал текущую версию Midnight Commander. Архив качать отсюда: mc-4.7.4-bd1.tar.gz
Инструкции по самостоятельной сборке здесь.








Устанавливать так: sh-3.00# mv /opt /opt_org sh-3.00# mkdir -p /HD_Media/hda3/.opt/opt sh-3.00# ln -s /HD_Media/hda3/.opt/opt / sh-3.00# ln -s /HD_Media/hda3/sybhttpd /opt sh-3.00# cd / sh-3.00# tar -xzvf /path-to-archive/mc-4.7.4-bd1.tar.gz sh-3.00# cat >> "/persistfs/senv.sh" <<\EOF > #!/bin/sh > > if [ ! -d /opt_org ] > then > mv /opt /opt_org > ln -s /HD_Media/hda3/.opt/opt / > fi > > export PATH=/opt/bin:$PATH > export LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH > alias mc="mc -c" > EOF sh-3.00# chmod +x /persistfs/senv.sh sh-3.00#
Запускать так: sh-3.00# source /persistfs/senv.sh sh-3.00# mc

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

Midnight Commander для HDX BD-1

Да благословенен Великий Google, с помощью которого я собрал midnight commander для HDX BD-1. Это пока ночная сборка, с отключенными фичами и вообще никакая, но работает. Позже отлакирую. А пока берите, что есть.

Архив и инсталлятор скачивайте по ссылкам:
mc-bd1.tar.gz


Для желающих повторить, углубить и расширить даю ссылку на мои неполные how to: http://antisclerosis.forumup.com/viewtopic.php?t=39&mforum=antisclerosis

Права на файлы проверьте сами. Если что, поменяйте.

Для инсталляции:
  1. скачайте архив
  2. запишите его, например, на флешку
  3. подключите флеш к bd-1
  4. выполните следующие команды
# cd /USB_Media/sdc1 # tar -zxvf mc-bd1.tar.gz # cd mc-bd1 # chmod 777 install-mc.sh # ./install-mc.sh
PS. В зависимости от того, куда вы вставите флешку в первой команде может быть придется использовать путь /USB_Media/sda1 или /USB_Media/sdb1.
Если по какой либо причине (неверные права на файлы) не скопировались линки, то выполните следующие команды:
# cd /usr/lib # ln -s libslang.so.2.2.2 libslang.so.2 # ln -s libgmodule-2.0.so.0.2200.5 libgmodule-2.0.so.0 # ln -s libglib-2.0.so.0.2200.5 libglib-2.0.so.0
В директории /usr/lib должны быть такие файлы:
# ls -la /usr/lib drwxrwxrwx 2 3043 default 0 Dec 31 17:25 . drwxrwxrwx 7 3043 default 0 Dec 31 1999 .. lrwxrwxrwx 1 root root 23 Dec 31 17:25 libglib-2.0.so.0 -> libglib-2.0.so.0.2200.5 -rwxr-xr-x 1 root root 1514509 Dec 31 17:06 libglib-2.0.so.0.2200.5 lrwxrwxrwx 1 root root 26 Dec 31 17:25 libgmodule-2.0.so.0 -> libgmodule-2.0.so.0.2200.5 -rwxr-xr-x 1 root root 18205 Dec 31 17:06 libgmodule-2.0.so.0.2200.5 lrwxrwxrwx 1 root root 17 Dec 31 17:24 libslang.so.2 -> libslang.so.2.2.2 -rwxr-xr-x 1 root root 1427427 Dec 31 17:06 libslang.so.2.2.2 #
После перезагрузки плеера midnight commander будет удален из памяти

среда, 15 сентября 2010 г.

x200s. Восстанавливаем батарею. Часть 2.

Начало: x200s. Восстанавливаем батарею. Часть 1.

Итак, заказанный мной 29 августа комплект элементов 18650 доставлен 10 сентября прямо на почту по указанному мной адресу. Никаких растаможиваний. Обычная посылка. Внутрь вложена бумажка с со словами о качестве от безымянного продавца из Гонк Конга 8-). Будем надеятся, что человек пославший мне батарейки понимает, что в этой бумажке написано.



Элементы аккуратно упакованы попарно в пластиковую термоусадку и обернуты полиэтиленовой упаковкой.

Распаковываем и собираем попарно. Отрицательные ламели спаиваем между собой, а положительные соединяем через резистор с сопротивлением 5-100 ом. Оставляем в таком состоянии элементы на срок не менее 4 часов. За это время потенциалы уравняются и можно будет элементы собирать в батарею.



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

Калибровка.
Операцию выполнял с помощью штатных утилит Power Manager и Battery Maintenance от Lenovo. Вторая программа и осуществляет калибровку в цикле заряд-разряд-заряд.

Во время разрядки происходит измерение емкости батареи и перезапись новых значений во внутреннюю память контроллера. За один цикл калибровки контроллер не изменяет показатели более, чем на 20%. Поэтому, если емкость батареи до замены элементов была 50% от первоначальной, то потребуется 3 - 6 циклов перезарядки.



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

Что я купил на ebay?
Это один из вопросов, ответ на который интересен. Пересчитаем общую емкость всей батареи в емкость одного элемента и посмотрим на сколько меня обманул китайский брат:

№ цикла Ёмкость
батареи, Wh
Ёмкость
Элемента, mAh
1 27,49 1270
2 32,91 1520
3 39,42 1830
4 47,25 2190
5 51,66 2390
6 51,86 2400

Под видом элементов 3800 mAh вороватые китайцы мне втюхали элементы на 2400 mAh. Даже с такими цифрами считаю результат положительным.

Выводы
  1. Восстановить батарею в домашних условиях вполне по силам.
  2. Козьма Прутков рулит. Если на батарейке написано самая крутая, а продает ее бомж Вася... в общем вы поняли.

Полезные ссылки

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

Как разархивировать .ipk

Для встраеваемых устройств для упаковки дистрибутивов используется формат ipk.

Иногда бывает нужно на компьютере посмотреть что находится в дистрибутиве.

Я использую для этого скрипт, написанный Frantisek Dufka.

#!/bin/sh
if [ $# = 0 ] ; then
         echo "usage: $0 [-x] file.ipk"
         echo " Lists files inside ipk package"
         echo "options:"
         echo " -x extracts files"
         exit 0
fi
if [ "$1" = "-x" ] ; then
         topt=xv
         shift
else
         topt=t
fi
if [ "$1" = "" ] ; then
         echo $0: File name missing.
exit 0
else
         if [ -f $1 ] ; then
                 tar zxOf $1 ./data.tar.gz | tar z${topt}
                 ar -xp $1 data.tar.gz | tar z${topt}
         else
                 echo $0: File $1 not found.
         fi
fi 

Скрипт сохранить в /usr/bin под именем exipk и дать ему права на исполнение:
$ sudo chmod +x /usr/bin/exipk

Использовать так:
$ exipk usage: exipk [-x] file.ipk Lists files inside ipk package options: -x extracts files

понедельник, 29 марта 2010 г.

Tar - команды разархивации

Все время забываю какие опции набирать в команде разархивации tar

.tgz или .tar.gz - tar xvzf file-1.0.tar.gz
.tbz или .tar.bz2 - tar xvjf file-1.0.tar.bz2
.tar - tar xvf file-1.0.tar

Что значат эти буквы?
  • x = eXtract, разарХивировать
  • v = verbose (опционально) будет показывать полный путь для каждого разархивируемого файла
  • z = gzip-ped;
  • j = bzip2-zipped
  • f = from/to file ... (за этой буквой через пробел пишется имя архива)

четверг, 11 февраля 2010 г.

Как добавить новый раздел диска в Ubuntu 9.10

Изначально диск на x200s был разбит следующим образом:



Recovery partition - фишка от IBM для восстановления системы.

На разделе диска (/dev/sda5), куда я установил Ubuntu 9.10 заканчивается место.

К счастью на диске есть один незадействованный раздел (/dev/sda8) размером 83 Gib. Я смонтирую его в каталог /home и перенесу на него данные пользователя.

Пользователь (User): akhromov входит в группу (Group): akhromov.

Итак:

  1. Отформатировать /dev/sda8

    $ sudo mkfs -c -t ext4 /dev/sda8
  2. Скопировать данные на новую партицию

    $ sudo mkdir /mnt/tmp $ sudo mount /dev/sda8 /mnt/tmp $ sudo mkdir /mnt/tmp/akhromov $ sudo chown akhromov:akhromov /mnt/tmp/akhromov $ cp -r /home/akhromov/.* /mnt/tmp/akhromov $ sudo umount /dev/sda8 $ sudo mv /home/akhromov /mnt/tmp
  3. Отредактировать /etc/fstab
    Для этого запустить редактор

    $ sudo nano /etc/fstab
    и добавить в fstab следующие строчки:

    # Монтирование каталога /home
    /dev/sda8 /home ext4 defaults 1 2

  4. Перезагрузиться
    Если при старте Gnome появляется сообщение типа
    could not update ICEauthority file /home/tip/.ICEauthority
    то нужно поправить права доступа к корневому каталогу пользователя:
    $ chown akhromov:akhromov /home/akhromov
  5. Удалить старые данные
    Если все работает нормально, то через пару дней можно удалить старый home, сохраненный в каталоге /mnt/tmp:

    $ cd /mnt $ sudo rm -r tmp

Если нет подходящей темы, открывайте новую.

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

ReadyNAS Duo. How to compile Midnight Commader 4.7.0.1

Хочу сказать спасибо разработчикам mc из конференции mc-dev@conference.jabber.ru
il.smind, slavazanko, andrew_b, repolainen за терпение и позитивный настрой.
Без их помощи я потратил бы, наверняка, значительно больше времени с неизвестным результатом.

В репозитории ReadyNas Duo есть сбранный midnight commander. И проще всего установить именно из репозитериев. Но в нем отсутствует поддержка utf-8, что затрудняет работу с файлами в русской кодировке. Поэтому я решил собрать из исходников последнюю версию.

Итак.
  1. Должны быть установлены add-on: EnableRootSSH_1.0.bin, APT_1.0.bin

  2. Установить компилятор

    # apt-get update # apt-get install libc6-dev gcc gdb libtag1-dev uuid-dev pkg-config gettext bzip2

  3. Полезно установить какой нибудь редактор. Например nano
    # apt-get install nano

  4. Компилировать все пакеты будем в директории staff. В моем случае полный путь к staff будет /homes/akhromov/staff.

    # cd /homes/akhromov # mkdir staff # cd staff

  5. Установить checkinstall (чтобы было можно создавать установочные пакеты)

    # wget http://asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz # tar xvfz checkinstall-1.6.2.tar.gz # cd checkinstall-1.6.2 # make # make install # checkinstall ... ... The package documentation directory ./doc-pak does not exist. Should I create a default set of package docs? [y]: n ... Please choose the packaging method you want to use. Slackware [S], RPM [R] or Debian [D]? D ... This package will be built according to these values: 0 - Maintainer: [ root@rnd ] 1 - Summary: [ CheckInstall installations tracker, version 1.6.2 ] 2 - Name: [ checkinstall ] 3 - Version: [ 1.6.2 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ sparc ] 8 - Source location: [ checkinstall-1.6.2 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ ] 12 - Conflicts: [ ] 13 - Replaces: [ ] ... ... # dpkg -i checkinstall_1.6.2-1_sparc.deb # cd ..

    Курсивом показаны вопросы, которые задает checknstall. Жирным - ответы. Аналогично ответить нужно будет и дальше при создании дистрибутивов slang, glib и mc.

  6. Компиляция glib-2.14.6 (~20 минут)

    # wget http://ftp.gnome.org/pub/gnome/sources/glib/2.14/glib-2.14.6.tar.bz2 # tar xjf glib-2.14.6.tar.bz2 # cd glib-2.14.6 # ./configure --build='sparc-linux' # make # chechinstall # dpkg -i glib_2.14.6-1_sparc.deb # cd ..


  7. Компилируем slang-2.2 (~15 минут)

    # wget ftp://space.mit.edu/pub/davis/slang/v2.2/slang-2.2.0.tar.bz2 # tar xjf slang-2.2.0.tar.bz2

    В модуле slang-2.2.0/modules/fork-module.c (line 273) добавить
    #ifndef WCONTINUED
    #  define WCONTINUED 0                /* not available on ReadyNas Duo */
    #endif
    
    # cd slang-2.2.0 # ./configure --build='sparc-linux' # make # checkinstall # dpkg -i slang_2.2.0-1_sparc.deb # cd ..


  8. компилируем mc (~ 20 минут)

    # wget http://www.midnight-commander.org/downloads/22 -O mc-4.7.0.1.tar.bz2 # tar xjf mc-4.7.0.1.tar.bz2 # cd mc-4.7.0.1 # ./configure --disable-vfs --build='sparc-linux' # make # checkinstall # dpkg -i mc_4.7.0.1-1_sparc.deb


Ну и вот что из этого получилось:



Кому лениво все это проделывать, тот может установить из собранных мной пакетов # cd /tmp # wget http://www.opendrive.com/files/8633064_sal1L_8351/glib_2.16.6-1_sparc.deb # wget http://www.opendrive.com/files/8633061_FyV1y_b1e9/slang_2.2.0-1_sparc.deb # wget http://www.opendrive.com/files/8633065_WMLjj_84b1/mc_4.7.4-1_sparc.deb # dpkg -i glib_2.16.6-1_sparc.deb slang_2.2.0-1_sparc.deb mc_4.7.4-1_sparc.deb

Подводные камни.

Я нарвался на такой фокус. Установил из репозитория предыдущую версию mc и старый glib. Компилируя новый glib, старый я не удалал. Из-за этого в библиотеках получалась мешанина и линкер не мог правильно собрать mc.


Если нет подходящей темы, открывайте новую.

суббота, 26 декабря 2009 г.

Как сохранить видео из YouTube

В старых версиях firefox флэш видео сохранялось в каталоге /tmp и было доступно для простого копирования. Но начиная с версии firefox с 3.6 до 9 c adobe flash player 11.1.102.55 файл видео помечается как удаленный.

Чтобы сохранить его я пользуюсь вот этим скриптом для nautilus:

#!/bin/bash

############################################################################
# File: cp-ffox-video.sh
# Description: script for copy flash video from firefox to current directory
#
# Copyleft http://axa-ru.blogspot.com/2009/12/how-to-save-video-from-youtube.html

lsof | grep Flash | while read psLine 
do 
  PID=$(echo $psLine | awk '{print $2}')
  FD=$(echo $psLine | awk '{print $4}' | tr -d 'u')
  FILE=$(echo $psLine | awk '{print $9}' | tr -d '/tmp/')
  cp /proc/$PID/fd/$FD $FILE.flv
done

exit 0

Скрипт нужно сохранить в каталоге ~/.gnome2/nautilus-scripts под именем cp-ffox-video.sh

Как им пользоваться:
  1. Посмотреть видео.
  2. Свернуть (но не закрывать) firefox.
  3. Открыть в nautilus папку куда мы желаем сохранить видео.
    Нажимаем правую клавишу мыши и выбираем скрипт cp-ffox-video.sh




Полезные ссылки:


Upd. 09.05.2011
Upd. 30.10.2011 - Изменил скрипт для совместимости с Firefox 7.0.1 и adobe flash player 11.0.1.152
Upd. 03.11.2011 - Проверил на совместимость с Firefox 8.0
Upd. 22.11.2012 - Проверил на совместимость с Firefox 16.0.1 и Shockwave Flash 11.2 r202.

четверг, 17 декабря 2009 г.

Как сохранить на диск фотографии из photofile.name, picasa, flickr за два клика

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

Кликать мышкой на каждой из пары сотен? Это не наш метод.

Прошерстил я гугл и нашел, что был плагин к Total Commander, выполняющий такую операцию. Но оказалось, что автор год назад прекратил его поддержку и заботливо поудалял все исходники и архивы с ним.

Не знаю уж что с ним делали: били-ли, паяльником паяли-ли или бабла заплатили. Но факт налицо.

Я таки нашел этот плагин в польских закоулках, поковырялся с ним минут 10 и написал небольшой скрипт на bash, с похожей функциональностью.

Вот он:
Для http://photofile.name
#!/bin/sh
# gpf.sh - simple script for save photo from http://photofile.name
wget $1all -O- | grep '#mainImageLink' | sed -e 's/<img src=.*//' -e 's/\/#mainImageLink">/.jpg/' -e 's/^ *//' | awk -F/ '{printf "http://%s.%s.photofile.ru/photo/%s/%s/%s\n", $3,  $2, $3, $4, $5 }' | wget -i-

Сохраняем скрипт на диск в каталог куда будим фотки даунлоадить. Даем ему права на исполнение.

chmod 755 gpf.sh

Как им пользоваться? Проще простого:

  1. Открываем phtotfile.ru на нужном нам альбоме





  2. Копируем в буфер обмена URL.
  3. В терминале вводим команду :
    ./gpf.sh <URL>

    В данном примере:
    ./gpf.sh http://photofile.name/users/axa_ru/3218616/

  4. Все. Фотографии скачиваются в текущий каталог.
    Пьем пиво.
Скрипт позволяет копировать фотки из любых открытых альбомов в свойствах которых не установлена отметка "Защита оригиналов фотографий"

Пытливые и любознательные могут упростить/усложнить скрипт для скачивания фоток из закрытых альбомов и/или других ресурсов.

Вот аналогичный скрипт для http://picasaweb.google.com(ru)

#!/bin/sh
# gpcs.sh - simple script for save photo from http://picasaweb.google.com(ru)
wget $1 -O- | grep '<div><img src="' | sed -e :a -e 's/<\/div>/\x0A/' -e 's/<div><img src=\"//' -e ta | sed -e 's/".*//' -e 's/s160\///' | wget -i-

Для http://www.flickr.com

Есть отдельное комьюнити посвященное управлению фотографиями для http://code.flickr.com/

Flickr - наверное один из самых навороченных сервисов, по хранению фотоконтента. Его парадигма близка к идеологии мака. Нет папок, есть сеты и теги.

Под сетом обычно подразумевается коллекция фотографий, объединенная по какому либо признаку, по времени, месту или жанру.


#!/bin/sh
# gflk.sh - simple script for save photo from http://www.flickr.com/photos
wget $1 -O- | grep 'title=' | grep 'photo_container pc_m' | sed -e 's/.*http/http/' -e 's/m.jpg.*/b_d.jpg/' | wget -i-

Скрипт скачивает 18 фотографий за раз (столько выдает flickr на одну страницу)

Скачивание аналогично, как и для photofile.name.



PS.
  • Скрипты написаны в стиле unix, но легко могут быть переделаны для WinDos.

  • Никаких гарантий ни за что не несу.
    Если кто спросит где все файлы - отмазка "сбой произошел"
    Если придет управление "К" - бегите в M$. Там помогут.

  • Не понимаю, нахрен было городить какой то плагин к total commader?


Вот похожая тема на форуме про Asus WL500gP: http://wl500g.info/showthread.php?t=19035&highlight=midnight+commander
Если нет подходящей темы, открывайте новую.

четверг, 10 декабря 2009 г.

UNetBootIn - Хватит прожигать диски


Нашел вот очень простую и необычайно полезную утилиту создания загрузочных флешек.

Не знаю как Вы, но я напрожигал уймы дисков с "последней версией" чего нибудь.


Собственно говоря и раньше существовала возможность создавать загрузочные флешки, но как то лень было искать заветные командные строки.


UNetBootIn может грузить образ из интернета, из файла на диске

В общем лучше посмотреть на скриншоты и установить программу.

Если нет подходящей темы, открывайте новую.

четверг, 10 сентября 2009 г.

x200s. HowTo

Как включить trackpoint scroll в Ubuntu 8.10,9.04 и 9.10

http://psung.blogspot.com/2008/09/scrolling-with-thinkpads-trackpoint-in.html

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

screen на HDX 1000

Зачастую бывает необходимо выполнить на HDX 1000 какие либо продолжительные неинтерактивные действия. Например скопировать группу файлов с NAS на HDX 1000.

Учитывая, что средний видеофайл имеет объем около 1 gb, то понятно, что это продолжительная операция. Выполняются такие действия из под терминала с помощью команд unix (ср, mv и т.п.) или midnight comander.

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

Но есть замечательная программа screen. Добрые люди уже скомпилили ее для networked media tank. Взять ее можно отсюда http://holyhead.de/PCH/screen-4.0.3/screen

Помещаем бинарный файл в /share/.usr/bin.
Перед запуском screen проверьте, что установлена переменная окружения TERM=xterm

Запуск midnight comander:

>TERM=xterm
>screen mc


Таперь можно запустить копирование файлов и выключить компьютер.

Чтобы подключиться к работающей сессии выполните:

>TERM=xterm
>screen -r


ЗЫ: screen откомпилирован, видимо, не очень умело и иногда выдает ошибку segmentation fault. Вероятно, товарищ, выполнявший компиляцию использовал toolchain не собранный самостоятельно, а скомпилированный на другом окружении. Но на результат в целом это не влияет. screen работает.