Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #100, АПРЕЛЬ 2007 г.

Tips'n'tricks юниксоида

Евгений «j1m» Зобнин

Хакер, номер #100, стр. 114


(j1m@list.ru)

Сегодня в нашем меню: советы по X Window и KDE, несколько интересных типсов, посвященных использованию бессмертных Vim и Mutt, пара хинтов по работе с излюбленным инструментом администратора - screen и даже описание простого, но эффективного механизма бэкапа. Все ингредиенты тщательно отобраны и изысканно приготовлены. Угощайся.

Shell

Модификаторы имен файлов в ZSH (пример: STRING="a/b/c"; echo "$STRING:модификатор"):

:h - начальный каталог (аналог команды dirname);

:t - имя файла (аналог команды basename);

:e – расширение;

:r - удалить расширение;

:l - конвертировать в строчные буквы;

:u - конвертировать в прописные буквы.

X Window

Включить поддержку колесика мыши (добавить в секцию InputDevice файла /etc/X11/xorg.conf):

Option "ZAxisMapping" "4 5"

Разрешить запуск X-сервера без мыши (добавить в секцию ServerFlags):

Option "AllowMouseOpenFail" "true"

Копирование и вставка из командной строки:

$ cat file | xclip

$ xclip -o

Циклическое переключение разрешения экрана:

Ctrl+Alt+'+'

Ctrl+Alt+'-'

X-сервер в окне X-сервера:

$ Xnest -ac -geometry 1024x768 :1 &

Сетевой доступ к X-серверу (192.168.3.3 - X-клиент, на нем исполняются программы; 192.168.3.1 - X-сервер, отрисовывает картинку):

Открываем доступ:

[server]# xhost +192.168.3.3

[client]$ export DISPLAY=192.168.3.1:0.0

Второй графический сеанс на локальной машине:

$ startx -- :1

Виртуальные файловые системы Konqueror:

audiocd:/ - аудио CD;

fish:/ - SSH;

ftp:/ - FTP;

http:/ - HTTP;

imap:/ - IMAP;

info:/ - страницы info;

ldap:/ - каталоги LDAP;

man:/ - man-страницы;

nntp:/ - NNTP;

pop3:/ - POP3;

print:/ - система печати;

rapip:/ - подключение к КПК;

sftp:/ - SFTP;

slp:/ - Service Locator Protocol;

smb:/ - SMB (Samba);

ssh:/ - SSH (запускается Konsole);

vnc:/ - диалог подключения к VNC.

Замена оконного менеджера в KDE:

$ export KDEWM="icewm"

Ускорение KDE путем отключения поддержки IPv6:

$ export KDE_NO_IPV6=TRUE

Multimedia

Запись интернет-радио:

$ mplayer http://www.host.ru:8128 -dumpstream \

-dumpfile music.mp3 -vc dummy -vo null

Vim

Убираем из окна gvim все ненужное (вроде панели инструментов) и включаем меню, вызываемое нажатием второй кнопки мыши:

:set guioptions=acmgrL

:set mousemodel=popup

Включаем «фолдинг» (все строки, находящиеся между «{{{» и «}}}», будут автоматически свернуты):

:set foldmethod=marker

:set foldmarker={{{,}}}

Делаем работу с закладками (табами) более удобной (<F11> - предыдущий таб, <F12> - следующий):

:map <F11> :tabprevious<CR>

:map <F12> :tabnext<CR>

Просмотр содержимого ftp-ресурса:

$ vim ftp://ftp@host.ru/pub

Редактировать файл по протоколу scp:

$ vim scp://user@host.ru/.vimrc

Редактировать файл по протоколу sftp:

$ vim sftp://user@host.ru/.vimrc

Mutt

Учим mutt показывать появление новых писем в ящике флагом 'N':

mailboxes `echo ~/Mail/*`

Используем различные методы сортировки для разных ящиков (содержимое ящика Inbox сортируется по датам, всех остальных - по тредам):

folder-hook . 'set sort=threads'

folder-hook Inbox 'set sort=date-received'

Screen

Отключаем приветствие:

startup_message off

Настраиваем статусную строку (время дата юзер:хост [ открытые окна ]):

caption splitonly "%{wb} %=%n %t "

hardstatus lastline "%{+b wk} %c %D %d %M %Y %=[ %w ] "

Вешаем на клавиши запуск программ (нажимать следует в сочетании с <Ctrl>):

bind 'q' screen mc

bind 'w' screen mutt

bind 'e' screen elinks

Клавиши <F1> и <F2> для навигации по окнам:

bindkey -k F1 prev

bindkey -k F2 next

System

Включение поддержки высоких консольных разрешений во FreeBSD:

# cd /usr/src

# echo "options VESA\noptions SC_PIXEL_MODE" >> sys/i386/conf/GENERIC

# make kernel

Misc

Создание локали (на примере cp1251):

# localedef -c -i ru_RU -f CP1251 ru_RU.CP1251

Очень простой способ бэкапа домашнего каталога с исключением некритичных каталогов:

$ ARCHIVE="~/tmp/backup.tar.bz2"

$ NO_DIRS=$HOME'/(music|image|video)'

$ find $HOME | egrep -v -e $NO_DIRS | tar -c - | bzip2 -c > $ARCHIVE

Содержание