Unity does not load after update SOLVED

Μετά από απλή συνηθισμένη ενημέρωση πακέτων, το unity σταμάτησε να λειτουργεί, καθιστώντας το λειτουργικό πρακτικά άχρηστο. Το μήνυμα που έδινε σε τερματικό ήταν:

Adding plugins
Skipping upgrade com.canonical.unity.unity.01.upgrade
Skipping upgrade com.canonical.unity.unity.02.upgrade
Initializing core options...done
Initializing bailer options...done
Initializing detection options...done
Initializing composite options...done
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libopengl.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'opengl'
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libcompiztoolbox.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'compiztoolbox'
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libdecor.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'decor'
Initializing vpswitch options...done
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libmove.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'move'
Initializing gnomecompat options...done
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libgrid.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'grid'
Initializing commands options...done
Initializing snap options...done
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libobs.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'obs'
Initializing place options...done
Initializing mousepoll options...done
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libresize.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'resize'
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libwall.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'wall'
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libunitymtgrabhandles.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'unitymtgrabhandles'
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libanimation.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'animation'
Initializing session options...done
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libworkarounds.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'workarounds'
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libexpo.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'expo'
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libfade.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'fade'
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libscale.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'scale'
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libezoom.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'ezoom'
compiz (core) - Error: Couldn't load plugin '/usr/lib/compiz/libunityshell.so' : libGL.so.1: cannot open shared object file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
compiz (core) - Error: Couldn't load plugin 'unityshell'
Setting Update "main_menu_key"
Setting Update "run_key"
Setting Update "run_command_terminal_key"
compiz (core) - Warn: failed to receive ConfigureNotify event on 0x3200007

Ψάχνοντας στο Internet είναι αρκετά συχνό σφάλμα χωρίς ιδιαίτερη λύση. Συνήθως, απ’ ότι κατάλαβα έχει να κάνει με τους οδηγούς της κάρτας γραφικών και συναντάται τόσο σε ανοικτού κώδικα όσο και στους κλειστούς και των 2 γνωστών εταιριών. Δε ξέρω αν η λύση είναι universal αλλα σε εμένα το μόνο που χρειάστηκε ήταν μια επανεγκατάσταση του libgl-mesa μέσω του synaptic. Στο ubuntu 11.10 τα συγκεκριμένα πακέτα ήταν: libgl1-mesa-dri, libgl1-mesa-glx, libglapi-mesa, libglu1-mesa

Gnucash – Από που να ξεκινήσω;

Όταν κάποιος ανοίγει το gnucash για 1η φορά «χάνεται» μέσα στις άγνωστες ορολογίες και τη διαφορετικότητα του προγράμματος συγκριτικά με αυτό που είχε στο μυαλό του (συνήθως να βάλει σε ένα λογιστικό φύλλο τα έσοδα και τα έξοδά του).

Τα πράγματα όμως είναι πολύ πιο απλά από τη 1η εντύπωση:

Ανοίγοντας 1η φορά το gnucash τρέχει ένας οδηγός για να μας βοηθήσει στο ξεκίνημα:

Πατήστε Forward.

Αν δεν είναι ήδη επιλεγμένο επιλέξτε το Common Accounts και πατήστε Forward.  Αργότερα μπορείτε να προσθέσετε ή να αφαιρέσετε κατηγορίες εσόδων / εξόδων κ.α, οπότε μη σας απασχολεί αυτό τώρα. Παρόλα αυτά οι περισσότερες που θα χρειαστείτε είναι ήδη έτοιμες!

Εισάγετε στη στήλη Opening Balance το ποσό με το οποίο θέλετε να ξεκινήσετε. Ας θεωρήσουμε για παράδειγμα ότι έχετε 200€ στο πορτοφόλι σας, 150€ σε ένα τραπεζικό λογαριασμό τον οποίο χρησιμοποιείτε συχνά για πληρωμές π.χ μέσω e-banking και 1000€ σε ένα λογαριασμό αποταμίευσης. Χρησιμοποιείστε αρχικά ποσά μόνο για τις κατηγορίες Assets (Περιουσιακά στοιχεία). Στη συνέχεια πατήσετε Forward.

Πατήστε Apply και είστε έτοιμοι να ξεκινήσετε!

Το βασικό περιβάλλον της εφαρμογής είναι το ακόλουθο:

Ας καταχωρίσουμε μερικές συναλλαγές:

Να θυμάστε ότι πάντα δουλεύουμε με τους λογαριασμούς Assets και οι υπόλοιπες κατηγορίες συμπληρώνονται αυτόματα!

Κάντε διπλό κλικ στο Cash in Wallet. Θα δείτε την ακόλουθη εικόνα:

Ας υποθέσουμε ότι από τα λεφτά που είχατε στο πορτοφόλι σας, ξοδέψατε 50€ στο super market για προμήθειες.

Επιλέξτε ημερομηνία, στη στήλη Description γράψτε Super Market και στη στήλη Transfer επιλέξτε από τη λίστα Expenses:Supplies. Τέλος στη στήλη Spend εισάγετε το ποσό που ξοδέψατε (50€) και πατήστε enter.

Αυτό που κάναμε εδώ ήταν να καταγράψουμε ότι από τα λεφτά που είχαμε στο πορτοφόλι μας, 50€ ξοδεύτηκαν και «μεταφέρθηκαν» στη κατηγορία εξόδων «Προμήθειες».

Ας δούμε άλλη μία συναλλαγή. Πατήστε στο Accounts Tab και κάντε διπλό κλικ στο Checking Account. Ας υποθέσουμε αυτή τη φορά ότι θέλετε να πληρώσετε μέσω αυτού του τραπεζικού λογαριασμού το λογαριασμό του νερού.

Εισάγετε πάλι ημερομηνία, περιγραφή αν θέλετε και από τη στήλη Transfer επιλέξτε Expenses:Utilities:Water. Τέλος στη στήλη Withdrawal (ανάληψη) βάλτε το ποσό του λογαριαμού π.χ 60€ και πατήστε enter. Η εικόνα που θα δείτε είναι η ακόλουθη:

Τέλος, ας υποθέσουμε ότι από τα λεφτά που έχετε στο πορτοφόλι σας, θέλετε να καταθέσετε στο τραπεζικό λογαριασμό που χρησιμοποιείτε για τις συναλλαγές σας 100€.

Στην ίδια καρτέλα Checking Account επιλέξτε από τη στήλη Tranfer Assets:Current Assets:Cash in Wallet και στη στήλη Deposit εισάγετε το ποσό της κατάθεσης (100€) και πατήστε enter:

Ας γυρίσουμε στην αρχική καρτέλα να δούμε τι έχουμε κάνει:

Στο πορτοφόλι μας έχουμε πλέον 50€. 200€ είχαμε αρχικά. 50€ δώσαμε στο super market και 100€ καταθέσαμε στο τραπεζικό μας λογαριασμό.

Στη τράπεζα (Checking Account) έχουμε 190€. 150€ είχαμε αρχικά. 60€ πληρώσαμε το νερό και άλλα 100 καταθέσαμε από αυτά που είχαμε στο πορτοφόλι μας.

Το λογαριασμό που έχει τις οικονομίες μας δεν τον χρησιμοποιήσαμε οπότε έχει τα 1000€.

Παρατηρήστε ότι οι κατηγορίες εξόδων είναι ενημερωμένες με τα έξοδα που καταχωρήσαμε!

Αυτά λοιπόν για αρχή!

ΝΑ ΘΥΜΑΣΤΕ:

Δουλεύουμε πάντα με τους λογαριασμούς Assets. Σε αυτούς «βάζουμε» λεφτά από τις κατηγορίες Income και από αυτούς ξοδεύουμε μέσω των κατηγοριών Expenses.

Ελπίζω να βοήθησα αυτούς που θέλανε να ξεκινήσουν με το gnucash και τους φαινόταν πολύπλοκο.

* Προφανώς το gnucash έχει πάρα πολλές ακόμη δυνατότητες τις οποίες εδώ δεν τις «αγγίξαμε», τόσο για προσωπική χρήση, όσο και για επιχειρηματική. Ξεκινήστε λοιπόν και ψάξτε το και σίγουρα θα καλύψει στο έπακρο τις ανάγκες σας!

Freemeteo Weather Screenlet [NEW Version] 0.2

Χτές εμφανίστηκε ένα «άγνωστο» εικονίδιο για τον καιρό της Ορεστιάδας στο screenlet που σημαίνει ότι δεν είχα συμπεριλάβει κάποιους κωδικούς εικονιδίων που χρησιμοποιεί το Freemeteo. Ψάχνοντάς το βρήκα ότι ήταν τα εικονίδια που αφορούν την ομίχλη, οπότε ήταν ευκαιρία να προσθέσω τους κατάλληλους κωδικούς και να κάνω και τις αλλαγές που είχα στη TODO list για τη 0.2 έκδοση του screenlet. Ποιές είναι αυτές μπορείτε να δείτε στη λίστα αλλαγών που παρατίθεται:

Changelog

Version 0.2

[-]Default language is ‘English’
[-]Time now defaults to PC’s time and has added an option to use City local time (needs python timezone module: pytz.
If not installed a message box will popup!)
[-]Added Units (metric – celsius or english – Fahrenheit) selection (Defaults to ‘Metric’)
[-]Added tooltips and messages regarding the zip code and how to get it from freemeteo.com
[-]Renamed ‘tray icon’ to ‘Toggle Forecast Icon’
[-]Added missing icon codes for foggy coditions

Version 0.1

[-] INITIAL VERSION
Changes from WideScape Screenlet:
[-]Uses Freemeteo.com instead of weather.com
[-]Shows detailed weather description via right click > Forecast Description
[-]Uses text for Daynames
[-]Show min temperature values
[-]Translated in 21 languages (Cityname / daynames / weather description)
[-]Use selected city’s local time (needs pytz module)

και μερικές εικόνες που αφορούν τη νέα έκδοση:

Όπως πάντα μπορείτε να κατεβάσετε τη νέα έκδοση από το http://www.gnome-look.org/content/show.php/Freemeteo+Weather+Screenlet?content=119253

ή απευθείας πατώντας εδώ.

Mustek Powermust 1000 & usb monitoring

Mustek Powermust 1000 & usb monitoring

* Το άρθρο αυτό είνα μια ενημέρωση του σχόλιου που είχα κάνει παλαιότερα στο blog του Ευάγγελου Μπαλάσκα. Ο καιρός πέρασε  και κάποια αρχεία ρυθμίσεων αλλάξαν … Δε το είχα καταλάβει μέχρι που σε πρόσφατη διακοπή ρεύματος άκουσα εκείνο το ενοχλητικό BEEEEEEEP που νόμιζα ότι είχα κλείσει. Αυτό το ενοχλητικό beep ήταν εξαρχής η αφορμή να ασχοληθώ με το συγκεκριμένο θέμα, και όπως καταλάβατε αυτό είναι και πάλι η αφορμή για την ενημέρωση αυτή 🙂

Παρόλο που η Mustek παρέχει εφαρμογή γραμμένη σε JAVA για τη παρακολούθηση του ups για τα περισσότερα λειτουργικά συστήματα (συμπεριλαμβανομένου του linux), υπάρχει και το ανάλογο open source project που υποστηρίζει πολλά ups μεταξύ των οποίων και το Powermust 1000 usb της Mustek.

Ας δούμε 1 – 1 τα βήματα για την εγκατάσταση:

1. Εγκαθιστούμε το nut

2. Φτιάχνουμε το αρχείο /etc/nut/ups.conf με το εξής περιεχόμενο:

[mustek]
driver = megatec_usb
port = auto
desc="mustek powermust 1000"

3. Φτιάχνουμε το αρχείο /etc/nut/upsd.conf με το εξής περιεχόμενο:

LISTEN 127.0.0.1 3493

4. Φτιάχνουμε το αρχείο /etc/nut/upsmon.conf με το εξής περιεχόμενο:

MONITOR mustek@localhost 1 local_mon guardupsmonitor master
POWERDOWNFLAG /etc/killpower
SHUTDOWNCMD "/sbin/shutdown -h now"

5. Φτιάχνουμε το αρχείο /etc/nut/nut.conf με το εξής περιεχόμενο:

MODE=standalone

6. Φτιάχνουμε το αρχείο /etc/nut/upsd.users με το εξής περιεχόμενο:

[admin]
password = set_admin_passwd
actions = SET
instcmds = ALL

[local_mon]
password = set_user_passwd
upsmon master

7. Φτιάχνουμε το αρχείο /etc/default/nut με το εξής περιεχόμενο:

START_UPSD=yes
START_UPSMON=yes

8. sudo /etc/init.d/nut restart

9. Για να δω ποιες εντολές υποστηρίζονται: upscmd -l mustek

Instant commands supported on UPS [mustek]:
beeper.toggle - Toggle the UPS beeper
load.off - Turn off the load immediately
load.on - Turn on the load immediately
reset.input.minmax - Reset minimum and maximum input voltage status
reset.watchdog - Reset watchdog timer
shutdown.return - Turn off the load and return when power is back
shutdown.stayoff - Turn off the load and remain off
shutdown.stop - Stop a shutdown in progress
test.battery.start - Start a battery test
test.battery.start.deep - Start a deep battery test
test.battery.stop - Stop the battery test

10. Για να “κλείσω” το beeper του UPS! 🙂

upscmd -u admin -p set_admin_passwd mustek beeper.toggle

(Στο /var/log/daemon.log βλέπω:
manos-desktop megatec_usb[4282]: Toggling UPS beeper.)

11. UPS Status:  upsc mustek

battery.charge: 68.8
battery.voltage: 24.90
battery.voltage.nominal: 24.0
driver.name: megatec_usb
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.version: 2.4.1
driver.version.internal: 1.6
input.frequency: 50.0
input.frequency.nominal: 50.0
input.voltage: 15.3
input.voltage.fault: 15.3
input.voltage.maximum: 224.8
input.voltage.minimum: 200.3
input.voltage.nominal: 220.0
output.voltage: 222.2
ups.beeper.status: disabled
ups.delay.shutdown: 0
ups.delay.start: 2
ups.load: 11.0
ups.mfr: unknown
ups.model: unknown
ups.serial: unknown
ups.status: OB
ups.temperature: 25.0
ups.type: standby

Τελειώνοντας, όποιος θέλει μπορεί να βάλει και 2 alias στο ~/.bashrc του:

alias muteups='upscmd -u admin -p set_admin_passwd mustec beeper.toggle'
alias upsstatus='upsc mustec'

έτσι, δίνοντας muteups στη κονσόλα, «σκάει» το ups (απ’ το κακό του! μανία να φωνάζει!) και δίνοντας upsstatus βλέπουμε το status του (battery charge κ.α)

Ελληνικοί Ραδιοφωνικοί σταθμοί στο RadioScreenlet

Ασχόλούμενος με το Freemeteo Weather Screenlet το τελευταίο καιρό, έπεσε το μάτι μου στο Radio Screenlet που υπάρχει στη default εγκατάσταση των screenlets! Είναι πολύ ωραίο και λειτουργικό αλλά μαντέψτε τι δεν έχει…! Ελληνικούς σταθμούς! Αν είναι δυνατόν.

Με μικρές λοιπόν τροποποιήσεις του eradio script πρόσθεσα τις διευθύνσεις για τους ελληνικούς σταθμούς και το αποτέλεσμα είναι το εξής:

Τι πρέπει να κάνετε;

1. Κατεβάστε το αρχείο menu.xml [1] από εδώ ΜΕ ΔΕΞΙ ΚΛΙΚ > Save As…

2. Στο κατάλογο που το κατεβάσατε ανοίξτε μια κονσόλα και πληκτρολογείστε:

sudo mv /usr/share/screenlets/Radio/menu.xml /usr/share/screenlets/Radio/menu.xml.bak
sudo mv menu-xml.jpg /usr/share/screenlets/Radio/menu.xml

3. Ξεκινίστε[2] το RadioScreenlet

*Αν ήδη χρησιμοποιείτε το RadioScreenlet κάντε πάνω σε αυτό δεξί κλικ > Delete screenlet και ξεκινήστε το ξανά!

[1]. To αρχείο menu-xml.jpg ΔΕΝ είναι εικόνα αλλά xml αρχείο με πραγματικό όνομα menu.xml απλά δε βρήκα άλλο τρόπο να το ανεβάσω στο wordpress. Αν κάποιος γνωρίζει κάποιο trick ας γράψει ένα σχόλιο…

Freemeteo Weather Screenlet 0.1

Οι περισσότεροι απο μας έχουμε κάπου στη επιφάνεια εργασίας κάποιο applet που δείχνει πληροφορίες για τον καιρό. Για μένα το applet αυτό δεν ήταν ποτέ όπως το ήθελα. Δεν έβρισκα τη περιοχή μου στο weather.com, δε παρείχε περιγραφή καιρού, δεν ήταν στα ελληνικά, δεν δεν δεν…

Μετά το script του eradio λοιπον και για να εξασκήσω όσα έμαθα για τις regular expression της Python είπα να δοκιμάσω να φτιάξω ένα καλύτερο (για μένα τουλάχιστον) screenlet χρησιμοποιώντας το Freemeteo.com το οποίο είναι ένα site που παρέχει πληροφορίες καιρού παγκοσμίως για οποιαδήποτε περιοχή!

Μερικές εικόνες από το Freemeteo Weather Screenlet είναι οι ακόλουθες:

Σε πλήρη μορφή:

Συμπαγής μορφή (με διπλό κλίκ):

Η αναλυτική περιγραφή του καιρού:

Οι βασικές ρυθμίσεις:

Ίσως να παρατηρήσατε το Select language… Μπορείτε να διαλέξετε 21 γλώσσες! Τι αλλάζει; Το πως εμφανίζεται η πρόγνωση του καιρού και οι μέρες τις εβδομάδας! Δείτε τις ακόλουθες εικόνες:

Και μια λεπτομέρεια: Άν επιλέξετε κάποια περιοχή άλλης χώρας τότε η ώρα που θα δείχνει το screenlet θα είναι η τοπική ώρα της περιοχής εκείνης και όχι του υπολογιστή σας!

Τέλος οσον αφορά το τι θα βρείτε στο δεξί κλικ:

Το ZIP Code είναι ο κωδικός της περιοχής σας που πρέπει να τον βρείτε πηγαίνοντας στο freemeteo.com:

Μπορείτε να κατεβάσετε το screenlet: από το gnome-look: http://www.gnome-look.org/content/show.php/Freemeteo+Weather+Screenlet?content=119253

ή απευθείας πατώντας εδώ.

Επιπλέον χρειάζεται* να έχετε εγκετεστημένο το python module pytz. Στο Ubuntu:

sudo apt-get install python-tz

EDIT 30/1/10: Τη πρώτη φορά που θα ξεκινήσετε το screenlet φροντίστε να επιλέξετε γλώσσα από το δεξί κλικ Properties > Options > Weather

Για εγκατάσταση απλά αποσυμπιέστε το αρχείο στο ~/.screenlets/

*Σε επόμενη έκδοση (0.2) θα είναι προαιρετική επιλογή το να δείχνει local timezone οπότε αν κάποιος ενεργοποιήσει τη δυνατότητα αυτή θα εμφανίζεται μύνημα αν τυχόν χρειάζεται η εγκατάσταση του παραπάνω module. Επιπλέον θα υπάρχει προεπιλογή στη γλώσσα -τα Αγγλικά.

EDIT 19/2/10: Βγήκε η έκδοση 0.2 Διαβάστε για αυτήν στο https://emnik.wordpress.com/2010/02/19/freemeteo-weather-screenlet-new-version-0-2/

‘Wiphcam’ : Python App for Linksys’ IP Cameras

Wiphcam (Wireless IP Home CAMera)

Wiphcam is a program written in python & wxpython using the python-vlc bindings to be able to watch and / or record sound and video from the Wireless-G WVC54GCA* Linksys Internet Home monitoring camera.

*Perhaps it works with other models too. Contact me if you test one successfully!

Features:

  • Watch (play | pause | stop | change volume | mute)
  • Record to a file with or without watching
  • Load / Save configuration in a file
  • Encryption of the password in the configuration file
  • Log file

Images:

Main window (watching tab)

Main window (recording tab)

Main window (menu)

Requirements:

Download file (41.5KB) from http://code.google.com/p/wiphcam/.

TODO*:

  1. Use the newest python (ctypes based) bindings from http://liris.cnrs.fr/advene/download/python-ctypes/
  2. Rewrite the app using pygtk instead of wxpython to take advantage of vlcwidget.py which provides a pygtk VLCWidget() to ease integration.

*feel free to contribute 🙂