LXQt – extending the life of my trusty old EEE PC (even further)

My old Asus EEE PC 900 is the oldest piece of hardware I own. With an old Intel Atom processor and 1GB of RAM it's never was the fastest kid on the block (in fact I never considered the Windows XP version of the same unit usable as it was very sluggish). However after owning it for nearly 7 years I am very surprised I can still use it. Granted I only use it occasionally when I am at home, but thanks to LXDE it was still usable. I recently learned that LXDE is merging with the Razor-Qt project (great idea!) to create the combined LXQT - an ultra-low resource window manager. Warning: LXQt is still considered a work in progress. So probably not a good idea on your prime work machine. I started with a clean re-install of LUBUNTU LTS 14.04 - to add LXQt you need to add the lubuntu-daily PPA. sudo add-apt-repository ppa:lubuntu-dev/lubuntu-daily sudo add-apt-repository ppa:gilir/q-project sudo apt-get update sudo apt-get upgrade sudo apt-get install lxqt-metapackage Log out and log in back to LXQt desktop environment. VoilĂ  ! After using it a little while it really is a joy to use and extremely responsive even on such a resource constrained old unit. Great work !

Continue Reading

Ubuntu 14.04 – post-install enhancements for Trusty Tahr

Excellent coincidence that the release of Ubuntu 14.04 LTS (Trusty Tahr) fell into the Easter holidays. This gives me the time to install earlier than I normally have time for. This realease being a LTS (long-term support) release means it is a fairly conservative release. There are some nice enhancements and most importantly for me the 3.13 Kernel means finally Wacom Touch devices are supported without kernel mods. Unfortunately some things are still not included (such as the boot-repair tools not being part of the standard repos). Fortunately it's relatively easy to fix most of these things. Install core packages One line to fix it (well - mostly ...). This is a very personal & subjective list based on what I need all the time. Most things would not be relevant to casual users. Ignore at will. sudo apt-get install -y vim chromium-browser filezilla owncloud-client gnome-gmail httrack keepass2 inkscape s3cmd putty openssh-server nfs-common fslint unoconv xsane libreoffice-base libreoffice-mysql-connector offlineimap pwgen getmail4 apache2-mpm-itk libapache2-mod-php5 mysql-client mysql-server php5 php5-mysql php5-common php5-xmlrpc php5-gd php5-common curl php5-curl php5-ldap php5-odbc php5-xsl php5-ldap php-pear libapache2-mod-wsgi python-django python-imaging python-pythonmagick python-markdown python-textile python-docutils python-mysqldb rapidsvn umit flashplugin-installer cups-pdf git gnome-schedule regexxer ubuntu-restricted-extras arduino gufw cifs-utils subversion sysinfo jobs-admin network-manager-openvpn network-manager-vpnc openjdk-7-jre openjdk-7-jdk icedtea-7-plugin bum mysql-workbench traceroute whois sublime-text bleachbit grive dia-gnome tintii calibre openscad pepperflashplugin-nonfree NOTE: Since Chromium Flash plugin support is broken in 14.04 (due to Chromium killing Netscape Plugin API) you need to run the Pepper Flash install script to allow flash to play in Chromium.…

Continue Reading

Fixing UEFI Secure Boot problems on Ubuntu 14.04

Unfortunately the mess that is UEFI Secure Boot still causes issues on some hardware. In my case it's a Toshiba Z930 Ultrabook. I have documented the procedure to get it working here. However it turns out that there is no 'Trusty' release for the boot-repair utility. The fix is relatively easy. sudo vim /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list #change the following line from 'trusty' to 'saucy' sudo vim /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list You can then just finish with sudo apt-get update sudo apt-get install -y boot-repair && (boot-repair &) Another option is to boot off a USB image (or CD) created from http://sourceforge.net/p/boot-repair-cd/home/Home/.

Continue Reading

Apache Cordova development environment install on Ubuntu

Apache Cordova has very nice documentation, however as so many projects it is focused on the Windows/MacOS duopolies only. Fortunately it's not too hard to work out the differences. Installing dependencies Thanks to: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager sudo apt-get install python-software-properties python g++ make ant openjdk-7-jre openjdk-7-jdk Installing Android SDK Please note: one of the problems I found was that I had some Android tools from the Ubuntu repos that were conflicting with the SDK install. It's probably a good idea to remove them first. That might save you from a lot of headaches down the line (and time to troubleshoot). sudo apt-get remove android-tools-adb android-tools-fastboot Download as per http://developer.android.com/sdk/index.html wget http://dl.google.com/android/android-sdk_r22.6.2-linux.tgz Note: check for updated link version obviously vim ~/.bashrc Add the PATH variables to the top of the file #AndroidDev PATH export PATH=${PATH}:~/android-sdk-linux/tools export PATH=${PATH}:~/android-sdk-linux/platform-tools Reload bash variables without reboot / logout source ~/.bashrc Testing SDK android This command should now bring up the SDK manager. Installing Eclipse IDE This is obviously an optional step depending on the IDE you want to use. I have previously covered a manual Eclipse install (as opposed to the Ubuntu repositories). Install Eclipse ADT Plugin As per: http://developer.android.com/sdk/installing/installing-adt.html Node.js Install The main difficulty on Ubuntu (as with so many development tools - see Eclipse above) is that the included node.js version in the Ubuntu repositories is outdated (remove the Ubuntu version with 'sudo apt-get remove node'). sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install python-software-properties python g++ make nodejs Install Cordova sudo npm install…

Continue Reading

Getting Foscam IP Cameras to work from Linux (Ubuntu)

As with most hardware manufacturers of hardware Foscam utility software is Windows or Mac only. The actual unit tested with the below is a FI9805E Outdoor POE camera. Installation The installation is relatively painless as the unit is set up to get the IP assignment via DHCP (check your routers DHCP assignment list). https://IP.ADDRESS.OF.CAM should get you to the web-admin interface. The default user is 'admin' with no (empty) password. Taking snapshots http://IP.ADDRESS.OF.CAM:PORT/cgi-bin/CGIProxy.fcgi?cmd=snapPicture&usr=username&pwd=password I had some issues with the color of the images in daylight (which for an outdoor camera is not really a good thing. A Firmware update (V2.14.1.5) improved this (you can disable the IR LEDs during daylight hours). Thanks for FOSCAM UK support via Twitter I found the download URL as the main site seems to have been down for a while. Firmware URL: http://foscamuk.co.uk/downloads/ Streaming in H.264 video The easiest way to get the stream appears to be the RTSP connection (using VLC or any network video player). MXPlayer on Android works very well too. rtsp://username:password@IP.ADDRESS.OF.CAM:PORT/videoMain rtsp://username:password@IP.ADDRESS.OF.CAM:PORT/videoSub rtsp://username:password@IP.ADDRESS.OF.CAM:PORT/audio Streaming in MPEG mode The be able to use the MPEG streaming the stream format needs to be set first. http://IP.ADDRESS.OF.CAM:PORT/cgi-bin/CGIProxy.fcgi?&usr=username&pwd=password&cmd=setSubStreamFormat&format=1 http://IP.ADDRESS.OF.CAM:PORT/cgi-bin/CGIStream.cgi?cmd=GetMJStream&usr=username&pwd=password Resetting back to H264: http://IP.ADDRESS.OF.CAM:PORT/cgi-bin/CGIProxy.fcgi?&usr=username&pwd=password&cmd=setSubStreamFormat&format=0 Next steps will be to make this work from a headless device with an Amazon S3 storage backend. This Github project https://github.com/phil-lavin/Foscam-FI8908W-Recorder is looking promising. Watch this space.

Continue Reading

Ubuntu Touch install on Nexus 4

This is the last of a series of alternative mobile OS installs and the easiest install by a country mile ! Install Everything is quite well documented here: https://wiki.ubuntu.com/Touch/Install. sudo add-apt-repository ppa:phablet-team/tools sudo apt-get update sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot phablet-flash ubuntu-system --channel devel --bootstrap That is it really ! This is how a OS change on a mobile should work ! Issues Ubuntu touch can not yet handle the radio firmware past Android 4.3 devices. So if your N4 was upgraded to Android 4.4 (KitKat) you need to flash the radio to the Android 4.3 (up to Version 2.0.1700.84) else WIFI will not work. Download 4.3 Stock Image from: https://developers.google.com/android/nexus/images#occamjwr66y fastboot flash radio fastboot flash radio radio-mako-m9615a-cefwmazm-2.0.1700.84.img fastboot reboot Wifi setup (Optional - this can be done via phone UI as well). Connect the phone via USB adb shell nmcli -pretty dev wifi connect NETWORK-NAME password PASSWORD

Continue Reading

Making VIM the default text editor on Ubuntu

In my never ending quest to find the ideal text editor here is another installment. Since I have been using VIM as my default command line editor for years I thought I give it a try for basic GUI editing as well. Install and set desktop app & icon sudo apt-get install vim vim-gnome sudo wget --output-document=/usr/share/applications/gvim.desktop https://raw.github.com/leogaggl/misc-scripts/master/gvim.desktop sudo wget --output-document=/usr/share/icons/hicolor/scalable/apps/gvim.svg http://gfxmonk.net/images/vim-logo/vim-logo.svg sudo update-desktop-database Set MIME defaults vim ~/.local/share/applications/mimeapps.list #add or edit the following mime type and add others as needed text/plain=gvim.desktop;

Continue Reading

Install FirefoxOS on Nexus S (GT-9023)

I just had one of my old hand-me-down phones returned by my offspring in a great condition (junior is very careful with his equipment - well done young man !). This doesn't happen all too often shows that the Nexus S is a decently built phone. This is also a good example of breaking the built-in obsolescence of modern phones. This particular unit has served me well for nearly 2 years (my average is one year) and served 2 kids after that. These instructions have been compiled on Ubuntu 13.10 64bit to allow me to re-do this process in future. It should work on any Linux based distro (see pre-requisites) - if you are using another Operating System it might be time to switch. Hopefully it might be useful for other people as well. Installing pre-requisites As per https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Linux_Prerequisites wget https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py python bootstrap.py Ubuntu 13.10 additions As per https://developer.mozilla.org/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Ubuntu_13.10. sudo apt-get install --no-install-recommends autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git lib32ncurses5-dev lib32z1-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip libxml2-utils sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 1 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 2 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 1 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 2 sudo update-alternatives --set gcc "/usr/bin/gcc-4.6" sudo update-alternatives --set g++ "/usr/bin/g++-4.6" Check out & build Firefox OS git clone git://github.com/mozilla-b2g/B2G.git cd B2G echo "export HIDPI=1" > .userconfig ./config.sh nexus-s ./build.sh -j3 The config script will take quite some time depending on your internet connection as…

Continue Reading

Ubuntu 13.10 based Python/Django/WSGI setup

I am currently looking into the use of Django for one of my extra-curricular projects and needed to set up a development environment on Ubuntu. This is the log for future reference and hopefully useful for anybody needing to do the same. Dependencies & Django Installation Core Dependencies & Django sudo apt-get install apache2 apache2-mpm-itk libapache2-mod-wsgi mysql-server python-django python-mysqldb Optional add-ons For my purposes I need a few more additional modules sudo apt-get install python-networkx python-imaging python-pythonmagick python-markdown python-textile python-docutils python-pymongo To test the installation you can check with this command that should print the Django version python -c "import django; print(django.get_version())" Django App Configuration cd /home/USERNAME/projects/python django-admin startproject djangotest cd djangotest python manage.py runserver This should give something like the following as output: Django version 1.5.4, using settings 'djangotest.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. WSGI Configuration All that remains to be configured is the Apache VHOST configuration containing the WSGI directives. sudo vim /etc/apache2/sites-available/001-djangotest.conf <VirtualHost *:80> ServerName djangotest ServerAdmin webmaster@domain.com #<IfModule mpm_itk_module> #AssignUserID USERNAME USERNAME #</IfModule> DocumentRoot /home/USERNAME/projects/python/djangotest <Directory /> Options All AllowOverride All Require all granted </Directory> Alias /static/ /home/USERNAME/projects/python/djangotest/static/ <Location "/static/"> Options -Indexes </Location> ErrorLog /home/USERNAME/projects/python/djangotest/apache/logs/error.log CustomLog /home/USERNAME/projects/python/djangotest/apache/logs/access.log combined WSGIScriptAlias / /home/USERNAME/projects/python/djangotest/djangotest/wsgi.py WSGIDaemonProcess djangotest python-path=/home/USERNAME/projects/python/djangotest processes=2 threads=15 display-name=DjangoTest WSGIProcessGroup djangotest </VirtualHost> Lastly enable the site and restart Apache sudo a2ensite 001-djangotest sudo service apache2 restart PLEASE NOTE: On Ubuntu 13.10 due to Apache being now 2.4 there is a fairly important change in access permissions (which cost me some time to…

Continue Reading

Ubuntu Apache2 – run VHOST as different user

There are several reasons why you might want to run different Apache Virtual Hosts as separate users from the Apache user account. My most frequent usage is on my development machine to allow running from my home directory. The most commonly recommended option for this purpose is MPM-ITK (a quick hack would be to add yourself to the www-data group using "sudo usermod -a -G www-data USERNAME") sudo apt-get install apache2-mpm-itk sudo a2enmod mpm_itk Modify the virtual host config file in /etc/apache2/sites-available <Virtualhost *:80> ServerName HOSTNAME ServerAdmin webmaster@domain.com <ifmodule mpm_itk_module> AssignUserID USERNAME GROUPNAME </ifmodule> DocumentRoot /home/USERNAME/www/docs ErrorLog /home/USERNAME/www/logs/error.log CustomLog /home/USERNAME/www/logs/access.log combined </Virtualhost> PLEASE NOTE: If you doing this on a machine that already had a default install where MPM-PREFORK is enabled you have to disable sudo a2dismod mpm_prefork sudo a2enmod mpm_itk

Continue Reading