my juick

2011-10-12

usefull environment on Debian 6 Squeeze

Продолжаем настраивать недавно поставлнный Debian.
  • tools
    • xterm
Так как установка была изначально минималистичная, то в качестве терминала используется xterm. А у xterm есть неприятность в обработки Meta(LAlt) клавиши(что больше всего чувствуется при работе в emacs): сразу после запуска сочетания типа M-a M-e(переход в начало/конец строки) не обрабатываются(вставляются кракозябры). Лечится через C- -> meta sends escape, что не очень удобно делать каждый раз после запуска. Конечно, при использовании screen/tmux это отходит на второй план, ибо один раз multiplexor запустил и другого xterm особо не надо запускать, но бывает необходимость в новом окне.
Так вот наконец-то переборол лень и нашёл как это полечить: добавляем строку
Xterm*metaSendsEscape: true
в ~/.Xdefaults и запускаем
$ xrdb -merge ~/.Xdefaults
чтобы изменения вступили в силу. Теперь M-a M-e работает как ожидается. Также можно изменить размер шрифта по умолчанию, ибо маловат он: добавляем в тот же файл
XTerm*font: -misc-fixed-medium-*-*-*-*-*-*-*-*-90-iso10646-*
и обновляем настройки.
    • apt-file
Кстати говоря, нетбук не знал про команду xrdb, в отличие от десктопа. Что это за зверь поможет узнать apt-file (показывает какому пакету принадлежит файл). Устанавливается через
# aptitude install apt-file
Затем нужно обновить базу файлов:
$ apt-file update # обновит локальную для пользователя базу. можно использовать system-wide, если запускать от root
Затем ищем нужный пакет
$ apt-file find xrdb
и получаем x11-xserver-utils
  • synergy
В подкасте FLOSS Weekly рассказывали про довольно полезную утилиту synergy. Хотел ещё на OpenBSD попробовать, но не срослось(собрать из исходников): других проблем хватало. А в Debian она есть в репозитории -- чего бы не попробовать наконец? Скажу сразу: как говорили в подкасте "it's awesome!", реально!
Установка проста(как и многое в Debian :)):
# aptitude install synergy
Конфигурация заставила чуток порыться в интернете на предмет готовых конфигов. В итоге получился следующий конфиг:
section: screens
  newDesktop:
  eee1000:
end

section: aliases
  newDesktop:
    192.168.1.6
  eee1000:
    192.168.1.5
end

section: links
  newDesktop:
    left = eee1000

  eee1000:
    right = newDesktop
end

section: options
  screenSaverSync = false
end

Важно указать в "section: links" оба экрана, ибо иначе не заработает. Дальше просто создаём ~/.synergy.conf и запускаем(в моём случае сервером служит newDesktop) сервер и клиент:
ilya@newDesktop [~]$ synergys --config ~/.synergy.conf
ilya@eee1000 [~]$ synergyc --restart 192.168.1.6
И радуемся жизни. Почти. Переключение расладок у меня настроено на right alt, что не особо дружит с synergy: при курсоре на клиенте расладка переключается на сервере. Лечится это, похоже, сменой клавиши переключения раскладки, либо не достаточно гуглил :(
  • vsftpd
Ставится, опять же, элементарно:
# aptitude install vsftpd
Настраивается(для простого домашнего использования) так же элементарно:
разрешаем локальным пользователям входить(анонимам скажем нет) и подниматься не выше своего домашнего каталога в файле /etc/vsftpd.conf. В итоге, почти не изменённый конфиг(только разрешённые опции, без комментариев):

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
За большим в man 5 vsftpd.conf. Перезапускаем сервер и готово
# /etc/init.d/vsftpd restart
  • lighttpd + mercurial
Держать свой webserver довольно полезно бывает (мало-ли чего проверить надо, или вдруг стукнет webdev'ом побаловаться :)), а если ещё и mercurial repositories сервить у себя (хотя, после анонса unlimited private repositories, да ещё и с git это не особо актуально)... В общем, полезное это дело.
Ставим пакетики
# aptitude install lighttpd php5-cgi
Идём в конфиги и разрешаем userdir и cgi
# cd /etc/lighttpd/conf-enable 
# ln -s ../conf-available/10-cgi.conf
# ln -s ../conf-available/10-userdir.conf
Редактируем настройки того, что будет запускаться под cgi: разрешаем .py и .php.
Добавляем файл атентификации (для mercurial web server):
# cd /etc/lighttpd# touch lighttpd.auth.plain 
# chmod 640 lighttpd.auth.plain
# chown root:www-data lighttpd.auth.plain 
# echo "user:password" >> lighttpd.auth.plain
И, наконец, редактируем настройки самого сервера: весь конфиг на github.
Да, не забываем создать папочку /var/www/hg с файликами hgweb.config и hgwebdir.cgi и каталогом самих репозиториев. Более подробно это описано здесь.
Ну и конечно, нельзя забывать про права доступа для группы(хотябы) www-data, ибо и сам неоднократно напарывался на это. А каталог с репозиториями вообще лучше сделать собственностью www-data:
[/var/www/] # chown -R www-data:www-data hg
Перезапускаем lighttpd и радуемся :)

Потом ещё можно настроить dyndns (или что больше предпочтительно) и доступаться до репозиториев откуда угодно.

Ну вот минимум полезностей и есть. Дальше будем ещё что-нибудь настраивать, ибо всего за раз не настроишь.