fredag 7 maj 2010

Kom igång med PyQt4

Kod komplitering är fullt möjligt när man kodar Python med PyQt4.
Installera Aptana Studio 2 genom att ladda hem den från deras hemsida och lägga den under valfri mapp i er hemma mapp, det är allt som behövs för att installera den...

Edit:
Jag fick precis igång det med Eclipse. Efter att ha installerat Eclipse från Programcentralen för ubuntu (som det nu så fint heter...) så måste man installera eclipse-pde (Eclips plug-in development environment) det gör man på samma ställe skriv bara eclipse i sök fältet så dyker den upp. I övrigt så kan ni följa samma steg som här nedan. Men där det står att ni ska göra det i Aptana så gör ni det i Eclips.



Installera det som behövs för att använda Qt4 med Python
1. System -> Administration -> Pakethanteraren Synaptic
2. Under snabbsökning skriv pyqt4.
3. markera python-qt4 och pyqt4-dev-tool för installation och klicka på Verkställ.


För att få python kod kompliteringar för bla. PyQt4 i Aptana Studio, gör följande:
1. Starta Aptana (det görs från installationsmappen)
2. Under menyn Help välj Install New Software...
3. klistra in http://pydev.org/updates på raden Work With
4. klicka på Add och skriv in det namn du vill ge det, PyDev och klicka OK.
5. En lista på vad från PyDev du vill installera dyker upp (om du har flera andra plugins så skriv in i filter: PyDev, välj det översta PyDev - PyDev for Eclips
6. Välj next
7. Kolla om du accepterar licensen och om du gör det markera I accept... och sedan Finish

Nu är den installerad men det är inte valt vilken Python interpriator som ska köra Python koden. Så för att fixa det gör följande:
1. Gå till menyn Window -> Preferences

2. Klicka på pilen framför PyDev och sedan på Interpretar Python

3. Klicka på knappen New... och skriv in python som Interpretar namn och i Interpretar Executable skrivr ni in /usr/bin/python och klicka OK.
(Jag har python2.6 installerat men jag vet inte om jag specificerade det som /usr/bin/python2.6 eller om den tar det nyaste. Ni ser på ett rött felmeddelande vad som är fel. Så om interpreatorn accepterar /usr/bin/python2.6 utan att visa nåt rött felmeddelande så funkar det.)

4. Klicka på Apply och starta om Aptana om det behövs, jag minns inte hur det var riktigt. :)

Skapa ett PyDev projekt så ni kan börja med PyQt4
1. Under Files -> New så kan ni nu välja PyDev Project
2. Ge det ett lämpligt namn och välja Project Type: Python
3. Kolla om Create default 'src' folder and add it to the pythonpath är markerad och om inte så markera den och klicka sedan på finish.
4. Högerklicka på src som ligger på vänster sida under projectet ni just skapade. och välj New och där kan ni välja tex fil och skriva er python kod.

Tips
Om ni manuellt lägger in en fil i er project mapp så måste ni i vänsterspalten i Aptana högerklicka och välja Refresh för att den ska synas och vara tillgänglig i projektet.

Gör användargränssnittet med Qt 4 Designer (finns i pakethanteraren Synaptic) och när ni är klar och sparat den som tex. minApp.ui så står all kodskriven i C men det ändrar man lätt med ett kommando i terminalen:
pyuic4 -o minApp_ui.py minApp.ui

(pyuic4 installerades med pyqt-dev-tool)
Det står för Python User Interface Compiler 4 och -o specificerar en Output file. Döp den gärna till något_ui.py så att ni vet att det är ui filen :) Gör inga ändringar direkt i koden varken i den eller i originalet för de skrivs över ifall ni senare vill ändra designen med Qt 4 Designer. Om ni ändrar er App design så får ni köra pyuic4 kommandot igen.

I denna tråd finns en mycket bra tutorial att följa, rulla ned tills ni hittar den, tydlig med bilder och allt :)
http://forums.internettablettalk.com/showthread.php?p=515218

torsdag 11 mars 2010

Byt storlek på alla bilder i en mapp

Så här kan man ändra storlek (X,Y) på alla jpg bilder i en mapp, obs originalet byter storlek.

Först måste ImageMagick installeras:
sudo apt-get install imagemagick

När det är klart så flyttar man sig till mappen som innehåller bilderna man vill ändra storlek på.

cd sökväg/till/rätt/bildmapp

Sedan kör man kommandot ls för att se att det är i rätt mapp man befinner sig. Det är de bilder som nu listas som kommer att ändras.

När man är säker på att man befinner sig i rätt mapp kan man köra kommandot som ändrar bilderna man har i mappen man är i:

mogrify -resize 50% *.jpg

Kommando halverar antalet XY pixlar i bilderna.
Tänk på att kommandot gör skillnad på gemener och versaler och innehåller bildens namn fler än en punkt så blir det fel, tex. semester.bilder.jpg och semester.JPG skulle inte fungera.

Ett tips kan vara att kolla in manualsidorna för ImageMagick. ImageMagick är en uppsättning av bildbearbetningsverktyg där bland annat mogrify ingår.

man imagemagick

Sen kan man gå vidare och se på de manualer som passar ens ändamål, i detta fall mogrify.

man mogrify

fredag 12 februari 2010

Kommer inte åt hårddisken ibland i Ubuntu 9.10

Om ni kör Ubuntu 9.10 så har ni kanske märkt att inte era hårddiskar kontroleras under uppstart längre. Det är för att de kontroleras ibland efter uppstarten, detta för att tjäna uppstartstid. Oftast märker man inte av det här om man inte råkar behöva komma åt en fil som ligger på just den hårddisk/partition som håller på att kontroleras. Det är nämligen så att när hårddisken kontroleras så körs fsck och för att den ska kunna köras(utan risker) så körs den när hårddisken/partitionen är omonterad, altås så kommer man inte åt filerna... Just det hände mig och jag hade inte nån aning om att det funkade så i Ubuntu 9.10 så det skrämde nästan skiten ur mig tills dess att jag såg att fsck kördes och misstänkte vad som var på gång.

Det här är unikt för just Ubuntu varianterna 9.10 och det kommer om jag har fått rätt information inte vara så i Ubuntu 10.04 eller så kommer man iaf att få nån form av meddelande och möjlighet att avbryta det i 10.04.

Hur som helst, för att slippa det här i 9.10 så kan man välja vilka hårddiskar som man vill ska kontrolleras innan uppstarten slutförs precis som det var i tex. 9.04. Man lägger bara till bootwait enligt raden nedan i /etc/fstab. Det övriga som står på raden kan variera lite.

UUID=9a513599-6e47-46c2-84eb-f6155cf609f4 /home ext3 defaults,bootwait 0 2

tisdag 19 januari 2010

Om ljudet i spotify försvinner

Ljudet i spotify försvan efter att ha spelat en liten stund på en låt och detta hände varje gång jag körde spotify. För att få det att funka var jag tvungen att Configurera Wine och under fliken Ljud välja följande:

Ljuddrivrutin: ESounD-drivrutin (det är kryssrutor så av markera andra ev. drivrutiner)
Hårdvaruaccelerering: Emulering
Samplingsfrekvens: 44100
Bitar per sampling som: 16
Drivrutinsemulering: Avmarkerad

Det var allt som jag behövde göra.

onsdag 4 november 2009

iftop - fungerar som top fast för nätverkstrafiken

Jag installerade just iftop och tänkte dela med mig lite av det.

Med iftop kan man bla. se vilken trafik man har på datorn och till vilken port det går, sätt portvisning on/off med p. Det kan stå tex www eller ircd för kända portar så man får direkt veta vad som händer. Man kan också testa att trycka t för att byta mellan fyra olika sätt att bli visad informationen.

Den visar utgående trafik => och ingående trafik <= samt i vilken hastighet det laddas ned över de senaste 2s, 10s och 40 sekunderna Det finns en hel del alternativ att välja på så ta en till på man iftop sidan för att få en mer utförlig förklaring av programmet :)

torsdag 29 oktober 2009

Få tillbaka uppdateringsikonen

Direkt citat från wiki.ubuntu.com/KarmicKoala/ReleaseNotes/sv

"Ubuntu 9.10 startar update-manager direkt för att hantera paketuppdateringar, istället för att visa en notifieringsikon i GNOME-panelen. Användare kommer fortfarande att notifieras vid säkerhetsuppdateringar på en daglig basis men för uppdateringar som inte är säkerhetsrelaterade så kommer användarna endast att informeras en gång per vecka.

Användare som vill fortsätta att ta emot uppdateringsnotifieringar på samma sätt som förut kan återställa detta beteende genom följande kommando:

gconftool -s --type bool /apps/update-notifier/auto_launch false

(Denna ändring gjordes i Ubuntu 9.04.)"

onsdag 21 oktober 2009

Kolla om nån loggar in via ssh

Det här lilla skriptet kollar om nån loggar in på er dator. Om nån lyckas logga in så spelas en wav fil upp. Då kan man själv kolla i accepteradeinlogginingar.txt för att se information om den inloggade eller vill man ha mer information får man kolla under /var/log/auth.log.

Byt ut alla sökvägar så de stämmer för er och skapa textfilerna accepteradeinlogginingar.txt och oldaccepteradeinlogginingar.txt.

Det här skriptet bör köras regelbundet med crontab, annars har man ingen nytta av det. Kolla i min blogg hur ni använder crontab om ni inte vet det redan.

OBS! kör inte skriptet som en säkerhetsgrej utan kör den bara för att ni vill ha lite extra kåll, den förbättrar inte säkerheten...

#!/bin/bash
# Written by Jonas Lindberg
# Check the log file /var/log/auth.log for accepted logins. If a new Accepted login is found then a wav file will be played to let you know that someone has logged in to your computer. Start this script like every two minutes(depending on your paranoid state...) through crontab */2 * * * * /bin/bash /home/USER/bin/loginCheck/check_accepted_logins.sh
# You need to have aplayer installed and a wav file you can play,like a sound effect of some kind. The script is creating two files acceptedlogins.txt and oldacceptedlogins.txt.

isItEmty=$(cat /var/log/auth.log | grep Accepted);

#if there is no accepted logins in the auth.log file this if-statement will be false.
if [ "$isItEmty" ]; then

cat /var/log/auth.log | grep Accepted > /home/jonas/bin/loginCheck/acceptedlogins.txt;

touch /home/jonas/bin/loginCheck/oldacceptedlogins.txt;

diffAcceptedlogin="$(diff -B /home/jonas/bin/loginCheck/acceptedlogins.txt /home/jonas/bin/loginCheck/oldacceptedlogins.txt)";


# If this is done without the isItEmty test this will run when the auth.log is emty and the oldacceptedlogins.txt is not. This is true if there is a difference between acceptedlogins.txt and oldacceptedlogins.txt
if [ "$diffAcceptedlogin" ]; then

aplay -q /home/jonas/Dokument/wavEffects/authorization.wav;

cp /home/jonas/bin/loginCheck/acceptedlogins.txt /home/jonas/bin/loginCheck/oldacceptedlogins.txt;

fi


fi