Все Линуксы
Текст в картинку (делаем скриншот консоли)
Учитываются системные шрифты, а вот цветовые схемы консоли не работают
$ ifconfig | convert label:@- ip.png $ ping -c 5 ya.ru | convert label:@- ya.png $ echo "Hello World" | convert label:@- hello.png
Активация странных кнопок ноутбука
Совсем странные кнопки (например, на ноутбуке) не видны в XOrg до тех пор, пока возвращают совсем странные keycode. Утилита setkeycodes позволяет исправить ситуацию, а xbindkeys в сочетании с xte из пакета xautomation — превратить нажатие клавиши в нажатие кнопки мыши.
Краткий ликбез по меткам и (без)условным переходам в sed
sed во многом аналогичен специфичному диалекту ассемблера. Он предоставляет для работы два регистра - "pattern space" и "hold space". Во многом эти регистры аналогичны регистрам обычного процессора, типа EAX или EBX x86-ой архитектуры, но специфичных тем, что хранят они не некое 32-битное число, а некую строку текста. В любой конкретный момент возможна работа только с одним регистром, являющимся текущим. Переключать текущий регистр можно с помощью команды x. Так же, sed предоставляет механизм "меток", тоже аналогичный lable'ам ассемблеров, включая возможность условного и безусловного переходов к заданным меткам, что делает sed тьюринг-полным языком программирования.
Работают они следующим образом:
Создание метки:
:имяметки
Метка создаётся посредством оператора : со следующим именем метки. Именно это имя будет использоваться при условных и безусловных переходах
Переходы:
Безусловный:
bимяметки
Конфигурация ядра linux и сопутсвующих драйверов для Asus Eee PC 1215P
Конфигурация ядра 2.6.38 с патчами tuxonice на EeePC 1215P.
Архивация динамического списка файлов, с отображением прогресса
Стояла задача - в страшно разветвленной помойке директорий и файлов выцепить все файлы определенных типов и затарить их в архив /tmp/archive.tar.gz. Дополнительно хотелось наблюдать за прогрессом с прогнозом времени выполнения. Было решено средствами find, pv, gawk (только gawk, с mawk не заработало) следующим образом:
find -type f -o -name \*.c -o -name \*.h -o -name \*.xsl -print0 | xargs -0 du -bs | awk '{s+=$1;sub(/^[0-9]*\t/,"");n=$0"\0"n;printf"scan files: %d\r",++i}END{ORS="";print n|"tar --null -cT-|pv -s "s"|gzip -9> /tmp/archive.tar.gz"}'
Статическая линковка в cmake
Указываем через флаг "DCMAKE_EXE_LINKER_FLAGS":
# cmake -DCMAKE_EXE_LINKER_FLAGS=-static -DCMAKE_INSTALL_PREFIX=/usr ./Экспорт .mbox в gmail
Очень простой способ экспорта .mbox в gmail:
1. Скачиваем отсуда скрипт imap_upload.py.
2. gmail -> Настройки -> Пересылка и POP/IMAP -> Включить IMAP
3. gmail -> Настройки -> Ярлыки -> Создать ярлык (например, Imported)
4. Закачиваем почту из .mbox файла:
$ python imap_upload.py --gmail --box imported my.mboxТап на тачпаде - другой метод
ramok предложил интересные варианты - http://linsovet.com/touchpad-enable-tapping - но есть метод (имхо) попроще
# nano /usr/share/X11/xorg.conf.d/50-synaptics.confSection "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton3" "3" #...и другие свои опции... EndSection
проверено на debian 5,6,7, arch, gentoo
#kstn
ImageMagick, png и размер холста
При работе с изображениями в формате PNG не стоит забывать о «размере холста». В частности, утилиты из ImageMagick часто вычисляют смещение и размер, исходя именно из размера холста; чтобы этого избежать, используйте +repage.
Colorfly PocketHiFi и другие нестандартные устройства хранения в Linux
Linux можно заставить работать с нестандартными устройствами, которые видны как USB-флешки, но не распознаются. На помощь приходит параметр quirks модуля usb-storage.
Оживление запоротого насмерть BIOS
Рассказ о том, как я восстановил свой BIOS после неудачной прошивки coreboot. Примеры прошивки под DOS и Linux, немного фотографий и рассказ об одном из самых брутальных способов оживления мертвой материнки.
Amarocker: экспорт звёздных треков на плеер, с конвертацией в mp3
Amarok2 позволяет отмечать звёздами понравившиеся треки, однако эта информация хранится в встроенной базе данных. Проблема появляется когда хочется перекачать на плеер только лучшие треки, и не дай бог — сконвертировать их в MP3 чтобы оно всё поместилось!
Скрипт позволяет:
* Получить список звёздных треков
* Залить на плеер звёздные треки, конвертируя их в mp3 (или просто копировать):
* Легко получить mysql-консоль и поковыряться внутри базы Amarok2 :)
* Насильно вписать во ВСЕ звёздные треки метаинформацию о рейтинге (Amarok2 это не делает!)
Теперь можно не бояться что Amarok потеряет базу :)
Удаление файлов по rsync
Команда
$ rsync -a /var/empty/ --delete --include 'файл' --exclude '*' каталог-приёмникудаляет 'файл' из каталога приёмника.
Просмотр списка дисков и их разделов с помощью lsblk
Команда lsblk выводит список дисков и их разделов целиком и в удобном виде.
Просмотр лога сборки в виме без мигания экрана
Простенькая функция для .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"')управление службами
Для управления службами во многих системах существует команда service. Однако. в ArchLinux её нет. Поэтому была написана простенькая пара прог, которые обеспечивают управление службами из командной строки и легко встраиваются в любой Linux.
Замена песочным часам в терминале
Иногда в окне терминала требуется функциональность песочных часов. Предлагается решение:
Вывод сообщений статуса в bash скрипте
При написании shell скриптов часто возникает необходимость отображать действия скрипта и информацию о то выполнилось действие или нет, чтобы примерно выглядело как выполнение init.d скриптов при загрузке системы.
Примерно вот так:
* Производится действие 1 [DONE] * Производится действие 2 [FAIL] это ошибка действия 2
Подсветка man (и всего остального) в xterm-е
В XTerm-е есть возможность полужирный, подчёркнутый, мерцающий и инверсный режим вывода отображать цветом. Это позволяет «раскрашивать» не только man или less, а вообще всю стандартную выдачу.
Ускорение воспроизведения аудиокниг без "мультяшного голоса".
Иногда попадаются аудиокниги, в которых чтец читает размеренно, выделяя знаки препинания продолжительными паузами. А мы, привыкшие получать информацию немедленно, очень недовольны таким медленным воспроизведением. В некоторых плеерах есть опция ускорения воспроизведения, например в 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"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »



