Глупый пингвин робко прячет, умный - смело достает...


ramok аватар

Таппинг на тачпаде в Debian

В Debian по умолчанию отключен tapping в touchpad .

Пользователи KDE и Gnome могут его включить через настройки системы.

Для тех кто эти DE не использует могут помочь следующие советы.

Synaptics

1. Если у вас synaptics, то включить таппинг можно так:

$ synclient TapButton1=1 TapButton2=2 TapButton3=3

Что бы изменения сохранились после перезагрузки нужно добавить эту команду в ~/.xsession или подобный файл

2. Можно включать таппинг через udev

ACTION!="add|change", GOTO="xorg_synaptics_end"
KERNEL!="event*", GOTO="xorg_synaptics_end"
 
ENV{ID_INPUT_TOUCHPAD}!="1", GOTO="xorg_synaptics_end"
 
ENV{x11_driver}="synaptics"
 
ENV{x11_options.TapButton1}="1"
ENV{x11_options.TapButton2}="2"
ENV{x11_options.TapButton3}="3"
 
LABEL="xorg_synaptics_end"

Это сохранить в файл 66-xorg-synaptics.rules и скопировать в /etc/udev/rules.d

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Генератор программы на brainfuck для вывода текста

Xenius из канала #linux в RusNet предложил первый вариант генератора brainfuck программы для вывода текста.

echo -n foobar | xxd -u -g1 | sed 's/^.*: //;s/  .*$//' |  tr \  \\n |
    while read n; do dc -e16i${n}p | xargs -i: -- perl -E "say '+' x :"; done |
        sed 's/$/.>/g' | tr -d \\n | sed s/\>$/\\n/

Выведет программу на brainfuck, которая выводит "foobar"

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++.>++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++.>+++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++.>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++.>++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++.>+++++++++++++++++++++++++++++++
5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)

arecord + .asoundrc + dsnoop = record left or right channels

для записи отдельно левого и отдельно правого канала линейного входа или микрофона с помощью утилиты arecord входящей в пакет alsa-tools нужно:

установить alsa-oss alsaplayer mpg321 alsaplayer-alsa alsa-base
если что то не поставиться не беда, но лучше конечно всё из списка

теперь идете и конфигурируете файл ~/.asoundrc
и загоняете в него вот этот текст

pcm.record_left {
    type dsnoop
    ipc_key 234884
    slave {
        pcm "hw:0,0"
        channels 2
    }
    bindings.0  0
}
pcm.record_right {
    type dsnoop
    ipc_key 2241234
    slave {
        pcm "hw:0,0"
        channels 2
    }
    bindings.0  1
}

теперь для записи достаточно ввести команду

$ arecord -f cd -c 1 -D record_left anyname.wav

или

$ arecord -f cd -c 1 -D record_right anyname.wav

как это работает?
то как я понял как это работает

в файле cat /etc/alsa-pulse.conf есть такие строки

 

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Убрать варнинги dpkg

У меня при работе с dpkg и apt-get появились такие сообщения

dpkg: warning: parsing file '/var/lib/dpkg/status' near line 25810 package 'kernel-source-2.4.18':
 error in Version string 'linex3': version number does not start with digit
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 48390 package 'am-utils':
 'Replaces' field, reference to 'amd': error in version: version number does not start with digit
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 48393 package 'am-utils':
 'Conflicts' field, reference to 'amd': error in version: version number does not start with digit
 ...

Сообщение в которых фигурирует /var/lib/dpkg/available чистятся командой

$ sudo dpkg --clear-avail

Те пакеты, в варнингах которых находится /var/lib/dpkg/status, удалены, но их настройки остались.
Для того что бы окончательно почистить на ними можно применить команду apt-get purge
 

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Dell Latitude BIOS password recovery

Забыл пароль к своему ноутбуку Dell Latitude D820, пришлось погуглить. Нашел много сайтов по восстановлению паролей от BIOS за деньги Ж:-)

Благо нашел этот пост где нашел исходный код программы по генерации пароля по service tag.

1. Service tag можно подсмотреть в BIOS, или если он не доступен можно загрузить модуль i8k и посмотреть service tag с помощью программы i8kctl. Или он может быть наклеен на дне ноутбука.

$ modprobe i8k
$ i8kctl id
1234567

2. Качаем программу для генерации пароля, компилируем и запускаем.

$ wget -q http://linsovet.org.ua/files/dell-bios-password.c
$ make dell-bios-password
cc     dell.c   -o dell
$ ./dell-bios-password
My own utility. Copyright (C) 2007-2010 hpgl, Russia
Short service tag should be right padded with '*' up to length 7 chars

Просмотр лога сборки в виме без мигания экрана

Простенькая функция для .vimrc:

" Original idea of backgrounding process by system() and client-server model
" belongs to MarcWeber. Check out his script at 
" MarcWeber / vim-addon-background-cmd @ GitHub
" WTFPLv2 ©  / neverb.net
 
function! ExecRemote(what)
	return 'vim --servername ' . v:servername . ' --remote-expr ' . a:what 
endfunction
 
 
function! ReloadFile()
	call setqflist([],"r")
	for i in readfile('/tmp/err')
		if i == '0' 
			continue 
		endif
		exec setqflist([{'text':i}],'a')
	endfor
endfunction
 
function! BuildEmUp()
	if v:servername == ''
		echo "Run vim as `vim --servername whatever`"
		return
	endif
	if !filereadable("Makefile")
		echo "No makefile exists in current directory!"
		return
	endif
	copen
	let makeover = 'progress'
	let sr = ExecRemote('''feedkeys("\<Esc>:let makeover = \"over\"\<CR>")''')
	let gr = ExecRemote('"makeover"')
4.333335
Ваша оценка: Ничего Рейтинг: 4.3 (3 голоса)

управление службами

Для управления службами во многих системах существует команда service. Однако. в ArchLinux её нет. Поэтому была написана простенькая пара прог, которые обеспечивают управление службами из командной строки и легко встраиваются в любой Linux.

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

Замена песочным часам в терминале

Иногда в окне терминала требуется функциональность песочных часов. Предлагается решение:

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

OpenSUSE: всплывающие сообщения как в Убунте

Для gnome-notification-daemon всего несколько (убогих) тем, и нет возможности настройки всплывающих сообщений. Исправляем недоразумение!

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

Передвинуть окно в другой таб в vim

Оказывается такой фунции как передвинуть окно в другой таб в vim нет. Зато есть совет на wiki vim-а.

$ mkdir -p ~/.vim/plugin
$ wget -O ~/.vim/plugin/win_move_to_tab.vim http://linsovet.com/files/win_move_to_tab.vim

После перезапуска vim-а появится возможность двигать текущее окно в предыдущий и следующий таб по Ctrl-W Ctrl-H и Ctrl-W Ctrl-L соответственно.

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

Вывод сообщений статуса в bash скрипте

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

Примерно вот так:

 * Производится действие 1          [DONE]
 * Производится действие 2          [FAIL]
это ошибка действия 2
4.5
Ваша оценка: Ничего Рейтинг: 4.5 (2 голоса)
ramok аватар

Экспресс отдача/заливка каталога по ftp

Тут описано как можно быстро расшарить каталог по http.
Но иногда хочется что бы кто то залил что то в каталог, а не только скачал. Для этого можно воспользоваться еще одним модулем python.
Если у вас Debian

$ sudo apt-get install python-pyftpdlib
$ python -m pyftpdlib -wp 2121
/usr/lib/python2.6/dist-packages/pyftpdlib/ftpserver.py:508: RuntimeWarning: write permissions assigned to anonymous user.
  RuntimeWarning)
Serving FTP on 0.0.0.0:2121
^CShutting down FTP server.

Если любой другой дистрибутив можно сделать так:

Учтите что это дает анонимный доступ на запись в текущую директорию. Поэтому не стоит оставлять запущенный таким образом сервер на долго Ж:-)

3
Ваша оценка: Ничего Рейтинг: 3 (1 vote)
ramok аватар

Табы в rxvt-unicode

Запускаем

$ urxvt -pe tabbed

Получаем такое:

Клик на NEW получаем новый таб. Клик на цифру - переключение на таб с этим номером.

Горячие клавиши:

  • Shift-<стрелка вниз> открытие нового таба
  • Shift-<левая/правая стрелка> переключение между табами
  • Ctrl-<левая/правая стрелка> передвижение таба влево/вправо

В файле ресурсов ~/.Xresources можно добавить автоматическую загрузку этого плагина.

URxvt.perl-ext-common: default,tabbed

Так же можно указывать цвета табов и терминалов в табе

URxvt.tabbed.tabbar-fg: 3
URxvt.tabbed.tabbar-bg: 0
URxvt.tabbed.tab-fg:    0
URxvt.tabbed.tab-bg:    1

Для того что бы применить изменения ~/.Xresources запускаем

$ xrdb -merge ~/.Xresources

Изменения будут в кажом последующем запущеном терминале

3
Ваша оценка: Ничего Рейтинг: 3 (1 vote)
TomFarr аватар

Nautilus-scripts aka Делаем удобнее работу в Gnome


Здравствуйте, сегодня я поведаю Вам о скриптах файлового менеджера используемого по умолчанию в Gnome - Nautilus.

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

И по сему, для "быстрых" манипуляций над файлами в nautilus есть скрипты, вызываемые из графического интерфейса при нажатии правой кнопки. О них и поговорим.

TomFarr аватар

Мелодии звонков на Android

Каждый задавался вопросом, как выставить собственную мелодии звонка\будильника\смс на смартфоне под управлением OS Android, а при выборе мелодий нет возможности выбрать мелодии отличную от заводских.

FrBrGeorge аватар

Подсветка man (и всего остального) в xterm-е

В XTerm-е есть возможность полужирный, подчёркнутый, мерцающий и инверсный режим вывода отображать цветом. Это позволяет «раскрашивать» не только man или less, а вообще всю стандартную выдачу.

3
Ваша оценка: Ничего Рейтинг: 3 (1 vote)
ramok аватар

Подсветка man-ов в less

Отличный совет "Подсветка синтаксиса man-страниц в Linux или как задать цвет в редакторе less".

Сделал себе цветовую схему похожую на vim-овскую elflord

export LESS_TERMCAP_mb=$'\033[01;36m'   \
       LESS_TERMCAP_md=$'\033[01;33m'   \
       LESS_TERMCAP_me=$'\033[0m'       \
       LESS_TERMCAP_mu=$'\033[01;37m'   \
       LESS_TERMCAP_se=$'\033[0m'       \
       LESS_TERMCAP_so=$'\033[01;47;30m'\
       LESS_TERMCAP_ue=$'\033[0m'       \
       LESS_TERMCAP_us=$'\033[01;34m'   \
4
Ваша оценка: Ничего Рейтинг: 4 (2 голоса)

Сравнение двух бинарных файлов

$ diff -u <(od -A x -t x1 ref.bmp) <(od -A x -t x1 orig.bmp)

2
Ваша оценка: Ничего Рейтинг: 2 (1 vote)
ramok аватар

SIGSEGV в expect

Как ни странно, но expect (расширение tcl), при желании можно уронить в корку.

Столкнувшись с такой проблемой и разобравшись в ней выяснились такие нюансы:
expect перегружает системную фунцию tcl close, на свой вариант с подобным синтаксисом

close [-slave] [-onexec 0|1] [-i spawn_id]

в то время как стандартный tcl close имеет синтаксис

close channelId

.
В первом случае закрывается дескриптор из expect полученый после spawn, во втором случае закрывается файловый дескритор tcl (открытые файлы, сетевые подключения и подобное).

При этом если закрывать spawn_id, и забыть поставить -i

close $sid

то это может привести к SIGSEGV.

Поэтому рекомендуется не забывать ставить -i при закрытии spawn_id, я лучше вообще использовать прямое имя exp_close, во избежания недоразумения.

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
bliznezz аватар

Ускорение воспроизведения аудиокниг без "мультяшного голоса".

Иногда попадаются аудиокниги, в которых чтец читает размеренно, выделяя знаки препинания продолжительными паузами. А мы, привыкшие получать информацию немедленно, очень недовольны таким медленным воспроизведением. В некоторых плеерах есть опция ускорения воспроизведения, например в audacious - Параметры - модули - эффекты есть SndStretch.
Time Stretch - Модификация аудиодорожки, при котором скорость воспроизведения увеличивается, но не появляется "мультяшности" голоса.

Родился небольшой скриптик, который ускоряет, пережимает
recode.sh

#!/bin/bash
test -d "`pwd`_strecth" || mkdir "`pwd`_strecth/"
 
SRC="$1"
DST="`pwd`_strecth/$1"
lame --quiet --decode "$1" -  | soundstretch stdin stdout -tempo=+50 | lame  --quiet -m a -cbr -b 64 --resample 24  - "$DST"
id3cp -1 "$SRC" "$DST"
0
Ваша оценка: Ничего