mam jakis problem ostatnio. strasznie ciezko jest mi pracowac. od jakichs trzech dni nie moge sie prawie wcale zmobilizowac do roboty. nie to zebym nie robil nic, co to to nie, ale ciezko mi sie skupic nad tym co mam do zrobienia. co chwila przerywam czyms innym, etc. koszmar. co jakis czas mnie takie cos nachodzi, strasznie ciezko jest taka niechec do pracy przezwyciezyc. gdybym jeszcze nie lubil tego co robie to bym mogl sam siebie zrozumiec. ale ja _bardzo_lubie_ to co robie, sprawia mi to przyjemnosc, wiec nie czaje :( bzdura co nieco. ale coz, rzycie…

za to znalazlem fajny plugin do xmms. siedzi sobie ikonka w trayu, zapodajac mozliwosc klikniecia na niej dowolnym przyciskiem myszy, z dowolnym modyfikatorem (alt|shift|control) i do kazdego klikniecia podpiac jakas akcje zwiazana z xmms. mile. w sumie chyba milsze od crystalowych buttonow do xmms… chociaz z drugiej strony i tak mam sterowacze do playera w klawiaturze podbindowane do klawiszy multimedialnych… ;)


gtf

wylicza modeline. w zyciu bym sie nie domyslil, ze takie narzedzie jest dostarczane wraz z xorg ;) a tak zawsze grzebalem w necie odnosnie podobnych kalkulatorow… to narzedzie jest bardzo proste w uzyciu. zalozmy, ze chcemy osiagnac rozdzielczosc 1280×800, i odswiezanie 100hz. no to jedziemy:

% gtf 1280 800 100
# 1280x800 @ 100.00 Hz (GTF) hsync: 84.80 kHz; pclk: 147.89 MHz
Modeline "1280x800_100.00" 147.89 1280 1376 1512 1744 800 801 804 848 -HSync +Vsync

w zahaszowanej linijce mamy parametry jakie musi spelniac monitor zeby mogl wyswietlic dana rozdzielczosc. szczegoly w instrukcji obslugi monitora. w drugiej linijce, zaczynajacej sie od slowa modeline jest sama modeline. nalezy ja umiescic w pliku /etc/X11/xorg.conf w sekcji screen.

http://www.x.org/

aespipe

wczytuje plik ze standardowego wejscia, i na standardowe wyjscie zapodaje plik w postaci zaszyfrowanej. podstawowe uzycie:

aespipe < plik_zwykly >plik_zaszyfrowany

przyklad:

% aespipe < a > b
Password:
% cat b; echo
cÅ®]ŽŘďá§UÚÁuwÅąÅ 
%

przydatne do robienia zaszyfrowanych backupow i wszelkich innej masci szyfrowania plikow.

http://loop-aes.sourceforge.net/

agrep
odmiana grep. jedna z zalet jest mozliwosc podania separatora rekordow. domyslnie jest to znak nowej linii (takze w tradycyjnym grepie, tylko ze tu nie ma mozliwosci zmiany go), ale mozna za pomoca opcji -d tenze separator zmienic. inna z zalet jest mozliwosc podania wzorca w osobnym pliku. reszta w manie ;)
acl

nie, nie chodzi o listy kontroli dostepu ;) acl to advanced color logs. male ale przydatne czasem, jesli trzeba odnalezc cos w gaszczu logow. ten skrypt perla w bardzo mily dla oka sposob koloruje logi, dzieki czemu znacznie latwiej jest cos tam zrozumiec ;)

najprostsze uzycie:

acl < /var/log/messages
% tail  -f /var/log/syslog | acl

co spowoduje wsywietlanie na biezaco pokolorowanych logow pojawiajacych sie stopniowo w /var/log/syslog

http://linuxrc.net/linuxrc.org/projects/acl/


juz wiem, ze warto bylo sie przesiasc z dovecota na courier’a. jest nieco mniej zasobozerny, i znacznie lepiej wspolpracuje z outlookiem/thunderbirdem w zakresie imap (pop3 bez roznicy):

  1. nie mieszaja im sie katalogi (jeden tworzyl jedne, drugi drugie i sie nie mogli dogadac - a webmail wprowadzal dodatkowe zamieszanie)
  2. po doinstalowaniu i skonfigurowaniu fam’a na biezaco uaktualnia obecnosc (lub nie) maili (przy jednocznesnych operacjach via program/webmail), etc.

nie wiem tylko jak bedzie gdy ktos rownoczesnie przez pop3 i przez imap bedzie walczyc… cos w dokumentacji czytalem ze ktores ma wiekszy priorytet, ale nie pamietam tera. tak czy inaczej, warto bylo. oczywiscie pozwala na autoryzacje z bazy :) co samo w sobie jest niezwykle wygodne mile i przyjemne ;)


zeby w pld zapewnic obsluge autoryzacji z bazy, trzeba przebudowac speca z odpowiednimi bcondami, ponieaaz domyslnie buduje sie z wylaczona obsluga baz danych. na szczescie zyczliwa dusza nalozyla mojego patcha, i teraz z cvs mozna pobrac poprawiona wersje speca:

% cvs get SPECS/proftpd.spec

w specu poprawilem tez quoty - bo byly jakies stare, zdezaktualizowane quoty (a raczej bcondy do nich), i nie dzialaly. w kazdym badz razie ja swojego proftpd zbudowalem tak:

% ./builder proftpd --without ipv6 --with mysql --with quotamysql

jeszcze tylko zabraklo mi libwrap-devel wiec:

# pd -i libwrap-devel

(pd to u mnie alias do poldka)

teraz juz pakiet zbudowal sie poprawnie, poprawnie sie zainstalowal. czas na konfiguracje:

#pam jest zupelnie nieprzydatny tutaj
AuthPAM off
AuthPAMAuthoritative off
#autoryzowac ma _tylko_ z bazy. jesli ktos chce takze z kont systemowych (ja nie chcialem),
#to mozna dodac do ponizszej linijki mod_auth_unix.c - lista dostepnych
#modulow wyswietli sie po wydaniu komendy proftpd -l
AuthOrder mod_sql.c
#i teraz najciekawsze:
SQLAuthenticate users groups usersetfast groupsetfast
SQLAuthTypes Encrypt
SQLConnectInfo baza@host login haslo PERSESSION
SQLGroupInfo groups groupname gid members
SQLHomedirOnDemand off
SQLMinUserGID 1000
SQLMinUserUID 500
SQLUserInfo users login password uid gid home shell
SQLUserWhereClause “(date_expire IS NULL OR date_expire > NOW()) AND status=’enabled’”

szczegoly odnosnie powyzszych (i nie tylko) pol mozna znalezc na tej stronie

i smiga :) tylko musialem wylaczyc na razie te konfigi, bo jeszcze bazy danych nie mam uzupelnionej ;) dzis to bede musial zmienic, bo chce wywalic dovecota z serwera. a jesli wrzuce obecny konfig courier’a, to nie bedzie poczta mi dzialac bez uzupelnionej bazy… a skoro uzupelnie baze to bede mogl wrzucic powyzszy konfig proftpd… etc etc - takie koleczko male ;)


w koncu udalo mi sie uniezaleznic konta mailowo/ftpowe od serwerowych. wszystko trzymane w bazie. poczatkowo chcialem to zrobic za pomoca pam (mod_mysql.so), ale to bzdura, bo i tak sa potrzebne konta systemowe i tak. pam nie dostarcza takich informacji jak uid, gid czy homedir. wiec go w koncu olalem…

soft:

  • proftpd 1.2.10 (musialem popoprawiac troche speca z pld, bo byl niektualny - gdzies w miedzyczasie sie zmienily opcje dotyczace quoty, a domyslny pakiet nie mial mod_sql wkomilowanego) - poprawiony spec lezy juz w cvs pld
  • exim 4.43
  • courier imap {pop3, imap i authmysql}
  • pdns 2.9.16

dzieki temu zastawowi moge sobie ulatwic duuuuzo pracy. pozostaje mi teraz poprzenosic konta systemowe do bazy, zeby nie bylo problemow z logowaniem sie (chwiloiwo przez to musalem wrocic na dzisiejszy dzien do starych konfigow, bo inaczej nikt by nie odebral/wyslal poczty ani sie nie mogl zalogowac via ftp ;) ), ale dzis w nocy dokoncze dziela… :)

jestem z siebie zadowolony (tym bardziej ze wsio robilem z goraczka ca 38 stopni, chory i ogolnie rozbity ;) )

pozniej moze postaram sie poumieszczac przepisy na to co i jak zrobic zeby osiagnac podobny stan :)


znowu serwer… znowu cos sie wali. nie czaje. sprzet markowy - asus, kosci twinmosa, dyski etc wszystko niby dobrej jakosci. a co jakis czas mu odbija… chwilowo zaczelem podejrzewac ze to moze cos z dovecotem ktorego mam jako imap/pop3/imaps/pop3s, bo sie jakies segfaulty pokazywac zaczely, ale konkretow zadnych nie znam. logi prawie puste :( chujnia na max. puscilem przed chwila testowego reboota, pojawil sie broadcast ze maszyna bedzie sie rebootowac. i na tym sie skonczylo. jak stoi tak stala. hgw o co jej chodzi. moge sobie jeszcze pare razy tak puscic, i reakcja bedzie taka sama. dmesg pokazuje w sumie tylko te segfaulty dovecota. i nic wiecej nie wiadomo… ech :(

chyba jutro podjade do serwerowni, sprobuje cos zrobic. w repo pld pojawily sie nowe glibce, i moze sprobuje jajo przekompilowac. wrzucajac przy tym nowe of koz. a jak sie nie da, to nie wiadomo czy nie pojde w strone jakiejs fedory/debiana (amd64)… moze to pomoze :( choc do tej pory pld smigalo ladnie i na kilku desktopach, i na kilku serwerach :(


czasem rezygnuje z vima na rzecz eric3 dla programow w pythonie. dzis sie niezle przejechalem (w sumie drugi raz, ale za pierwszym razem stwierdzilem ze trzeba dac mu druga szanse): w pewnym momencie ot tak sobie powstal jakis zajebisty wyciek pamieci, ze tylko widzialem w gkrellmie jak mi znika ram (768) i swap(300) do zera z predkoscia zblizona do pierwszej kosmicznej… i po chwili ledwo mial sile mi kursor myszki przerysowywac w miare przesuwania po erkanie, nie mowiac o przelaczeniu pulpitu czy skillowaniu programu… chujnia. twardy reset :(

eric3 na razie idzie w odstawke na rzecz gvima. w sumie dobrze. nie bede musial sie rozmieniac na rozne edytory… :)

nie wiem jak to sie stalo ze zauwazylem to dopiero teraz: po prawej stronie lewego shifta (;) )mam dodatkowy przycisk oznaczony jako backslash/more(pipe), ale generuje mi znaki < i > (ten drugi to z shiftem ;) )

podmapowalem je sobie od razu pod to co jest na nich narysowane, bo stwierdzilem ze to moze byc bardziej przydatne:

keycode 94 = backslash bar

jako ze po tej operacji przestaly dzialac mi < i > znajdujace sie nad , i . ;) to poprawic tez trzeba bylo i to:

keycode 59 = comma less
keycode 60 = period greater

jak na razie smiga ;)

przy okazji sprawdzilem cala klawirke czy jeszcze jakies buttony mi sie nie zapodzialy…


aby wykorzystac dodatkowe buttony (multimedialne) w klawirce logitech cordless desktop lx300 pod linuksem, potrzebne sa: xbindkeys i xmodmap. gdy juz te dwa programy sa, trzeba kolejno:

najpierw w /etx/X11/xorg.conf zmieniamy w sekcji InputDevice odpowiadającej za ustawienia klawiatury zmieniamy XkbModel na logicdp (mozna na inny model, ale ten jest najbardziej kompatybilna z ta klawirka - wykaz modeli w /usr/X11R6/lib/X11/xkb/symbols/inet). aby uzyskac to samo doraznie mozemy uzyc komendy: setxkbmap -model logicdp. to daje nam juz przyporzadkowane kody klawiszy dla przyciskow oznaczonych jako: favorites, play/pause, stop, volume+ i volume-, mute, rev i fwd oraz email. reszty trzeba dorobic sie samemu ;)

za pomoca xev odczytujemy keycode (focus musi byc na okienku xev’a, wciskamy przycisk, a na konsoli wyskakuje nam opis danego buttona) poszczegolnych przyciskow, np. dla home jest u mnie 130. spisujemy oczywiscie wszystkie wartosci.

nastepnie edytujemy ~/.xmodmaprc (jesli go nie ma to tworzymy)), i wpisujemy po kolei:

keycode 130 = XF86HomePage
keycode 234 = XF86Back

nazwy buttonow mozna wziasc z /usr/X11R6/lib/X11/XKeysymDB. ew. mozna tez dopisac wlasne, ale to imo bez sensu, skoro sa gotowe do wykorzystania ;)

gdy juz wszystko co trzeba jest dopisane do ~/.xmodmaprc, bierzemy sie za xbindkeys.

% vim ~/.xbindkeysrc

i tam dopisujemy wszystko wedlug szablonu:

"komenda"
c:keycode

ja mam m.in.:

#XF86AudioMute
"[ -f /tmp/aumixrc ] && (aumix -f /tmp/aumixrc -L; rm -f /tmp/aumixrc) || (aumix -q > /tmp/aumixrc; aumix -w 0)”
c:160
#XF86AudioPrev
“xmms -r”
c:144
#XF86AudioNext
“xmms -f”
c:153

na koniec:

% xmodmap ~/.xmodmaprc
% killall xbindkeys; xbindkeys

jesli nic nie spieprzylismy po drodze, to teraz bedzie smigac… :)