Все Линуксы


Текст в картинку (делаем скриншот консоли)

Учитываются системные шрифты, а вот цветовые схемы консоли не работают

$ ifconfig | convert label:@- ip.png
$ ping -c 5 ya.ru | convert label:@- ya.png
$ echo "Hello World" | convert label:@- hello.png
5
Ваша оценка: Ничего Рейтинг: 5 (2 голоса)

Активация странных кнопок ноутбука

Совсем странные кнопки (например, на ноутбуке) не видны в XOrg до тех пор, пока возвращают совсем странные keycode. Утилита setkeycodes позволяет исправить ситуацию, а xbindkeys в сочетании с xte из пакета xautomation — превратить нажатие клавиши в нажатие кнопки мыши.

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

Краткий ликбез по меткам и (без)условным переходам в sed

sed во многом аналогичен специфичному диалекту ассемблера. Он предоставляет для работы два регистра - "pattern space" и "hold space". Во многом эти регистры аналогичны регистрам обычного процессора, типа EAX или EBX x86-ой архитектуры, но специфичных тем, что хранят они не некое 32-битное число, а некую строку текста. В любой конкретный момент возможна работа только с одним регистром, являющимся текущим. Переключать текущий регистр можно с помощью команды x. Так же, sed предоставляет механизм "меток", тоже аналогичный lable'ам ассемблеров, включая возможность условного и безусловного переходов к заданным меткам, что делает sed тьюринг-полным языком программирования.

Работают они следующим образом:

Создание метки:

:имяметки

Метка создаётся посредством оператора : со следующим именем метки. Именно это имя будет использоваться при условных и безусловных переходах

Переходы:
Безусловный:

bимяметки
0
Ваша оценка: Ничего
itakingiteasyyuyuyu аватар

Конфигурация ядра linux и сопутсвующих драйверов для Asus Eee PC 1215P

Конфигурация ядра 2.6.38 с патчами tuxonice на EeePC 1215P.

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

Архивация динамического списка файлов, с отображением прогресса

Стояла задача - в страшно разветвленной помойке директорий и файлов выцепить все файлы определенных типов и затарить их в архив /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"}'
0
Ваша оценка: Ничего

Статическая линковка в cmake

Указываем через флаг "DCMAKE_EXE_LINKER_FLAGS":

# cmake -DCMAKE_EXE_LINKER_FLAGS=-static -DCMAKE_INSTALL_PREFIX=/usr  ./
0
Ваша оценка: Ничего

Экспорт .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
0
Ваша оценка: Ничего

Тап на тачпаде - другой метод

ramok предложил интересные варианты - http://linsovet.com/touchpad-enable-tapping - но есть метод (имхо) попроще

# nano /usr/share/X11/xorg.conf.d/50-synaptics.conf
Section "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

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

ImageMagick, png и размер холста

При работе с изображениями в формате PNG не стоит забывать о «размере холста». В частности, утилиты из ImageMagick часто вычисляют смещение и размер, исходя именно из размера холста; чтобы этого избежать, используйте +repage.

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

Colorfly PocketHiFi и другие нестандартные устройства хранения в Linux

Linux можно заставить работать с нестандартными устройствами, которые видны как USB-флешки, но не распознаются. На помощь приходит параметр quirks модуля usb-storage.

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

Оживление запоротого насмерть BIOS

Рассказ о том, как я восстановил свой BIOS после неудачной прошивки coreboot. Примеры прошивки под DOS и Linux, немного фотографий и рассказ об одном из самых брутальных способов оживления мертвой материнки.

http://blindage.org/?p=3827

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

Amarocker: экспорт звёздных треков на плеер, с конвертацией в mp3

Amarok2 позволяет отмечать звёздами понравившиеся треки, однако эта информация хранится в встроенной базе данных. Проблема появляется когда хочется перекачать на плеер только лучшие треки, и не дай бог — сконвертировать их в MP3 чтобы оно всё поместилось!

Скрипт позволяет:
* Получить список звёздных треков
* Залить на плеер звёздные треки, конвертируя их в mp3 (или просто копировать):
* Легко получить mysql-консоль и поковыряться внутри базы Amarok2 :)
* Насильно вписать во ВСЕ звёздные треки метаинформацию о рейтинге (Amarok2 это не делает!)

Теперь можно не бояться что Amarok потеряет базу :)

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

Удаление файлов по rsync

Команда

$ rsync -a /var/empty/ --delete --include 'файл' --exclude '*' каталог-приёмник

удаляет 'файл' из каталога приёмника.

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

Просмотр списка дисков и их разделов с помощью lsblk

Команда lsblk выводит список дисков и их разделов целиком и в удобном виде.

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

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

Простенькая функция для .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 голоса)

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

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

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

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

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

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

3
Ваша оценка: Ничего Рейтинг: 3 (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
Ваша оценка: Ничего