Howto

Clean out unwanted comments.

I had some kind of issue with my spam filter, and my database was filled with like 6000 pages of spam (30 per page, so round 180 000 spam comments). And the thing is, that they take up a LOT of data space. I started to sort them out using the Drupal UI, but later found that the database still was rather large (~150 MB compressed). I took a look in the database and found that the data values where still there, altough I've removed the linkage of the comment from the nodes. So i still had these ~ 200 000 spam comments.

Well, I have plenty of backups, and altough 150 MB isn't that much it becomes quite a lot in time - so I wanted to remove the data values in the database too, and here's how you do it:

 

The table "comment" contains the "visible" comments. It also contains a comment id (cid). The two tables "field_data_comment_body" and "field_revision_comment_body" contains the full comments. These are the rows we want to remove. the table "comment" shows only the comment which I've already "deleted", but the other two still has the comments and use a lot of space. So by a simple MySQL Query, they will be gone, by using the cid's from "comment".

I use phpMyAdmin, and chose the database of this site, and clicked the mysql button, then pasted this and ran it:

Delete from field_data_comment_body:
DELETE FROM field_data_comment_body
WHERE entity_id NOT IN
       (SELECT cid
        FROM comment
        WHERE cid is NOT NULL
      )

 

And then from field_revision_comment_body:
DELETE FROM field_revision_comment_body
WHERE entity_id NOT IN
       (SELECT cid
        FROM comment
        WHERE cid is NOT NULL
      )

 

What is does? Well, it removes all the rows from the field_*_comment_body tables that does not have a entity_id that corresponds with the cid from the comment table.

As easy as that! Now you only have the comments which you agreed to using the Drupal UI. And my compressed database backup as shrunk to 15MB(!).

Howto: Re-connect 3G modem automatically using Cron.

I love GNU/Linux and what you could to with it - run it almost everywhere. I'm running GNU/Linux on my router (OpenWRT), which has a USB port and connected to it, a 3G modem.
Using that I share my internet connection with all my devices and it works great - except when it disconnects by itself.

Thats why I wanted to create a simple script that Cron could run and get the connection up again, without me having to do it, or even be at home.

Here's how you do it!
( I want to thank Ubot @ Ubuntu-se.org forums for the help )

This scipt pings Google four (4) times, and if it recives less then four of the pings (or, most probably: none) it re-connects the interface.
My interface' name is wan and I'm using the command ifup to get the interface back up. You should edit this based on your own system.

Copy the text below into a text document - its the script that we'll use:

#!/bin/sh
# 111204 - Daniel Holm <admin@danielholm.se>

# Ping set host too see if there is an internet connection or not. If not, do command
count=$(ping -c 4 google.se | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')

if [ "$count" != "4" ]; then
        # 100% failed
        echo "Connection down, setting up."
        ifup wan
else
        echo "Already up."
fi

exit 0

After that, save the file and add a new row to Cron.

If you, like me, are adding this to a router, or alike, and are just using the command line, here's how you do it: (as root)

  1. Create the file you'll be using:
    $ touch check-if.sh
  2. Edit the file and paste the script's code from above:
    $ nano check-if.sh
  3. Now make it executable:
    $ chmod +x check-if.sh
  4. We'll be adding it to Cron using crontab and it'll be run on the hour, every hour:
    $ crontab -e
    Add this row:
    0 */1 * * * /root/./check-if.sh
  5. Enjoy!

 

EDIT: Updated script coming up!

Installera LibreOffice 3.3.0 Beta 2

Jag tror väl inte att någon som är insatt i opensource-communityn har missad att OpenOffice.org har blivit avknoppat då utvecklare tyckte att det hände för lite.

Avknoppningen heter (för tillfället) LibreOffice, The Document Foundation står bakom det och i fredags släpptes den andra betan av version 3.3.0.
http://www.documentfoundation.org/

För er som är lika sugna som jag på att testa det och se vad det har att erbjuda så följer du instruktionerna nedan. Det finns egentligen förråd innehållande LibreOffice för 32-bits användare, men då jag inte är en av dessa så fick man göra såhär:

  1. Ladda hem senaste LibreOffice här:
    32-bit: http://download.documentfoundation.org/libreoffice/testing/3.3.0-beta2/d...
    64-bit: http://download.documentfoundation.org/libreoffice/testing/3.3.0-beta2/d...
  2. Ladda också hem de svenska språkfilerna:
    32-bit: http://download.documentfoundation.org/libreoffice/testing/3.3.0-beta2/d...
    64-bit: http://download.documentfoundation.org/libreoffice/testing/3.3.0-beta2/d...
  3. Packa upp LibreOffice i valfri mapp.
  4. Arkivet med språkfilerna har en mapp som heter DEBS i mappen sv. Packa upp den mappen på samma plats som mappen DEBS ur LibreOffice packades upp så att dessa filer ligger på samma plats.
  5. Öppna en terminal och navigera dig till mappen du har de upppackade filerna i. Tex:
    $ cd Hämtningar/en-US/DEBS/
  6. Nu ska vi installera alla paketen och det är därför vi använder en terminal. Samma sak skulle ta för lång tid grafiskt:
    $ sudo dpkg -i *.deb
  7. Installera paketet för skrivbordsintegration:
    $ sudo Hämtningar/en-US/DEBS/desktop-integration/libreoffice3.3-debian-menus_3.3-1_all.deb
  8. Starta valfritt delprogram ur Kontorsmenyn som vanligt.

How to: Montera dina dokument i Google Docs i Nautilus.

Google Docs är ett oerhört bra verktyg för att komma åt och dessutom kunna redigera sina office-dokuement online och i webbläsaren. De är lätta att komma åt, men ibland är det ändå goare att kunna komma åt dem utan webbläsaren. Jag har alla mina Dokument synkade med Dropbox, och alltså på datorn. Jag vill även ha mina Docs dokument där.

Vill du det med? Såhär gör du:

  1. Öppna en temrinal.
  2. Lägg till PPA innehållande paketet vi behöver via detta kommando:
    $ sudo add-apt-repository ppa:doctormo/ppa
  3. Uppdatera paketlistan:
    $ sudo apt-get update
  4. Installera paketet för montering: (detta kommer också installera en del anda nödvändiga paket)
    $ sudo apt-get install gdocs-mount-gtk
  5. Starta programmet via Program > Tillbehör > Google Doc Connection

För er som kör Maverick så är inte PPAn uppdaterad för det men Lucid paketen fungerar fint. Antingen laddar du ner dem manuellt ifrån PPAns webbplats på Launchpad eller så redigerar du filen nedan och byter ut 'maverick' mot 'lucid'.
/etc/apt/sources.list.d/doctormo-ppa-maverick.list

Mozilla Firefox 4.0 ifrån egen PPA.

Jag har länge sett fram emot att ha ett Firefox med inbygt stöd för HTML5 - vilket har varit en fråga av modifikation, de har inte haft videostödet tidigare. Men i Firefox 4.0 så kommer de ha stöd för HTML5 video via WebM.

Mozilla har själva en "nightly-build" PPA på Launchpad där bla. Firefox 3.7 (som ska bli 4.0) finns. Dock så gör just att det är ny version varje natt, att det är labilt och jag har själv inte alls uppskattat att använda det. Och inte heller vill jag bara köra Firefox ifrån ett arkiv, jag vill ha en PPA!

Och nu finns det faktiskt en - en som är "stabil" på så vis att det bara kommer ut en uppdatering varje månad. Alltså i den takt som en ny Beta, eller dyl, släpps av Mozilla av Firefox 4.0.

Gör som raderna nedan för att lägga till förrådet och installera Firefox 4.0, baserat på vilken Ubuntuutgåva som du kör:

För Ubuntu Lucid 10.04
sudo add-apt-repository ppa:silverwave/one-daily-a-month-1
sudo apt-get update
sudo apt-get install firefox-4.0
För Ubuntu Karmic 9.10
sudo add-apt-repository ppa:silverwave/one-daily-a-month-3
sudo apt-get update
sudo apt-get install firefox-4.0

Dagens Kommando: Skype och NotifyOSD.

http://twitpic.com/1yfvvs

Jag uppskattar helhet och med det sagt, vill jag inte att alla de applikationer som jag använder i min vardag ska ha egna saker för sig. Ett exempel på program som har eget fuffens för sig är Skype.

Inte nog med att det är byggt på Qt och jag föredrar GTK, utan de har sina egna, smått fula notifieringar. Jag tycker om Ubuntus NotifyOSD och jag vill andänvda den även där. Vill du det med? Well, this is what you do:

1. Öppna Skype och gå in i inställnigarna. Gå sedan vidare till notifications.

2. Markera den notiferingen som du vill förändra, tex "Incomming Call Ringing".

3. Klicka på knappen för att få fram mer avancerade val. Då kommer ett fält till längst ner, där du kan fylla i egna kommandon. Som vi tidigare vet så kan man skapa sina egna notifieringar av NotifyOSD.

4. Klicka i att du vill köra ett eget kommando, klicka även ur Skypes standardnotifiering. Fyll nu i att valt kommando såsom:
notify-send "Inkommande samtal ifrån %sname." -i skype

5. Klicka på att testa markerat "Event" så ska det fungera.

Sedan är det bara för dig att göra samma sak på andra notifieringar som du vill ha på andra sätt. Jag har valt dessa:

notify-send "%sname är nu ansluten" -i skype

notify-send "%sname loggade ut." -i skype

notify-send "Inkommande kontaktförfrågan av %sname" -i skype

notify-send "%sname är nu tillagd." -i skype

notify-send "%sname försöker chatta med dig." -i skype

notify-send "%sname försöker skicka en fil till dig." -i skype

notify-send "Filsändelse ifrån %sname är nu klar." -i skype

notify-send "Filsändelse ifrån %sname avbröts." -i skype

Som du ser så finns det en variabel för aktuellt användarnamn som du enkelt kan använda: %sname

Dagens kommando: Spela in strömmande ljud med Audacity och PulseAudio.

Ibland kan man behöva spela in något som själv hörs på datorn (utan att behöva göra en hemmagjord kabel som går mellan ljud in och -ut). Detta kan enkelt göras med Audacity, men har setts som problematiskt sedan PulseAudio. Men faktiskt är det än enklare - såhär gör du!

  1. Först behöver vi Audacity och PulseAudio Volymkontroll:
    $ sudo apt-get install audacity pavucontrol
  2. Sedan så startar du först Audacity och ser till att ljud in och -ut står som "pulse" i Redigera > Inställningar.
  3. Starta sedan PulseAudio Volymkontroll under Program > Ljudo och Video. Låt detta fönster vara öppet.
  4. Starta en inspelning i Audiacity, skifta till Volymkontrollen och gå till fliken "Inspelning". Där finns nu Audacity och du kan klicka på knappen bredvid för att ändra inspelningskanal. Hos mig står ljudströmmen som Monitor of Internal....
    Bara att testa.

Sådär, bara att spela in och njut.

Dropbox med support för indikatorfältet och egen ikon.

Så sent som tidigare denna vecka postade jag ett inlägg i Dropbox forum, angående att fixa support för egna ikoner och support för Ubuntu 10.04 Lucid Lynx nya indikatorfält.

Idag läser jag att det har släppts en utvecklingsversion av Dropbox med just dessa två saker och jag blir toknöjd! Inte att det var pga. mig, men det var ju ändå något jag ville ha nu!

Den blåa Dropbox-ikonen passar inte riktigt in på mitt skrivbord och har tidigare varit inpackad i den properietära delen av programmet. Nu är detta alltså fixat och såhär gör du för att installera den nya versionen ifrån källkod:

  1. Börja med att ladda ned källkoden:
    Linux 64bit: http://dl-web.dropbox.com/u/17/dropbox-lnx.x86_64-0.8.55.tar.gz
    Linux 32bit: http://dl-web.dropbox.com/u/17/dropbox-lnx.x86-0.8.55.tar.gz
  2. Packa nu upp den nedladdade filen i din hemmapp (den kommer att ersätta mappen .dropbox-dist)

  3. Starta nu Dropbox och njut av dess nya position.

Dropbox

För att ändra dess ikoner, byter du ut de som finns i mappen .dropbox-dist/icons.

Här har jag endast gjort orginalikonerna svartvita och ändrat ljusstyrkan: http://dl.dropbox.com/u/284076/danielholm-greyedout.tar.bz2

Här finns fler - dock inte bara för notifiering:
http://gnome-look.org/content/show.php/dropbox+icon+collection+for+human...

Endast för notifiering:
http://webupd8.googlecode.com/files/dropbox_notification_area.tar.gz

EDIT: Sex ytterligare, och skitsnygga ikon-pack:
http://www.omgubuntu.co.uk/2010/05/5-replacement-dropbox-icon-sets.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+d0od+%28Omg!+Ubuntu!%29

Orginalpost

Skaffa ett eget Dropboxkonto här (och bidra till ökat utrymme för mig).

Fingeravtrycksläsare och Ubuntu 10.04 LTS Lucid Lynx.

När jag köpte min nya laptop så lade jag en extra tanke på att jag ville ha en laptop med fingeravtrycksläsare. Dels för att jag är lat och inte vill behöva skriva mitt oändligt långa lösenord hela tiden, dels att det är riktigt coolt och dels att det ger en ytterligare säkerhet.

När jag väl fick min nya laptop, med fingeravtrycksläsare, så fanns ingen support för den.

Nu har Ubuntu 10.04 Lucid Lynx landat, med en nya möjligheter. Det och att utvecklare av fingeravtrycksautentikation har kommit en bit - Nu funkar min fingeravtrycksläsare! Därför tänkte jag sätta ihop en guide för hur du får igång din fingeravtrycksläsare så att du kan logga in, låsa upp skärmen och använda den när sudo används:

1. För det första så behöver du köra Lucid (även om det finns paket för Karmic, dock så kommer de med vissa problem).

2. Du behöver givetvis en fingeravtrycksläsare - och den ska ha support. Se listan här: http://reactivated.net/fprint/wiki/Supported_devices
Detta kollar du enklast igenom att köra detta i en terminal och jämför:
$ lsusb

3. Lägg till denna PPA:
$ sudo add-apt-repository ppa:fingerprint/fprint
$ sudo apt-get update

4. Lägg till fprint-demo för att bekräfta att din läsare fungerar:
$ sudo apt-get install libfprint0 fprint-demo
Öppna det sidan via Program > Tillbehör > Fprint-Demo och testa.

5. Installera nu paketet nedan, vilket är den bakomliggande tekniken för avläsningen:
$ sudo apt-get install libpam-fprintd

6. Öppna nu "Om Mig" som finns, antingen via System > Inställningar > Om mig, eller så klickar du på Lucids nya me-menu och klickar på din bild/namn.

7. Uppe i hörnet på denna ruta så kan du nu klicka för att fånga ditt fingeravtryck. Du kan även göra detta via terminal:
$ fprint-enroll

8. Det finns en bugg med gksudo som gör att rutan inte visas när man ska dra sitt finger, därför ska vi installera gksu-polkit - vilket är ett nytt gksudo med support för PolicyKit. Detta har bara support i Lucid:
$ sudo apt-get install gksu-polkit

9. Nu tar du och ändrar alla programstartare som har gksu/gksudo framförsig, till: gksu-polkit
Tex Synaptic eller Gparted. Dessa ändrar du via System > Inställningar > Menyredigeraren.

10. Nu kan du testa att låsa skärmen och använda ditt finger för att låsa upp. Allt ska nu vara helt i sin ordning.

Obs! Ifall du har din hemmmapp krypterad så kommer inte ditt fingeravtryck att dekryptera din mapp. Att avända ditt fingeravtryck vid inloggningen av ditt konto så kommer inte heller din standardnyckelring att låsas upp. Därför kan du ta och fortsätta logga in med lösenord vid uppstart och endast använda ditt fingeravtryck när du ska låsa upp skärmen, sudo och dyl.

Vid alla tillfällen som fingeravtryck ska användas så kan du även använda lösenord, men du måste vänta ut tidsgränsen som finns. Denna är rätt lång och jag letar efter en lösning på hur man kortar ner denna.

Hoppas på mycket nöje och trevlig helg!

EDIT: Läs mer här: https://edge.launchpad.net/~fingerprint/+archive/fprint

Banshee i indikatorfältet och stöd för Ubuntu One Music.

En av de många nyheterna i Ubuntu 10.04 Lucid Lynx är det nya indikatorfältet. Detta ger bra och snabb åtkomst till program som stödjer det. Bla ligger ljudet, Bluetooth-hanteraren mm i den. Standardmusikspelaren, Rhythmbox är ett program som stödjer detta fält, och det är faktiskt snyggt och enkelt med den lilla ikonen.

Men jag vill inte använda Rhythmbox, jag vill använda Banshee. Därför finns det numera en insticksmodul som fixar detta åt dig.

banshee-indicator

  1. Installera insticksmodulen och biblioteket för indikationsfältet:
    $ sudo apt-get install libappindicator0-cil banshee-extension-appindicator

  2. Aktivera sedan insticksmodulen i Banshee.
  3. Avaktivera dessutom standardikonen i notifieringsytan.

Tack till OMG! för tipset.

 

Sen finns nu även Ubuntus egna musikbutik, Ubuntu One Music Store, till Banshee nu!
Detta är en god nyhet då jag gärna köper mig lite musik och fortfarande inte vill använda Rhythmbox, utan Banshee!

Installationen av detta är enkel, du installerar bara detta paket och aktiverar insticksmodulen i Banshee:
$ sudo apt-get install banshee-extension-ubuntuonemusicstore

Sidor

Subscribe to Howto