Essentials

With this page, I intend to collect information which should help you to develop or customise your Nokia N9 Meego OS. I avoid anything to do with QT but am looking more into direct Meego development and customisations.

NOTE: This is my original page from 2012. In the meantime, the device and the OS is still great but a lot of services have stopped working because Nokia (or their legal heir) decommissioned them, licenses ran out or even certificates expired.

Check out some sub pages on how to revive your Nokia N9 in our current (here 2020) time.

Accessing the device

This is pretty straight forward: Enable the Developer Mode in Settings --> Security (this will download some applications). Now you have SSH access available. Check out the two new applications (Terminal and SDK). The SDK Connection will show you the access password of SSH, your IP address and also allow you different connection methods (USB, WLAN, SSH/VNC). Note, that the SSH password changes every time this application starts. My recommendation: write down the password on every start, just in case you need to restore...

Here is how to access the SSH from your PC: Use the user called "developer" and he password that is mentioned in the SDK application. You don't have to log in, if you use the Terminal application of the handset.

To gain root access, type devel-su into the command prompt (note, this is a command, not an actual user). The default password now is rootme.

Restoring the device

Yes :)... No comments, no questions asked...

Option 1: You noted down the SSH password? Try accessing the SSH again and manually undo your changes from the console

Option 2: Download the Nokia Software Updater and re-install the latest firmware

Option 3: There are some tools which can flash your device. I have no experience wit hthem yet, and I don't want to. Option 1 would have helped me if I would have noted down the password. Option 2 did then help me.

Note: The backups are not full backups. You have to reinstall your applications if they got deleted during a re-image.

Useful Tools

vi - text editor
devel-su - gives the "developer" user root rights

Meego files and Modification ideas

gconftool-2 -t string -s /desktop/meego/screen_lock/low_power_mode/operator_logo [file location]

/etc/init/apps
Contains .conf files. The configuration files in there are processed by Upstart. http://upstart.ubuntu.com/cookbook/

/etc/mce/mce.ini
In this file, you can change the way the power key works (timings and behaviour for single click, double click, long click, display, keypad, charger, ...)

/etc/profiled/
These are the phones call profile configuration files, and there you can see under each profile the properties that they define and that you can access

/home/user/.local/share/applications
this folder also contains the applications for the quick launch at the bottom (when you slightly move up the application screen. Also it contains the folder configuration, the browswer bookmarks. One suggestion fromĀ  Michael Faro-Tusino here http://mynokiablog.com/2011/12/31/n9hacks-hide-app-shortcuts-enable-terminal-without-dev-mode-terminal/ is to copy meego-terminal.desktop /home/user/.local from /usr/share/applications/ to this folder called Terminal.desktop to always enable the terminal app.

/usr/share/applications/
The application shortcuts are sitting here. If you want to remove or add them, this is the right folder. To remove an icon from the front screen, just delete the file or rename it starting with a . (dot).

/usr/share/themes/base/meegotouch/liblockui/
screen config for the security lock screen, keypad, change password screen

/usr/share/themes/base/meegotouch/meegotouchhome/style/meegotouchhome.css
- change locked-orientation: "portrait"; to locked-orientation: ""; to allow the application screens to rotate according to your handset rotation.
- add a line to the container MWidgetStyle#folderContainerContentWidget { background-opacity: 0.5; } to set transparency to the folders (0 is max transparency, 1 is none)

/usr/share/themes/base/meegotouch/libsysuid-screenlock-nokia/
screen config for the screenlock screen and also the standby screen (low power mode lock screen)

/usr/share/themes/base/meegotouch/libsysuid-screenlock-nokia/style
LockScreen MImageWidgetStyle#LockScreenLowPowerModeOperatorLogo sets the maximum size of the operator logo

/usr/share/themes/base/meegotouch/sysuid/
screen config for the main screen UI, notification area, shutdownscreen, status area, indicators

/usr/share/themes/base/meegotouch/sysuid/style/statusarea.css
This contains the info for the top status bar

/usr/bin/devicelockd
daemon for security locking the screen

/usr/bin/sysuid
daemon for main screen and screenlocking