Mickes blogg

GNU/Linux, Fri programvara2008-12-19 12:13:43

In older news: På IDG kan vi läsa om hur en av tre myndigheter piratkopierar sin mjukvara (artikeln är från 30/9, jag hade inte sett den förrän jag blev tipsad på Ubuntu-se.org). Nu ska Ekonomistyrningsverket kan få ansvar för att granska myndigheters fusk med mjukvarulicenser.

Mörkrets makter, BSA, hänger naturligtvis på. IDG skriver att "BSA, som företräder programföretag, drar under hösten igång en kampanj med anledning av rapporten. Över 4 000 chefer i privata företag, myndigheter, kommuner och landsting ska kontaktas."

Enklast för alla vore naturligtvis om alla dessa företag och myndigheter istället för att betala grova pengar för undermålig kod i stället gick över till att använda fri programvara, som förutom att vara fri, för det mesta också är helt gratis. Så alla där ut, sätt nu i gång och skriv ett brev till kommuner, landsting och företag i din närhet och gör dem uppmärksamma fri programvara. För de först ett otrevligt kravbrev från BSA och därefter ett trevligt brev med upplysningar om hur man kan gå över till fri programvara kanske de till och med lyssnar. Kanske är det också dags för den goda sidan, FSF, att dra i gång en egen kampanj?

Läs mer:

Urban Anjar bloggar om företag som trakasseras av Microsoft: http://pcforallasmart.idg.se/bloggar/ubuntu/entry.jsp?messid=1347

Mikrofoncaught bloggar: http://mikrofoncaught.blogspot.com/2008_09_01_archive.html

Läs även andra bloggares åsikter om datorer, fri programvara, it, politik, statlig förvaltning, öppen källkod

GNU/Linux, Fri programvara2008-12-11 21:42:13

Jag brukar vanligen använda en trevlig textredigerare/IDE som heter Geany när jag knackar kod, den är lättviktig, trevlig och kan användas till det mesta som andra mycket "tyngre"  utvecklingsmiljöer kan. Inklusive att debugga kod, till och med java-program!

Vi börjar med att bygga geany från källkod, eftersom vi vill kunna använda en massa plugins som bara funkar med den senaste versionen från subversion. Om man bara är intresserad av att testa den som textredigerare kan man förstås installera en äldre version från t.ex. Ubuntus förråd: sudo apt-get install geany eller ladda hem den från geanys hemsida om man inte har avinstallerat Windows från sin dator ännu (men då får man också en äldre version än den som finns i subversion): 

Ok, om ni testade att bygga dia från subversion som vi gick igenom förra veckan, så har ni redan subversion och autoconf installerade, annars får ni börja med att installera dessa, öppna en terminal och skriv:

sudo apt-get install subversion autoconf

Om ni sitter i Windows kan ni installera TortoiseSVN, men efter det får ni klara er själva emoticon

När det är klart skapar vi en katalog dit vi sedan ska ladda hem källkoden och så ställer vi oss i den katalogen:

mkdir geany-src
cd geany-src

Nu är det dags att plocka hem lite källkod och installera, kör varje rad för sig och låt kommandona köra klart innan ni kör nästa:

svn co https://geany.svn.sourceforge.net/svnroot/geany/trunk geany
cd geany
./autogen.sh
make
sudo make install
cd .. 

Grattis,  nu är geany installerad, då plockar vi hem och installerar debuggern:

svn co https://geany-plugins.svn.sourceforge.net/svnroot/geany-plugins/trunk/geanydebug geanydebug
cd geanydebug
./autogen.sh
make
sudo make install
cd ..  

Jag har också valt att plocka in pluginet för versionhantering, geanyvc, men det är valfritt:

svn co https://geany-plugins.svn.sourceforge.net/svnroot/geany-plugins/trunk/geanyvc geanyvc
cd geanyvc
./autogen.sh
make
sudo make install
cd ..   

Tips: Kolla runt lite på de andra pluginen och se om du hittar nått du gillar, du har säkert förstått principen om hur du installerar dem vid det här laget:

Nu ska vi tweeka Geany lite, för det första öppnar vi Geany, t.ex. genom att skriva geany i terminalen.

  1. Klicka på verktygsmenyn och välj "tilläggshanteraren". Kryssa för "Debugger" (och "VC" om du också installerade versionshanteringen ovan) och klicka "ok".
  2. Välj sedan att skapa en ny C++-källfil genom att klicka på pilen bredvid "Ny" längst till vänster i menyn.
  3. Klicka sedan på "Bygg" → "Justera inkluderingar och argument" och lägg till flaggan -g strax efter g++, både vid alternativet "kompilera" och "Bygg" så att det står g++ -g -Wall -c "%f" respektive g++ -g -Wall -o "%e" "%f".
  4. Klart!

 

Du kan nu kompilera och bygga dina c++-program och sedan avlusa dem i en integrerad debugger i geany genom att ladda den körbara filen i debuggern.

Men nu till det roliga, debugger pluginet i geany avlusar med hjälp av GNU Debugger gdb. Nu ska vi använda pluginet för att avlusa java kod med hjälp av gdb och GNU projektets java kompilator gcj, som inte kompilerar till byte code, utan till riktiga exekverbara filer som gdb kan avlusa (och som man kan köra utan en Java Virtual Machine installerad). Detta är bara lite mer komplicerat, eftersom vi måste få geany att både kompilera och bygga i ett enda kommando:

  1. Välj att skapa en ny java-källfil genom att klicka på pilen bredvid "Ny" längst till vänster i menyn.
  2. Klicka sedan på "Bygg" → "Justera inkluderingar och argument" och byt ut javac "%f" som står vid alternativet "kompilera" mot strängen:  gcj -c -g -O "%f" && gcj –main="%e" -o "%e" "%e".o
  3. Klart!

Nu kan du avlusa javakod med hjälp av gdb i geany. Glöm inte att du måste ändra tillbaka kommandosträngen till javac "%f" om du vill bygga riktig java-byte-code igen.

Edit: OM du letar reda på filen filetypes.java som finns i ~.config/geany/filedefs och ändrar innehållet i den filen till detta:

[build_settings]
compiler=gcj -c -g -O "%f"
linker=gcj –main="%e" -o "%e.class" "%e.o"
run_cmd="./%e"

så får du separata rader för kompilering och byggande, på samma sätt som du får för en c++-fil t.ex.

Se även:

Läs även andra bloggares åsikter om java, c++, Fri programvara, GNU/Linux

GNU/Linux, Fri programvara2008-12-03 13:05:45

Eftersom Martins kommentar/fråga på gårdagens inlägg definitivt ligger inom bloggens scope kommer här en guide för er som vill ändra storleken på redan befintliga partitioner på eran dator. OBS! VARNING! Gör alltid backup på viktig data och var medveten om att ompartitionering kan leda till dataförlust, gör inte det här om du inte måste. Särskillt viktigt är det att vara försiktig om du har Windowspartioner och du bör då alltid defragmentera disken i fråga minst tre gånger, men även om du gjort det kan det hända att data hamnar utanför partionen om du minskar en Windowspartitions storlek.

Eftersom jag inte är sugen på att mekla med mina riktiga partitioner i undervisningssyfte skapade jag en partiton i Virtualbox och genomförde processen där, så att ni skulle kunna få lite skärmskott (jag har dock gjort det här vid flera tillfällen tidigare i skarpt läge, med gott resultat). Det ni behöver är en livecd:

Jag valde Fedora 9 eftersom jag hade den hemma, ovan länkar jag till Fedora 10 som kommit nu, men det funkar lika bra med Ubuntu eller någon annan livecd med Gnome på. Hittar ni en livecd med KDE på heter partitionsverktyget QTParted (jag har inte testat det) som borde funka på ett liknande sätt. Gparted finns även som en egen Livecd som jag inte testat, det kan dock vara värt att kolla på den:

Tips: Om du skall ändra storlek på en NTFS-partition tror jag att du även måste ha  ntfstools and libntfs installerade, sök på dessa i Lägg till/Ta bort program.

Sätt i livecdn och boota datorn från den, det måste vi göra eftersom man inte kan ändra på en partition som är monterad (vilket partitionerna på din hårddisk oundvikligen måste vara om du bootar från den). Om du vill ändra i partitionerna på en hårdisk du inte bootar från kan du installera Gparted direkt på din dator och köra därifrån.

Därefter installerar du Gparted i livecdmiljön med hjälp av Lägg till/Ta bort program som du hittar under Systemmenyn i Fedora och under Programmenyn i Ubuntu:

 

När du installerat klart Gparted öpnnar du programmet, som du hittar under "Applications" → "System tolos" → "Gparted" i Fedora och under "System" → "Administration" → "Partitionsredigerare" i Ubuntu. Därefter väljer du vilken disk du vill ändra partitionerna på. OBS! Var mycket noga så att du väljer rätt disk och rätt partitioner att mekla med. Diskväljaren finns längst upp till höger:

 

När du valt rätt disk väljer du den partition du vill ändra strolek på, i mitt exempel nedan finns bara en, men du har förmodligen flera. Markera partitionen det gäller och tryck på "Resize/Move":

När du gjort det får du fram en sådan här bild:

 

 Du kan nu dra i den gröna ramen för att ändra storlek, eller skriva in den nya storleken i boxen. Därefter klickar du på "Resize/Move"och går sedan på "Edit" → "Apply All Operations" i menyn:

 

Du blir nu tillfrågad om du verkligen vill genomföra ändringarna:

 

 Klicka "Apply" och luta dig tillbaka, beroende på hur stor disken är och hur mycket data som det rör sig om kan detta ta lång tid:

 

Låt programmet köra klart i lugn och ro och sedan möts du av detta:

 

Då är du färdig och kan stänga ned programmet. I det här exemplet minskade jag storleken på en befintlig partion, men det är lika enkelt att göra en partition större på samma sätt, detta förutsätter dock att du har ledigt utrymme i anslutning till partitionen (vilket du ju kan skapa genom att minska en annan angränsande partitions storlek). Lycka till och återigen, glöm inte bort att ta backup, eftersom det kan gå illa när man är inne och leker med partitionstabellen.

GNU/Linux2008-12-02 13:21:21

Detta inlägg är riktat till de 55.17% av besökarna som läser den här bloggen från en GNU/Linuxburk. Resten hänvisas idag, vänligt men bestämt, till:

På min dator har jag tre skript som jag ofta använder och som ger mig tillgång till de fantastiska kommandona: minns, glöm och komihåg i terminalen.

Förutsättningen för att ni skall få detta att funka riktigt bra är att ni har en mapp som finns i eran PATH där ni kan lägga dessa skript. Jag har en mapp som heter bin  i min hemmamapp där jag lägger alla mina egenkomponerade skript och program. Öppna en terminal och skriv:

mkdir ~/bin

om du vill ha en dold mapp kör du istället:

mkdir ~/.bin

Sedan lägger vi till detta längst ned i den dolda filen .bashrc som skall finnas i din hemmamapp:

export PATH=~/bin:$PATH

Om du valde att skapa en dold mapp blir det i stället:

export PATH=~/.bin:$PATH

Så, när du sparat är du redo att börja skripta, vi kommer nu att skapa de tre filerna  minns, glöm och komihåg i din egen bin-mapp, de skall ha följande innehåll:

minns:
#! /bin/bash
echo "$*" >> ~/.Komihåg.txt

glöm:
#!/bin/bash
cat ~/.Komihåg.txt | sed -e "s/$*//" -e ‘/^$/d’ > ~/.Komihåg.txt

komihåg:
#!/bin/bash
cat ~/.Komihåg.txt

När du har skapat och sparat filerna (i en vanlig textredigerare) öppnar du en terminal och skriver:

sudo chmod +x ~/bin/glöm ~/bin/minns ~/bin/komihåg

eller om du valde den dolda varianten:

sudo chmod +x ~/.bin/glöm ~/.bin/minns ~/.bin/komihåg

Detta gör skripten körbara och du kan nu öppna en terminal och använda den som anteckningsblock. Genom att köra kommandot:

minns köp grönsaker, potatis och purjolök

kommer en dold fil att skapas i din hemmamapp (vid namn .Komihåg.txt), där kommer textsträngen som du skriver in efter minns att sparas. För att skriva ut din komihåg-lista i terminalen skriver du helt enkelt:

komihåg

När du sedan köpt hem dina varor kan du stryka i listan genom att köra kommandot glöm:

glöm köp grönsaker, potatis och purjolök

 Klart! Nu har du fått en första enkel introduktion till hur man skriptar i bash.

GNU/Linux, Fri programvara2008-11-25 15:47:55

Att installera program från källkod är enkelt om man bara vet hur man gör. I det här exemplet ska vi titta på hur man kan installera utvecklingsversionen (v. 0.97) av diagramverktyget Dia. Dia finns visserligen i Ubuntus förråd (jag kör Ubuntu, men Dia finns säkert i många andra distros också) men version 0.96 har en bugg som gör att dialog fönstret är förstort for min skärm, så att det blir omöjligt att komma åt vissa nödvändiga knappar, detta problem är fixat i utvecklingsversionen. Nu kör vi (kursiverad text under de feta rubrikerna kör du i terminalen):


0. Installera subversion och beroenden
(jag behövde detta):
sudo apt-get install subversion autoconf libtool intltool libglib2.0-dev libpango1.0-dev libgdk-pixbuf-dev libxml2-dev libgtk2.0-dev

OBS! All ovan är en rad! När man installerar från källkod är det lätt att man hamnar i ett "beroendehelvete", i GNU/Linux system är det nämligen vanligt att program delar programbibliotek, vilket är jättebra eftersom man då kan göra den totala storleken på sitt system mycket mindre än om flera program skulle duplicera en massa kod. Om man installerar från källkod är man dock tvungen att hålla reda på dessa beroenden själv.
Om du saknar något av programbiblioteken som ditt program skulle behöva kommer processen att avstanna under steg 3 nedan och du kommer få ett meddelande om vad det är som saknas, och får då lov att leta reda på beroendet i fråga. Oftast får du tyvärr bara reda vad biblioteket heter, men inte vad den har för namn i programförrådet. Detta kan dock oftast rättas till genom att söka i förråden (i Ubuntu kan du använda sökfunktionen i Synaptic eller apt-cache search i terminalen) efter namnet du får fram och "-dev" på slutet. Ofta kan du också behöva hänga på ett "lib" först, det vill säga att om installationsskriptet säger att du saknar gtk 2.0 ska du installera libgtk2.0-dev. Detta installeras sedan som vanligt genom: sudo apt-get install libgtk2.0-dev


1. Hämta källkoden:

svn checkout http://svn.gnome.org/svn/dia/trunk dia

I det här steget hämtar vi ut källkoden med hjälp av subversion för programmet och lägger det i en katalog kallad "dia".

2. Byt till rätt katalog:

cd dia

Här ställer du dig helt enkelt i katalogen med källkoden.

3. Konfigurera och skapa make-fil:
./autogen.sh

Detta sätter i gång ett skript som skapar en make-fil, det är här du kan få problem med beroenden. Om man inte hämtat hem sin källkod med subversion kommer den vanligen i en komprimerad katalog (tar.gz eller tar.bz2). Installationen av sådan källkod går till på samma sätt som i denna guide förutom att du packar upp källkoden, öppnar terminalen och ställer dig i den upp-packade katalogen som har källkoden (du hoppar alltså på denna guide i steg två). Därefter kör du kommanodot : ./configure i stället för ./autogen.sh

4. kompilera:
make

När make-filen är fixad  kan vi äntligen kompilera programmet, det vill säga skapa binära filer av källkoden.

5. Installera:
sudo make install

Detta kommando sätter i gång själva installationen av de körbara filerna.

Klart! Nu har du hämtat hem källkod med subversion, kompilerat den och installerat programmet!

Om du nu skriver dia i terminalen startar programmet.