You are viewing [info]maxim_norin's journal


Установив на Toshiba AC100 Ubuntu и свой любимый IceWM я обнаружил, что яркость матрицы всегда одна и та же, причем максимальная. А это не только потребляет больше энергии и сокращает таким образом время работы от батареи, но и напрягает глаза при длительной работе.
В результате был написан небольшой скрипт, который позволяет изменять яркость монитора из командной строки.
brightness:
#!/bin/bash
#
# Notebook/Laptop/Netbook/other devices with LCD screens probably
# LCD brightness script
# License: GNU GPLv2
# Checked on kernel 3.0
#
DEVICES_BASE="/sys/class/backlight"
DEVICES_LIST=`ls /sys/class/backlight/`
for DEVICE in $DEVICES_LIST
do
  MAX_BRIGHTNESS=`cat $DEVICES_BASE/$DEVICE/max_brightness`
  case $1 in
  restore)
    sudo chmod a+w $DEVICES_BASE/$DEVICE/brightness
    cat /etc/brightness.conf > $DEVICES_BASE/$DEVICE/brightness
    echo
    echo Brightness is restored to `cat $DEVICES_BASE/$DEVICE/brightness`
    echo
  ;;
  show)
    echo
    echo Device: $DEVICE
    echo Maximum brightness: $MAX_BRIGHTNESS
    echo Brightness is set to `cat $DEVICES_BASE/$DEVICE/brightness`
    echo
  ;;
  *)
    CORRECT_VALUE="0"
    for (( j=1; j<$MAX_BRIGHTNESS; j++ ))
      do
        if [ "$1" == "$j" ];
          then
          CORRECT_VALUE="1"
          exit
        fi
      done
    if [ "$CORRECT_VALUE" == "1"  ];
      then
        sudo chmod a+w $DEVICES_BASE/$DEVICE/brightness
        echo $1 > $DEVICES_BASE/$DEVICE/brightness
        echo $1 > /etc/brightness.conf
        echo
        echo Brightness is set to $1
        echo
      else
        echo
        echo Usage: brightness \[INTEGER\|show\|restore\]
        echo INTEGER is integer value acceptable as device brightness. It must be between 1 and maximum for your device
        echo To get maximum values use \"brightness show\"
        echo
    fi
  ;;
  esac
done

Домашний медиа-сервер


У многих дома есть хранилище всякой медиа-информации - видео, музыки, фотографий. Но просмотривать это все не всегда удобно. В то же время существуют телевизоры, например, которые имеют функцию работы со спецификацией DLNA. И их можно как раз для этого и использовать.

Для создания домашнего медиа-сервера я использовал программу MediaTomb. Это далеко не единственный медиа-сервер, однако у меня более-менее корректно из коробки заработал только он. В совокупности с удобным веб-интерфейсом и возможность изменять функционал при помощи скриптов, я пока не нашел чего-то такого же гибкого и с таким же функционалом.

Можно собирать из исходников, а можно поставить из репозиториев. В Дебиане, например, это делается командой
apt-get install mediatomb-daemon

После установки необходимо кое-что изменить в настройках.
<ui enabled="yes" show-tooltips="yes">
<account enabled="yes" session-timeout="30">

В секции <server> </server> включаем веб-интерфейс:

Заходим в браузере по адресу http://your-server-ip:41592 и наблюдаем веб-интерфейс, через который можно добавлять фильмы, музыку, фотографии для просмотра.

Первое, с чем возникла трудность - это повторение фильмов в списке, отображаемом в Windows Media Center и WMP 12. Каждый фильм отображался три раза. Это известная проблема, и что работает некорректно - MediaTomb или WMC - неоднозначный вопрос. Однако проблема решаема.

1) Добавляем в файл /etc/mediatomb/config.xml следующие строчки:
В секцию <server ...> </server> :
<pc-directory upnp-hide="yes">

2) Меняем строчку
<virtual-layout type="builtin">
на строчку
<virtual-layout type="js">

3) В файле /usr/share/mediatomb/js/import.js приводим функцию addVideo(obj) к следующему виду:
function addVideo(obj)
{
var chain = new Array('Video', 'All Video');
addCdsObject(obj, createContainerChain(chain));

/*
var last_path = getLastPath(obj.location);
if (last_path)
{
chain = new Array('Video', 'Directories', last_path);
addCdsObject(obj, createContainerChain(chain));
}
*/
}


4) Останавливаем сервис:
/etc/init.d/mediatomb stop
5) Удаляем файл /var/lib/mediatomb/mediatomb.db
6) Запускаем сервис:
/etc/init.d/mediatomb start

Затем еще раз добавляем все папки через веб-интерфейс
После этих манипуляций количество каждого фильма в списке равно не больше реального.

Это не всё, что нужно поправить. Еще надо включит генерацию картинок для видеофайлов и транскодинг формата flv и иже с ним.

Изменяем файл /etc/mediatomb/config.xml
Меняем строчку
<ffmpegthumbnailer enabled="no">
на
<ffmpegthumbnailer enabled="yes">

Для транскодинга меняем
<transcoding enable="no">
на
<transcoding enable="yes">


Программы, которые можно использовать совместно с сервером DLNA:
1) Windows Media Center (Windows 7)
2) Windows Media Player 12 (Windows 7)
3) XBMC (Windows XP/7, MacOS X, Linux)
4) UPnPlay (Android)

Тропические миксы


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

Иногда требуется проверить, существует ли файл на диске.
Практически для всего в системах на базе Linux есть более одного решения.
Как можно проверить, существует ли файл?

Способ 1:
Когда надо проверить наличие файла и использовать результат проверки неоднократно:
---------------------------------------------------------------------------
FILE_EXIST=`ls -al | grep <filename>`
if [ "$FILE_EXIST" == "" ]
  then
    echo File doesn't exist!
  else
    echo File Exists!
fi

# Do something ...

if [ $FILE_EXIST == "" ]
  then
    echo File doesn't exist!
fi
---------------------------------------------------------------------------

Способ 2:
Когда надо просто проверить, существует ли файл:
---------------------------------------------------------------------------
if [ -e <filename> ]
  then
    echo File exists!
fi
---------------------------------------------------------------------------

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

Ценности


30-секундная речь Брайана Дайсона - бывшего CEО Coca-Cola:

Представьте себе, что жизнь - это игра, построенная на жонглировании пятью шариками.
Эти шарики - Работа, Семья, Здоровье, Друзья и Душа, и вам необходимо, чтобы все они постоянно находились в воздухе.
Вскоре вы поймёте, что шарик Работа сделан из резины - если вы его невзначай уроните, он подпрыгнет и вернётся обратно.
Но остальные четыре шарика - Семья, Здоровье, Друзья и Душа - стеклянные. И если вы уроните один из них, он будет непоправимо испорчен, надколот, поцарапан, серьёзно поврежден или даже полностью разбит. Он никогда не будет таким, как раньше. Вы должны осознавать это и стараться, чтобы этого не случилось.

Работайте максимально эффективно в рабочее время и уходите домой вовремя.
Посвящайте необходимое время своей семье, друзьям и полноценному отдыху.

Ценность ценна только если её ценят.

Дано:
Linux 2.6.32-5-686
vpn client не собирается

# ./vpn_install
Cisco Systems VPN Client Version 4.8.02 (0030) Linux Installer
Copyright (C) 1998-2006 Cisco Systems, Inc. All Rights Reserved.

By installing this product you agree that you have read the
license.txt file (The VPN Client license) and will comply with
its terms.


Directory where binaries will be installed [/usr/local/bin]

Automatically start the VPN service at boot time [yes]

In order to build the VPN kernel module, you must have the
kernel headers for the version of the kernel you are running.


Directory containing linux kernel source code [/lib/modules/2.6.32-5-686/build]

* Binaries will be installed in "/usr/local/bin".
* Modules will be installed in "/lib/modules/2.6.32-5-686/CiscoVPN".
* The VPN service will be started AUTOMATICALLY at boot time.
* Kernel source from "/lib/modules/2.6.32-5-686/build" will be used to build the module.

Is the above correct [y]

Making module
make -C /lib/modules/2.6.32-5-686/build SUBDIRS=/usr/src/vpnclient modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-5-686'
  CC [M]  /usr/src/vpnclient/linuxcniapi.o
  CC [M]  /usr/src/vpnclient/frag.o
  CC [M]  /usr/src/vpnclient/IPSecDrvOS_linux.o
  CC [M]  /usr/src/vpnclient/interceptor.o
/usr/src/vpnclient/interceptor.c: In function ‘interceptor_init’:
/usr/src/vpnclient/interceptor.c:132: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/usr/src/vpnclient/interceptor.c:133: error: ‘struct net_device’ has no member named ‘get_stats’
/usr/src/vpnclient/interceptor.c:134: error: ‘struct net_device’ has no member named ‘do_ioctl’
/usr/src/vpnclient/interceptor.c: In function ‘add_netdev’:
/usr/src/vpnclient/interceptor.c:271: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/usr/src/vpnclient/interceptor.c:272: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/usr/src/vpnclient/interceptor.c: In function ‘remove_netdev’:
/usr/src/vpnclient/interceptor.c:294: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
make[4]: *** [/usr/src/vpnclient/interceptor.o] Ошибка 1
make[3]: *** [_module_/usr/src/vpnclient] Ошибка 2
make[2]: *** [sub-make] Ошибка 2
make[1]: *** [all] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-5-686'
make: *** [default] Ошибка 2
Failed to make module "cisco_ipsec.ko".

Вот такая вот незадача.

Решилось применением патча отсюда: http://www.lamnk.com/download/fixes.patch

wget http://www.lamnk.com/download/fixes.patch
patch < ./fixes.patch
sudo ./vpn_install

Результат:

# ./vpn_install
Cisco Systems VPN Client Version 4.8.02 (0030) Linux Installer
Copyright (C) 1998-2006 Cisco Systems, Inc. All Rights Reserved.

By installing this product you agree that you have read the
license.txt file (The VPN Client license) and will comply with
its terms.


Directory where binaries will be installed [/usr/local/bin]

Automatically start the VPN service at boot time [yes]

In order to build the VPN kernel module, you must have the
kernel headers for the version of the kernel you are running.


Directory containing linux kernel source code [/lib/modules/2.6.32-5-686/build]

* Binaries will be installed in "/usr/local/bin".
* Modules will be installed in "/lib/modules/2.6.32-5-686/CiscoVPN".
* The VPN service will be started AUTOMATICALLY at boot time.
* Kernel source from "/lib/modules/2.6.32-5-686/build" will be used to build the module.

Is the above correct [y]

Making module
make -C /lib/modules/2.6.32-5-686/build SUBDIRS=/usr/src/vpnclient modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-5-686'
  CC [M]  /usr/src/vpnclient/linuxcniapi.o
  CC [M]  /usr/src/vpnclient/frag.o
  CC [M]  /usr/src/vpnclient/IPSecDrvOS_linux.o
  CC [M]  /usr/src/vpnclient/interceptor.o
  CC [M]  /usr/src/vpnclient/linuxkernelapi.o
  LD [M]  /usr/src/vpnclient/cisco_ipsec.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /usr/src/vpnclient/cisco_ipsec.mod.o
  LD [M]  /usr/src/vpnclient/cisco_ipsec.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-5-686'
Create module directory "/lib/modules/2.6.32-5-686/CiscoVPN".
Copying module to directory "/lib/modules/2.6.32-5-686/CiscoVPN".
Already have group 'bin'

Creating start/stop script "/etc/init.d/vpnclient_init".
    /etc/init.d/vpnclient_init
Enabling start/stop script for run level 3,4 and 5.
Creating global config /etc/opt/cisco-vpnclient

Installing license.txt (VPN Client license) in "/opt/cisco-vpnclient/":
    /opt/cisco-vpnclient/license.txt

Installing bundled user profiles in "/etc/opt/cisco-vpnclient/Profiles/":
* New Profiles     : Netz_Uni_Hannover_Internet Netz_Uni_Hannover_WLAN sample

Copying binaries to directory "/opt/cisco-vpnclient/bin".
Adding symlinks to "/usr/local/bin".
    /opt/cisco-vpnclient/bin/vpnclient
    /opt/cisco-vpnclient/bin/cisco_cert_mgr
    /opt/cisco-vpnclient/bin/ipseclog
Copying setuid binaries to directory "/opt/cisco-vpnclient/bin".
    /opt/cisco-vpnclient/bin/cvpnd
Copying libraries to directory "/opt/cisco-vpnclient/lib".
    /opt/cisco-vpnclient/lib/libvpnapi.so
Copying header files to directory "/opt/cisco-vpnclient/include".
    /opt/cisco-vpnclient/include/vpnapi.h

Setting permissions.
    /opt/cisco-vpnclient/bin/cvpnd (setuid root)
    /opt/cisco-vpnclient (group bin readable)
    /etc/opt/cisco-vpnclient (group bin readable)
    /etc/opt/cisco-vpnclient/Profiles (group bin readable)
    /etc/opt/cisco-vpnclient/Certificates (group bin readable)
* You may wish to change these permissions to restrict access to root.
* You must run "/etc/init.d/vpnclient_init start" before using the client.
* This script will be run AUTOMATICALLY every time you reboot your computer.

ТАДА!!!

Проблема X-Forward на OpenSUSE 11.3


Возникла проблема запуска x-приложений после соединения по SSH.
Решилось следующим образом:

1) В /etc/sysconfig/sshd изменить строчку
SSHD_OPTS="" на SSHD_OPTS="-4"
2) /etc/init.d/sshd restart
3) Перелогиниться (ssh user@host -X)

Прага. День 10.


С утра встали попозже, позавтракали, пошли немного пошопиться, самую малость, купили сувениры и заказанное кое-кем пиво.

На рынке свежие и красивые овощи и фрукты по низким ценам.







 

Зашли по пути в супермаркет Albert. Восторг полный. Свежие овощи и фрукты очень даже прилично выглядят, и по тем же низким ценам. Супермаркет двухэтажный, есть практически всё в огромном ассортименте. По таким ценам такого качества фрукты и овощи можно круглый год есть. Рыдай на коленях, Омск. Такое тебе и не снилось. Прекрасно помню огурцы по 230 рублей прошлой зимой. Их даже кот есть не стал, хотя он большой любитель этого дела.




Пошли подышать воздухом, зашли в Жижков.












Пока стояли смотрели карту, подошла какая-то девушка и на русском без акцента спросила, помочь ли нам. Мы согласились, что надо бы, и спросили, в какую сторону нам идти. Она показала, и мы пошли. И пришли-таки в центр.





Посмотрели еще один район за пределами центра.

Кошку видели только вчера в Праге второй раз.

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

Бродячих животных нет.



Эротические кабины есть.

Ну, и поужинали опять там же. Оставили напоследок ну очень хорошие чаевые.





Прага. День 9.


Пошли на метро, по дороге зашли в Палладиум, попробовали мороженое. Реально вкуснее и дешевле, чем вчерашнее.

Поехали на окраины посмотреть город. Доехали до остановки Kolbenova. Это 4-ая от конца желтой ветки остановка. Жесть какая-то - складские помещения, офисы и так далее. Безжизненно, грязно и несимпатично, мусор валяется. Омск вспомнил сразу.









Вернулись на одну остановку в сторону центра, вышли на Высочанской, район Прага-9 – окрестности посимпатичнее, мусора чуть меньше, дома более современные, чем в центре, старые дома выкрашены. Асфальт при этом, что интересно, приличный. Чем дальше от центра, тем больше людей в пуховиках и джинсах, ближе к центру больше в пальто и брюках.











Съездили в ресторан U Zpevacku, съели печеное свиное колено. Здесь лучше. Неплохо, но не так, как некоторые рассказывают. Вкусно, да, но не восторг все-таки.

Прага. День 8.


На завтрак пришли поздно, людей было мало, а еды наоборот много. Видимо, съехали все.

С утра ходили кормить лебедей с рук.



Занимательно и забавное занятие. Встретили там на месте англоговорящих мужика и тетку. Дали им хлеба покормить лебедей. Им, похоже, тоже понравилось

Потом пошли на экскурсию в Кутну Гору через Premiant City Tour. Пока ждали начала экскурсии, пошопились. Перед шопингом купили томатный сок. Не очень он тут, да и редкость.
По дороге в Кутну Гору видели много офисов с известными названиями.







Кутна Гора – это небольшой, некогда шахтерский, городок, где люди занимались добычей серебра и заодно чеканили деньги. Шахты там достигали глубины 500 метров, что являлось абсолютным мировым рекордом по глубине шахт. Там же находится костница. Храм, в котором собраны кости примерно 40000 человек. Из этих костей сделаны герб рода, владевшего некогда этими территориями, и люстра. А также украшения помещения храма. Изначально там был шахтерский городок, потом некоторый паломник в Святую Землю привез горсть земли из Святой Земли и рассыпал ее по местному кладбищу. Желающих быть похороненными в святой земле было хоть отбавляй. А там и чумной мор подошел. И 30000 населения как не бывало. И всех закопали. А потом посмотрели – а как-то многовато кладбище занимает. Кого опознали – перезахоронили, кого не опознали – помыли и в храме сложили в четыре пирамиды. И некий род нанял чувачка, который достал некоторое количество костей из пирамид, сделал люстры, герб, украшения и прочую хрень.

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















После костницы поехали в храм Святой Варвары. Классическая готика с элементами барокко. Мощно, красиво, как и в других готических храмах, ощущение величия. Давали текст на русском объемом А4 с двух сторон вместо рассказа.

 









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









Вариантов озвучки экскурсии было два – чешский и английский. Бабушку-экскурсовода по имени Анна почему-то удивило, что английский мы понимаем лучше, чем чешский.

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









После этого мы пошли в пиццерию, выпили чая-кофе и поехали обратно в город.

Экскурсовод и водитель всю дорогу туда и обратно (полтора часа в каждую сторону) перманентно трещали между собой на чешском, это было нечто.

По дороге в отель зашли в супермаркет, бутылочное пиво стоит там 7-9 крон, это где-то 10-15 рублей. Причем хорошее пиво местного разлива – Велкопоповецкий Козел, Старопрамен и т.д. А Гиннесс стоит 44 кроны.

Вон оно чо, Михалыч. (с) Наша Раша

Купили мороженое по вывеской «чота-там, Love & Ice Cream». Очень не очень мороженое. Стоит 59 кс один шарик. На вывеске изображена корова.

А по приходу в отель нас ждал сюрприз в виде сложенных полотенец, символизирующих собой тех самых водоплавающих, которых мы утром кормили.

Profile

[info]maxim_norin
maxim_norin

Latest Month

January 2012
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom
Powered by LiveJournal.com
Designed by Tiffany Chow