Kaip dažnai jus siųsdavo „gūglinti“, kai linuksą dar tik bandėt perprast? Ir kaip dažnai dabar jūs siunčiat kitus „gūglint“, vietoj to, kad atsakyti į pradedančiojo klausimus?

linuksoido klausimėlis

Firefox 3.6

2010-01-21, GODhack

Šiandien. Išleido.

Daugiau info

Susidūriau vakar su problemėle. Kopijuojant gigabaitinį failą į USB atmintuką kompiuteris ima smarkiai stabdyti, net pelės žymeklis laikas nuo laiko prišąla prie ekrano. Pasižiūrėjau su top-u, procesorius beveik neapkrautas, jis neturėtu stabdyti. RAM užpildytas pilnai, čia aišku kešuojamas kopijuojamas failas, bet į swap-ą nieko nekrauna, todėl stabdyti taip pat neturėtu.

Priežastis paaiškėja pažiūrėjus į šią eilutę:

Cpu(s): 2.1%us, 1.3%sy, 0.0%ni, 0.3%id, 96.3%wa, 0.0%hi, 0.0%si, 0.0%st

96.3%wa reiškia, kad procesorius nieko daryti negali nes užsiėmęs laukimu kol atsilaisvins kažkoks procesas. Kvaila situacija panaši į valdininko darbą…

Šiandien radau sprendimą. Pasirodo problema linux užduočių planavimo nustatymuose. Jis bando vieną, neskaidomą užduotį paskirstyti tarp dviejų branduolių. O jie vienas kitą blokuoja :( Ką darom? Pirmiausia pažiūrim į pertraukimų sąrašą:

kiras@linuksoidas $ cat /proc/interrupts
      CPU0   CPU1
...
19:   99     29095 IO-APIC-fasteoi ehci_hcd:usb1, ohci_hcd:usb2, ohci_hcd:usb3
...

Susirandam pertraukimų numerius skirtus usb jungtims. Pas mane tik vienas, 19. Tada pririšam juos prie vieno kurio nors branduolio, pavyzdžiui prie nulinio:

echo 1 > /proc/irq/19/smp_affinity

… žiūrim kas gavosi. Man šis veiksmas padėjo. Jei susidūrėt su tokia pačia problema ir priežastis ta pati, padės ir jums.

Besikapstydamas po /usr/portage/app-misc/ iš visiško neturėjimo ką veikti radau visai naudingą programėlę Anki. Kaip sako aprašymas:
$ cat /usr/portage/app-misc/anki/anki-0.9.9.8.5.ebuild | grep DESCRIPTION
DESCRIPTION="A spaced-repetition memory training program (flash cards)"

Sounds fun haha. Taigi nepatingėjau ją susikompiliuoti. Programa iš ties pasirodė visai naudinga, nors žinoma stebuklų nepadaro. Principas tas, kad pirmiausiai suvedami klausimai ir atsakymai į juos. Paskui programa parodo klausimą ir paspaudus space atsakymą. Turi pats pažymėti ar atsakymą atsimeni ar ne. Patogiausia tas, kad tie klausimai kurių atsakymus atsimeni „užkasami“ giliai ir rodomi tik po kelių dienų. Todėl iš naujo kartojama tik dar nežinoma informacija. O tai padeda sutaupyti laiko. Dar svarbu nerašyti ilgų atsakymų ir išskaidyti juos į kelis klausymus. Kitas dalykas, kad spandyti programą yra savotiškas žaidimas ir padeda „užmušti“ nuobodulį, be to galima pažiūrėti savo įsiminimo progreso statistiką.

Tikiuosi kam nors pravers.

Ilgą laiką buvau Openbox naudotojas, o prieš tai naudojau Fluxbox, o dar prieš tai Gnome, o pradėjau nuo KDE. Bet jos visos turėjo vieną ir tą patį trūkumą: jos netvarkė langų už mane. Unix filosofija visuomet teigė, kad programa turi atlikti vieną darbą ir jį atlikti gerai. Jei langų tvarkyklė neveikia pagal savo pavadinimą ir palieka visus minimize/maximize džiaugsmus man kaip naudotojui tai ji neatitinka Unix filosofijos. Kadangi net langų tvarkyklė neatitinka Unix filosofijos tai tada nėra fun naudotis kompiuteriu. Taip galiausiai tas langinių tampymas pagal windows įpročius mane užkniso ir taip atėjo laikas naujovėms. Atėjo Awesome laikas. O tai atrodo maždaug taip:

ArchLinux___Awesome_Greenish_by_nustyle

Esminė idėja labai paprasta atidaromas naujas langas, o likę sumažinami pagal iš anksto užprogramuotą schemą kurią galima pasirinkti arba susikurti. Visi kvaili tampymai ir -/☐/x eina *. Pele užtempus ant lango arba Mod4+j kombinacija aktyvuojami vis kiti langai. Mod4+f kombinacija perjungia tą langą į fullscreen rėžimą. Mod+skaičiai siūlo turėti dar iki 9 darbastalių. Tie kas nori geriau pažinti awesome valdymą siūlau paskaityti:

man awesome

Norint galima susikonfigūruoti *box stiliaus „startą“ arba windows stiliaus startą arba netgi paleisti programas klavišų kombinacijomis. Pvz.: Mod4+Enter atidaro terminalą. Būtent didžiausios linksmybės prasideda pradėjus konfigūruoti. Viskas valdoma per Lua (lua.org) skriptus. Kalba nėra sunki. Tarkime jei norime, kad klavišų Mod4+m kombinacija atidarytų Firefox mums reikės tokios papildomos eilutės awesome/rc.lua skripte:

awful.key({ modkey, }, "m", function () awful.util.spawn("firefox") end),

Jei kam įdomu bus galėsiu plačiau paaiškinti Awesome Lua skriptinimą, bet tai gana savaime suprantama, ypač jei žiūrite į jau esamus pavyzdžius. Labiausiai žavi galimybės: vos keliomis viena į kitą panašiomis eilutėmis pasidariau tokį pat menu kokį mėgau ant Openbox ir be to susikūriau klavišų kombinacijas visoms mėgstamiausioms programoms paleisti. Vėliau manau padarysiu dar daugiau. Labiausiai gundo viršuje esančios juostos „užskriptinimas“ taip, kad joje matyčiau tik ką noriu.

naujienos trumpai

Linux 2.6.32

2009-12-05, GODhack

Prieš pora dienų pasirodė nauja Linux branduolio versija. Trumpai aprašysiu pagrindines naujoves. Plačiau galite pasiskaityti kernelnewbies.org puslapyje.

  • Pagreitintas didelių duomenų kiekių įrašymas.
  • BTRFS patobulinta.
  • Atminties deduplikacija. Vienodais duomenimis apkrauti RAM atlaisvinami.
  • Seniau sukurti GEM ir KMS padėjo pamatus tolimesniam 3D grafikos tobulinimui. Patobulinti Intel ir Radeon draiveriai
  • make localmodconfig aptiks užkrautus modulius ir juos sukels į .config failą, o tai turėtų palengvinti branduolio kompilavimą.
  • Patobulinta virtualizacija.

Gavau google Wave pakvietimą. To pasėkoje prisiregistravęs gavau dar 8 pakvietimus. Siūliau pražystamiems, bet niekam neįdomu: et skaipinimo maniakai. Taigi tada sugalvojau mini žaidimą. Taisyklės paprastos:
Komentaras parašomas iš Linux distribucijos.
Komentaras jei parašytas iš viršuje dar dar nematytos distribucijos gauna pakvietimą. Kitaip sakant vienai distribucijai vienas pakvietimas.
Kai pakvietimai mano baigsis bus žaidimas baigtas.
Nepamirškit nurodyti teisingo el. pašto adreso.