BSD


Как открывать ссылки из URxvt в браузере при помощи мыши?

Раньше я знал только один ответ - "выделить ссылку мышкой, открыть браузер, и вставить в адресную строку средней кнопкой". Но как всегда нашелся способ попроще ) Научить urxvt делать такие вещи так же, как и другие более "продвинутые" терминалы очень просто. Для этого нужно добавить в ~/.Xdefaults такие вот строки:

URxvt.perl-ext-common:  default,matcher
URxvt.urlLauncher:	firefox
URxvt.matcher.button:	1
URxvt.colorUL: 		#86a2be

Это сделает URL в терминале подчеркнутыми, выделенными голубым цветом, и левый клик на них будет открывать новые вкладки в firefox.

0
Ваша оценка: Ничего

Vim. Перевод из шестнадатиричной в десятичную систему счисления

:echo 0xff
255

That's all (-:

0
Ваша оценка: Ничего

Полезные советы по FreeBSD

Случайно нашел ленточку советов по FreeBSD на русском:
http://www.igosha.com/archives/category/freebsd

плюс в догонку мои URL's по FreeBSD:
http://delicious.com/pebu3op/FreeBSD

3
Ваша оценка: Ничего Рейтинг: 3 (2 голоса)

dzen + словарь

Иногда, читая man pages или какую-нибудь документацию в txt, html или в в .pdf наталкиваемся на иностранное слово отсутствующее в нашем словарном запасе.
Что делаем:

  1. Выделям незнакомое слово мышкой
  2. Открываем программу-словарик
  3. Делаем paste и получаем перевод

Слишком много телодвижений для столь простой задачки. Что можно придумать:

  1. Выделям незнакомое слово мышкой
  2. Нажимаем хоткей и на экране появляется окошко с переводом до следующего нажатия тогоже хоткея

Решение:

  1. Инсталируем dzen и словарики: sdcv или dict
  2. Пишем скрипт:
  3. #!/bin/sh
     
    PID=$(ps wwax |grep "dzen2.*$WHEREX.*$WHEREY.*$WIDTH.*$FG" |grep -v grep |awk '{print $1}')
     
    if [ ${#PID} -ne 0 ]
    then
    	kill -9 $PID
    else 
    	xsel -p | xargs sdcv -n | sed '/^$/d' | \
5
Ваша оценка: Ничего Рейтинг: 5 (1 голос)

читалка заголовков писем на googlemail

Читалка заголовков мэйлов с googlemail:

#!/bin/sh
 
URL='https://mail.google.com/mail/feed/atom'
 
curl --silent -u name@googlemail.com:passwd $URL | \
	grep -v Gmail | \
while read line
do 
	echo $line | grep "<title>" 1>/dev/null \
		&& TITLE=`echo $line | sed -e 's/<title>//' -e 's/<\/title>//'`;\
	echo $line | grep "<name>" 1>/dev/null	\
		&& NAME=`echo $line | sed -e 's/<name>//' -e 's/<\/name>//'`;\
	echo $line | grep "<email>"  1>/dev/null \
		&& EMAIL=`echo $line | sed -e 's/<email>//' -e 's/<\/email>//'` && \
	echo $(echo $NAME "<"$EMAIL">" $TITLE)
done



P.S. Лучшего применения чем прикрутить эту штуку на dzen не нашел :-)

5
Ваша оценка: Ничего Рейтинг: 5 (2 голоса)

xmonad + Dzen + Task List Menu

Простенькая переключалка между открытыми окнами в xmonad

  1. Сначала воспользуемся предыдущим советом, и сделаем поддержку wmctrl в xmonad
  2. Далее:
    (echo "Task List"; wmctrl -l)| \
    dzen2 -m -p -x $WHEREX  -w $WIDTH -fg $FG -bg $BG -l 15 -fn $FONT \
    -e 'button1=menuprint;button3=exit;entertitle=uncollapse;leaveslave=collapse' | \
    awk '{system("wmctrl -s " $2)}'

После выполнения вышеприведенной команды в dzen статус баре появляется "Task List".
Меню открывается при наведении мышкой на "Task List".
Правая кнопка мышки убирает меню со статусбара.

Переменные WHEREX, WIDTH, FG, BG, FONT инициализировать по личным предпочтениям.

В атачменте мой скрипт, который, подвешанный на хоткей, будет работать как включатель/выключатель Task List меню.

P.S.

5
Ваша оценка: Ничего Рейтинг: 5 (1 голос)

xmonad-0.7 + dynamicLogWithPP c поддержкой wmctrl

С нулевым знанием языка haskell, скитаясь по докам и форумам, методом проб и ошибок, долгое время никак не мог разместить dynamicLogWithPP с ewmhDesktopsLogHook в LogHook.

ewmhDesktopsLogHook требуетя для поддержки wmctrl.
Наконец-то, с помощью вышеупомятуго метода таки получилось:

Магия в этих строчках конфигурационного файла:

import XMonad.Hooks.EwmhDesktops 
...
myLayout = ewmhDesktopsLayout $ avoidStruts (tall ||| Mirror tall ||| Full)
... 
logHook = ewmhDesktopsLogHook >> myLogHook  din
...

Весь конфиг в аттачменте.

В wmctrl на xmonad некоторые опции к сожалению нерабочие: например -a

5
Ваша оценка: Ничего Рейтинг: 5 (1 голос)

Как разрезать видео на фрагменты нужного размера

Имеем: Большой видео-файл

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

Зачем: Например, что бы записать по частям на вышедшие из моды CD-R балванки или слить частями на rapidshare или в другое место, где имеется ограничение на размер расшариваемых файлов.

Допустим, собираемся поделить файл 300.avi на два файла на границе 10MB.

  1. Время и номер фрейма для точки, в которой будем резать, определить можно вот так:
    % mencoder -ovc copy -oac copy -endpos 10mb -o /dev/null 300.avi
    ...
     
    Video stream: 1880.602 kbit/s  (235075 B/s)  size: 8678976 bytes  36.920 secs  923 frames
  2. Теперь имеем всю необходимую информацию, и воспользовавшись вот этим советом, создаем два файла:
    • первый:
      % mencoder 300.avi -endpos 36.920 -o 300_PART1.avi -oac copy -ovc copy
    • второй:
      % mencoder 300.avi -ss 36.920 -o 300_PART2.avi -oac copy -ovc copy
  3. Готово!

  4. А теперь (если будет необходимо) в обратную сторону, соединяем:
    % mencoder -oac copy -ovc copy -o 300.avi  300_PART1.avi 300_PART2.avi

P.S. не сильно разбираюсь в различных видео-форматах и кодеках. Возможно, что не с любым файлом данный пример получится.

0
Ваша оценка: Ничего

Скрипт для записи и проверки DVD

Периодически приходится писать на DVD разные вещи в консоли. Нередко я сначала раскидываю данные по каталогам, а потом уже пишу по принципу "1 каталог - 1 диск".

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

0
Ваша оценка: Ничего

Дружелюбная конфигурация vim с нуля

Устанавливая vim в разных системах можно заметить, что чаще всего он ведет себя "совместимо" с vi. Это проявляется в первую очередь в реакции на нажатия курсорных клавиш в режиме вставки (портит текст =)). Отвечает за такое поведение опция "set nocompatible", но есть еще более простой способ получить дружественный конфигурационный файл vim по-умолчанию:

$ locate vimrc

Отыскать среди вариантов vimrc_example и...

$ cp /путь/к/примеру/vimrc ~/.vimrc
0
Ваша оценка: Ничего
alexu аватар

Поиск и замена текста в нескольких файлах

Чтобы заменить foo на bar в нескольких файлах, выполните следующую команду:

perl -pi~ -e 's/foo/bar/' [files]

Оригинальные файлы при этом будут сохраны с именами filename~

0
Ваша оценка: Ничего

Обзор ncurses, библиотеки для консольного ввода-вывода.

В документе описаны такие жизненно необходимые функции библиотеки консольного ввода/вывода ncurses как очистка экрана, перемещение курсора, изменение цветов фона и символов, отключение вывода символов при вводе и многое другое. Большая часть была взята из официальной документации остальная часть из личного опыта использования. Надеюсь многим начинающим программистам под Linux и не только будет полезна.

Подробнее.

0
Ваша оценка: Ничего
ramok аватар

Как обновлять FreeBSD с низких поддерживаемых версий

При обновлении FreeBSD сразу через несколько релизов (как вариант - с 5.3 -> 6.1) может возникнуть ситуация когда уже установленные инстументы для сбора системы (из версии 5.3), не годятся для сбора новой системы (6.1). Например, используются какие-то новые возможности скриптов сборки или линковки.

Тогда при постройке мира указывается следующая опция:
$ make buildworld OSRELDATE=0
что соберет и установит все нужные инструменты. Теоретически Ж:-)

Указав ее мы как бы говорим системе что надо собирать мир с самой низкой из поддерживаемых версий FreeBSD. Если же Ваша версия уже не поддерживается официально, то рекомендуют бинарный апдейт.

0
Ваша оценка: Ничего
ramok аватар

Использование ports в FreeBSD на хостингах без прав root

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

0
Ваша оценка: Ничего
ramok аватар

Автопилотный запуск portupgrade

Если вы хотите проапдейтить все пакеты установленные из портов в FreeBSD, что бы не спрашивало глупых вопросов

$ export BATCH=yes
$ portupgrade -a

0
Ваша оценка: Ничего

Как thunderbird заставить открывать ссылки в firefox

Необходимо создать (или добавить в) файл

0
Ваша оценка: Ничего
alexu аватар

Ускоряем KDE

Ускоряем работу КДЕ и КДЕ приложений.

0
Ваша оценка: Ничего

alias howtime

FreeBSD, tcsh
Для определения времени исполнения команд используется /usr/bin/time ....
Удобно использовать эту команду как алиас

echo alias howtime (/usr/bin/time -h) >> ~/.cshrc
source ~/.cshrc

параметр "-h" нужен для вывода времени в часах, минутах, и секундах, а не в машинных тактах ("h" от "human")

и теперь вместо построения строки команд вводите нужную вам команду после алиаса например:

howtime mplayer video_file.avi

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

0
Ваша оценка: Ничего
ramok аватар

ищем сирот с целью убийства Ж:-D(поиск лишних пакетов)

Часто программы требуют библиотеки, и после их инсталяции библиотеки остаются даже если никто ими не пользуется.
Поиск таких пакетов в Debian обеспечивает пакет deborphan.

Удалить все пакеты соответственно

deborphan | xargs apt-get remove

Во FreeBSD тем же занимается /usr/ports/sysutils/pkg_cutleaves

0
Ваша оценка: Ничего

чистка системы, определение кандидатов на удаление по размеру во FreeBSD

Иногда, места на диске становится достаточно мало, и хочется непременно вычислить и наказать виновных (например, вывести все пакеты упорядочив их по занимаемому на диске размеру, с целями поиска кандидта на удаление) для этого удобно использовать команду:

pkg_info -as | perl -pe '$/=")"; s/\n*Information for (.*?):[\n\s]*Package Size:[\n\s]*(\d+)\s*\(\s*1K\-blocks\s*\)/$2 - $1\n/;' | sort -nr | less

Для частого использования можно прописать эту команду в виде alias-а.

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

0
Ваша оценка: Ничего