Archive for the ‘Linux’ Category.

Dwm

I pluggtider likt denna passar det utmärkt att skriva ett inlägg på bloggen igen. Posten tänkte tillägnas dwm och den utveckling jag har genomgott för att hamna där jag är idag. Jag har ingen aning riktigt hur länge jag har varit en GNU/Linux användare, det jag vet är att jag installerade Arch Linux för första gången år 2009 och att jag innan det använde Ubuntu (som alla andra ungefär). Ungefär så här har utvecklingen sett ut: Gnome -> Fluxbox -> Awesome WM -> dwm -> ??. När jag använder Windows (bah!) är det bblean som gäller. Nåväl. Lite om dwm. Jag gillar dwm. Jag gillar tanken med att ha så få SLOC som möjligt och samtidigt ha grundläggande funktionalitet med stora möjligheter att patcha de funktioner man saknar, för patchar finns det. Dessa har jag för tillfället:

pertag2.dff – Låter varje tag agera självständigt, bestäm vilken layout varje tag ska ha etc. Jag vill exempelvis bara att tagen term ska en sorts layout (ntile) med gaps, i andra fall är gaps irriterande.
op.menu.patch – Kommer du från Awesome har du säkert använt dig utav menyn som kommer upp när du högerklickar på skrivbordet (eller på ikonen i vänstra hörnet) Denna patch ger dwm den funktionen.
activetags.dff – gör att du bara ser de tags som har något innehåll. Varför se oanvända?
bstack.c – Intressant layout
bstackhoriz.c – ^^ .Tänk på att m->mfact måste ändras till m->mfacts[0] när du lägger till nya layouts om du använder pertag2.
urgentcolors.dff – Antar att det säger sig självt? Smidigt om du använder IRC/IM och vill se när någon vill dig något.
remember-tags.dff – Glömmer dina tags, eller va?
push.dff – Flytta fönster med tangentbordet.
cycle.dff – Ha muspekaren vid tagsen och scrolla så byter du tag. Funkar även med tangentbordet.
galpessgrid.dff – En layout till. Tack så mycket.
gaps.dff – Ja tack.
focusonclick.dff – Tryck på fönstret för att använda det.
autoresize.dff – Fönster som inte syns får gärna ändra storlek de också.
fancycoloredbarclickable.diff – Kombinerar statuscolors och fancybar. Conky ser lite finare ut och jag ser titeln på de fönster som förekommer på den tag jag är aktiv i.
centred-floating.diff – Varför vill de hamna vid sidan för? I mitten med er!

Jag orkar inte länka till patcharna, sök på google så ordnar det sig nog. Jag är långt ifrån expert på dwm, jag kommer säkerligen ändra min konfiguration någon gång. Nu är jag ganska nöjd dock. På min deviantart finns det för tillfället en screenshot. Den speglar däremot inte hur dwm ser ut i nuläget. Ett tips är att börja med pertag2, sedan kan du få patcha de flesta för hand. Roligt roligt.

Lm sensors och Asrock, Intel Atom

Jag använder mig utav Awesome wm, en fönsterhanterare som är vad namnet antyder, awesome. Jag använder mig av för mig nyttiga widgets som jag när tiden finner försöker att optimera. När jag har mycket dödtid händer det att jag försöker hitta inspiration till nya kreationer, något jag alltså har gjort idag och som jag anser förtjänar ett inlägg på min blogg. Tidigare har jag inte känt något större behov utav att kolla temperaturen på CPU:n men idag tänkte jag, varför inte?

Jag visste att det var ganska vanligt att folk gjorde en widget som visade temperaturen, jag tänkte därför att jag inte skulle behöva skriva alltför mycket som skulle visa den information jag var ute efter, detta var därför det första jag gjorde. Vicious använde jag sedan tidigare och jag visste att det fanns en färdig modul för detta ändamål. Det andra jag gjorde var att installera Lm sensors och körde sensors-detect som sig bör, efter att ha svarat yes på följdfrågorna, laddade upp de moduler jag blev uppmanad att göra (coretemp max6650) och skrev in sensors kom följande upp:


coretemp-isa-0000
Adapter: ISA adapter
Core 0: +7.0°C (crit = +90.0°C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1: +22.0°C (crit = +90.0°C)

Jag fick en känsla utav att något fattades, detta var ju inte den information jag var ute efter. Jag blev lite lost och försökte hitta lösningar på Google/bbs.archlinux.org. Efter en stunds sökande försökte jag tänka lite logiskt och göra om processen. Jag körde sensors-detect och läste den information jag fick, tydligen fattades det en modul för moderkortet vid namn NUVOTON W83677HG I. Äntligen något att gå på tänkte jag. Jag märkte att problemet var ganska vanligt. Jag hittade också en lösning som verkade vara väldigt mycket overkill för att se temperaturen i en widget, något jag egentligen skulle klara mig utan. Lösningen skulle resultera i att kompilera en modul till kärnan. Jag valde att inte göra det, istället tänkte jag att lösningen kanske var outdated och därför inte längre aktuell. Jag valde att testa att köra sudo modprobe w83627ehf för att se om min tanke stämde. Det visade det sig att jag hade rätt, skönt tänkte jag. kommandot sensors visade nu informationen jag var ute efter. Nu var det dags att fixa till min widget, jag skrev inte hela själv, men jag kortade ner den väldigt mycket och ändrade nästan allting. Slutresultatet:


-- CPU temp widget
tempwidget = widget({ type = "textbox" })
vicious.register(tempwidget, vicious.widgets.thermal,
function (widget, args)
if args[1] >= 75 and args[1] < 80 then
return "" .. theme.fg_temp2_widget .. "temp " .. col .. theme.fg_temp3_widget .. args[1] .. "C " .. col .. ""
else
return "" .. theme.fg_temp_widget .. "temp " .. col .. theme.fg_temp1_widget .. args[1] .. "C " .. col .. ""
end
end, 19, { "w83627ehf.656", "core"} )

Det största problemet jag hade i det här fallet var den sista raden. Originalet såg ut så här:
end, 19, “thermal_zone0″ )

thermal_zone används inte längre. /sys används istället för /proc och hwmon används istället för thermal_zone (det sistnämnda är åtminstone någonting jag har fått för mig). Till en början var jag inne och kollade runt i olika mappar efter det som ska motsvara tidigare /proc, något som tog tid men inte gav något alls. Jag hade tidigare kollat i mappen där vicious förvarar sina widgets och lite slött studerat thermal.lua. Något jag nu gjorde lite mer ingående. Jag blev intresserad av att veta vad som gömde sig under /sys/devices/platform som tillhörde “core”:

alex:~> ls /sys/devices/platform/
▕ drwxr-xr-x▏< hour│ 0B│coretemp.0
▕ drwxr-xr-x▏< hour│ 0B│coretemp.1
▕ drwxr-xr-x▏< hour│ 0B│i8042
▕ drwxr-xr-x▏< hour│ 0B│pcspkr
▕ drwxr-xr-x▏3 min │ 0B│power
▕ drwxr-xr-x▏< hour│ 0B│regulatory.0
▕ drwxr-xr-x▏< hour│ 0B│reg-dummy
▕ drwxr-xr-x▏< hour│ 0B│serial8250
▕ drwxr-xr-x▏< hour│ 0B│vesafb.0
▕ drwxr-xr-x▏< hour│ 0B│w83627ehf.656
▕ -rw-r--r--▏< hour│ 4K│uevent

w83627ehf.656 blev genast intressant, den påminde mycket om den modul jag tidigare aktiverade för att slutligen kunna se temperaturen i terminalen. Med denna information kunde jag fixa den sista raden i min widget och kan nu se temperaturen. Var det värt besväret? Jag vet inte, jag lärde mig en del och har hade ändå inget bättre för mig.

Error 15

De senaste dagarna har varit ytterst spännande med flertalet händelser, det är dock bara en av dem som jag kommer att ta upp här. Då jag är väldigt seriös vad gäller Facebook tänkte jag byta namn på ett album jag har skapat innehållande två st pandor till /boot/kernel26.img för att visa min uppskattning gentemot mina vänner i nöd. Jag tänkte i samband med detta att det kunde vara bra att faktiskt titta in i /boot för att se om allting stämde, döm till min förvåning när mappen var tom. Det fanns ingenting under /boot. Direkt började jag fundera kring vad jag kan ha gjort för att åstadkomma detta elände. Tankarna kom direkt till ett skript jag testade som skulle ta en backup på bland annat /home, men varför skulle en mapp med innehåll försvinna och andra mappar vara kvar? Skumt. Jag visste hursomhelst att jag inte skulle kunna starta om datorn med det resultat jag är van vid. Jag började därför att kopiera systemfiler som jag fint hade konfigurerat samt /home till en av mina externa hårddiskar. Sedan samlade jag mod och startade om datorn. Error 15 kom som förväntat upp då ingen menu.lst eller allt annat viktigt som ska finnas i /boot faktiskt inte fanns där.

Efter denna händelse började jag fundera kring nästa steg. Skulle jag sätta in archskivan jag har och installera om GRUB och eventuellt kärnan, eller starta en ren installation? Jag bestämde mig för det sistnämnda, jag har tidigare dualbootat med Windows men väldigt sällan använt Windows och tänkte därför att det var dags att bli av med skiten. Jag hade säkerligen mycket skit under Arch också och med min backup till hands skulle jag kunna återskapa det mesta, förutom all skit jag har samlat på mig.


:(

SVT Play – Utan flash

Alla som använder Linux vet att Adobe Flash inte är något vidare, dessutom är alla svenskar väl medvetna om att SVT använder sig utav Flash på sin annars intressanta innehållsmässiga hemsida. Många som använder sig utav Linux installerar någon dist och kör sedan vidare, utan att kolla efter tips och trix på saker som de stör sig på. Jag är inte en av dem. Jag har sedan länge använt mig utav lite halvtaskiga och tråkiga skript som gör att mplayer spelar upp de klipp SVT Play har att erbjuda. Jag ansåg att jag behövde kolla vidare efter bättre skripts (som andra har gjort, såklart). Nedan kommer två st, den ena streamar via mplayer medan det andra laddar ner videos. Riktigt bra! Som tidigare har nämnts så är det smidigt om följande finns i .bashrc eller vilket shell som nu används: export PATH=”${PATH}:${HOME}/bin” där du senare placerar följande om de verkar vara av värde för dig.

Streamning:
svtplay.pl – Ett tips är att kolla vad det är för pearlmoduler som du behöver och om du har dem. Även rtmpdump och mplayer behövs.

Ladda ner videos:
Skriptet kommer ursprungligen från ett svensk forum. Jag tänker inte ta äran för de fåtal ändringar som jag har gjort vilka är följande;
1. Tog bort delen där skriptet ville installera beroenden som saknades (dessa var för ämnade för Ubuntu).
2. Tog bort delar som är relaterade till zenity. Jag hade inte programmet installerat och ville inte ha det bara för skriptet. Istället la jag till notify-send vilket de flesta redan har installerat. Smidigt? Ja.
I alla fall, här kommer det:


#! /bin/bash
#
TITLE="Hämta hem fil från SVT-Play"
LINK=$(yad --center --entry --width=800 --title "$TITLE" --text "Högerklicka och klistra in länken till filmen" 2>>/dev/null)
if [[ $LINK != "" ]]; then
DATE=$(echo $LINK | awk -F \/ '{ print $7 }')
if [[ $DATE != "" ]]; then
FILM=$(basename $LINK | awk -F \- '{ print $4 }')
if [[ $FILM != "" ]]; then
TYPE=$(basename $LINK | awk -F \. '{ print $2 }')
if [[ $TYPE != "" ]]; then
OUTFILE="$FILM-$DATE.$TYPE"
rtmpdump -r $LINK -o $OUTFILE 2>&1 | yad --center --title "Hämtar $OUTFILE" --no-buttons --tail --text-info --width 600 --height 20
IRET=$?
if [[ $IRET != 0 && $IRET != 252 ]]; then
notify-send "Hämtning av film misslyckades ($IRET)!"
exit
fi
else
notify-send "Kunde inte finna någon implicit filmtyp i angiven webbadress!"
exit
fi
else
notify-send "Kunde inte finna något implicit namn i angiven webbadress!"
exit
fi
else
notify-send "Kunde inte finna något implicit datum i angiven webbadress!"
exit
fi
else
exit
fi

Herrå!

Jätteavancerat bashskript

Jag har inte riktigt haft något större behov utav att sitta mig framför Vim och göra ett skript tidigare, men då jag egentligen måste plugga och alltid har stört mig på en sak med Awesome och dess meny (som fungerar som en sådan Fluxbox,bblean, openbox etc använder sig utav) tänkte jag att det nu var ett gyllene tillfälle att fixa det, problemet har varit att få Spotify (som nästan aldrig använts, men ändå) att funka. Miranda IM har jag aldrig haft problem med att få in i menyn men desto svårare har det alltså varit med Spotify. Tills nu. Titta och lär för 1337 kaptenen har varit i farten:

>>> cat bin/pspotify [~]
#! /bin/bash

wine ~/.wine/dosdevices/c:/Program\ Files/Spotify/spotify.exe

Sist men inte minst, följande i rc.lua:
{ “Spotify”, “pspotify” },

Nej, jag var inte seriöst med att det var avancerat. Däremot så löste sig problemet.

Gnash 0.8.8 släppt

En ny version utav Gnash är nu släppt, i den nya versionen så ska tydligen Youtube fungera till 100%, Gnash kan snart bli ett bra alternativ till Maemo istället för Adobe Flash, operativsystemet som Nokia N900 kommer med, detta av två anledningar:
1. Adobe flash är ingen fri programvara, det är Gnash.
2. Det finns enbart en något äldre version av Adobe Flash tillgängligt, det går dock att fixa till.

Det finns såklart frågor som uppstår, hur bra fungerar Youtube? Hur är det med spel i flash, hemsidor i flash? Jag antar att det bara finns ett sätt att ta reda på det: att testa själv. Dessvärre bryr jag mig inte om Youtube då jag använder ett skript som gör att jag slipper flash och använder (i mitt fall, vlc och liknande funkar också) mplayer, smidigt och snabbt.

Maemo, Meego och Nokia N900

För ett par veckor sedan införskaffade jag mig en ny mobil. Min Nokia N-Gage talade för sista valsen med batteritider som var under all kritik med mera. Mitt ex har varit en trogen följeslagare som har varit med om mycket, mycket skratt pga dess utseende, speciellt när det ringer och man tar emot samtalet. Så, varför valde jag då en till Nokia, en Nokia som är betydligt bättre än den jag en gång hade? Jag tänkte så här:

1. Det är en Nokia – Jag skulle inte vilja ha något annat än en Nokia, Vill jag ha Google i min mobil? Nej. Vill jag ha en iPhone där exempelvis inte Flash funkar alls, och multitasking kommer som en nyhet? Nej.
2. Det är Linux på den – Det är alltid tilltalande med öppenhet, synd att det fortfarande är mycket som är stängt, tänker på Nokia:s drivrutiner. Ett minus är att många kända program till Linux som har blivit portade till Maemo inte är de senare versionerna, som användare av Arch så tar det lite i hjärtat.
3. Det är en kraftig mobil med många möjligheter – Det finns mycket användaren själv kan fixa till, du kan porta andra operativsystem för att därför få tillgång till fler program (Easy Debian, Android etc)
4. Tar jag det med abonnemang så blir det inte mycket att betala, per månad (i längden tjänar jag kanske inte något…)

Vad tycker jag nu då, gjorde jag en bra affär? Är jag Nöjd? Svar är ett svagt ja. Jag delar mycket av kritiken som riktas mot Nokia för dess svek mot Maemo och Nokia. Att börja koncentrera sig på ett nytt operativsystem (Meego) så här tidigt, och samtidigt inte fixa så att användare av N900 kan ta del av det nya operativsystem känns fel, men vi får testa utvecklingsversionen fram tills det slutgiltiga släppet, yey. Diskussionerna om uppdateringen av Flash och liknande bryr jag mig inte nämnvärt om, men det var inte jag som släppte Nokia som en dator, det var Nokia. Att då inte satsa på att uppdatera Flash känns som ovan nämnda, fel. Som Mobil är den dock bra, batteritiden kan diskuteras. Ringa, sätta väckarklocka, spela Harpan, skicka MMS (fMMS), skicka sms och standargrejer funkar, vilket gör att jag inte planerar att sälja den än på ett tag.

Miranda IM är saknad

I min första post så skrev jag så gott om Miranda IM, i mitt tycke det bästa program till Windows som kan hantera MSN-protokollet, det var ett program jag även använde mycket med Wine (och väldigt mycket med Windows). Miranda började dock strula (troligtvis så var det winetricks fel…) vilket gjorde att jag letade vidare efter något annat program. Jag började använda Pidgin lite smått, helt ok. Det jag nu använder större delen av tiden är dock bitlbee, väldigt smidigt tillsammans med Irssi som jag använder ofta, drar knappt några resurser och det känns väldigt effektivt, förutom vad gäller filhanteringen – som inte finns. Under en utvecklingsversion så finns det stöd för filhantering, men det är i ett sådant stadie så att jag inte orkar använda den. Kortfattat:
Skicka filer, gui = Pidgin
Oftast = Irssi + bitlbee

Hej.

Ladda ner från myspace via terminalen

Idag slösurfade jag i vanlig ordning och hittade då ett fint skript i python som gör det möjligt att ladda ner från myspace, först laddas låtarna ner i .flv-format och konverteras sedan automatiskt till .mp3. Smidigt och enkelt!

Jag la in skriptet i ~/bin så att jag slipper trixa med jobbiga alias och liknande, får du för dig att göra detta så tänk på att först göra följande i någon fil som ditt shell läser av (~/.zsh/exports i mitt fall):
export PATH=”${PATH}:${HOME}/bin”

Fattas det något så borde det här fixa biffen:
sudo ./myspace.py -install

Källa:
http://ubuntuforums.org/showpost.php?p=8692797&postcount=5

Uzbl, webbläsaren som går efter Linuxfilosofin

Jag har testat Uzbl sen det begav sig för webbläsaren som är skapad efter den filosofi som Linux utgår från, att göra en sak och göra den bra, jag har dock snabbt lämnat Uzbl åt sidan många gånger för att jag har ansett att Firefox (eller Swiftfox som jag använder) alltid har varit bättre, något som säkert stämmer. De senaste två månaderna så har jag dock alltmer testat och konfigurerat Uzbl, testat de skripts som finns etc. Jag gillar det jag ser, men det finns ett antal saker som gör att jag ändå använder Firefox. Dels så kraschar Uzbl när jag loggar in på gmail, det jag också saknar är de tillägg som faktiskt gör Firefox så bra.  Jag tänkte dela med mig utav min config för Uzbl, en fil som jag förbättrar hela tiden. Vänligen kommentera ifall ni ser något uppenbarligt fel.

http://pastebin.com/19kDn5pD
Edit: Jag använder inte Uzbl så mycket längre, och min konfigurationsfil är mycket uppdaterad. Återkommer med en senare post.