Unable to change account picture and lock screen background in windows8.1

Pocket
Account picture in windows8.1
Account picture in windows8.1

It’s been a while I have been using Windows8.1 activated. I tried to change the account picture and lock screen background but to my surprise I could not change it. After researching a bit, I came to know that this issue was caused by the folder permissions issue in windows8.1. In order to change account picture and lock screen background picture the user needs to have access to “C:\ProgramData\Microsoft\User Account Pictures”. Once I knew the issue it was matter of minutes to get this done.

Please follow the below process to assign permissions to yourself in windows8.1 pro.

1. Hit “Ctrl+r” type “%programdata%\Microsoft\”
2. Select “User Account Pictures” click properties
3. Remove the “Read Only” attribute checkbox from this folder
4. Click on “Security” Tab
5. Click “edit” > It will show a new window
6. In newly shown window, Click “Add” > This will again show a new window “Select User & Groups”
7. In “Select User & Groups” window click advanced, This will again show a new window, Here click in “Find Now”
8. From the displayed search results select your “username”, If you are not sure about how to find your username it’s quite easy.

How to find username?
1. Ctrl+R
2. Type “cmd”
3. The user would be last one in the bash terminal e.g. “c:\Users\samundra>”. Then “samundra” would be the username.

9. Once user is selected, Select that user in permission window and under “Permissions for user” section “check mark” on allow for him on everything.
10. click “OK” on every window that’s been opened.
11. Now try to change the account picture and lock screen background.

Please let me know if you have any confusions on this.

Thanks,

Walkthrough on remote access to Ubuntu14.04

Pocket

I often access my ubuntu machine remotely and today I will be describing how I setup my machine to access it remotely from anywhere through internet. This is not a step by step guide rather it’s a kind of walkthrough and giving overview on how I knitted each bits and pieces to get the job done. To understand this post, you will need to have basic understanding of IP addresses, basic understanding on router, port forwarding, installing/uninstalling applications on Ubuntu, webserver for hosting php files, basic understanding of cron jobs on linux.

Let’s get to the point, at first I installed xrdp on my Ubuntu box and then installed xfce4. I found this http://www.tweaking4all.com/software/linux-software/use-xrdp-remote-access-ubuntu-14-04/ link very helpful. I won’t explain how to install xrdp and xfce4. Follow the link and you will have xrdp and xfce4 installed at the end of that post.

Now the next part is to configure the router. At first enable the remote management port in your router. This instruction differ from router to router so find the instruction that suits to your case. After that forward the port 3389 to your local network IP (for e.g. 192.168.0.10). This local IP will be generally one assigned by your router to your local machine, if DHCP is enabled in your router otherwise you’ll have to manually assign static IP to your local machine. Now the most important part is to get dynamic IP. This dynamic IP is what other users on internet will use to access your computer directly. This dynamic IP varies everytime you make connections to your ISP. Each time your router connects to ISP, each time it gets a new IP assigned by ISP so knowing this IP is crucial part. this IP will be used to access your router remotely and then configure port forwarding to the local machine. I am using a php script to get the dynamic IP. I found a little PHP snippet that does the job of finding the ISP assigned IP address (WAN IP).

<?php
//Filename : ip.php

$externalContent = file_get_contents('http://checkip.dyndns.com/');
preg_match('/Current IP Address: ([\[\]:.[0-9a-fA-F]+)</', $externalContent, $m);
$externalIp = $m[1];
$date = new DateTime();
echo "Last updated :". $date->format("m/d/Y H:i:s a");
echo PHP_EOL;
echo "WAN IP: ".$externalIp;
;?>

The output is

Last updated :10/17/2014 21:30:02 pm
WAN IP: 182.93.64.253

Save the above php snippet in ip.php and put it inside htdocs of your local webserver. In my case, I have kept ip.php file in my webserver’s test folder accessible at http://test/ip.php.

I have set cron job in my machine that runs ip.php file and saves the out on wan.txt file. I have another shell script (ftp.sh) which uploads this wan.txt file to my personal web-space. Now, this uploaded wan.txt is accessible from internet at (http://www.samundra.com.np/wan/wan.txt). I am now able to get the dynamic address assigned to my machine everytime. Below is the cronjob settings and ftp.sh contents.

ftp.sh

#!/bin/bash
echo "Uploading ip.txt via ftp"
HOST=ftp.yourdomain.com
USER=user@yourdomain.com
PASS="XXXXX"
ftp -inv $HOST << EOF user $USER $PASS put "wan.txt" "wan.txt" bye

Put the appropriate settings on HOST, USER, PASS and then save the ftp.sh and put in the same location where you have kept ip.php.

Cronjob settings

*/5 * * * * /usr/bin/wget -q -O wan.txt http://test/ip.php
*/5 * * * * /var/www/test/ftp.sh

Those were all, what I did for getting my machine to internet. I have configured various services on my machine and use them on regular basis using remote access. When you are exposing your machines to the wild you need to take precautions and use tight security measures which I haven't mentioned here. Hope this sharing helps someone out there.

Let me know your comments and feedbacks. I will try to answer your queries as soon as possible.

[Solved] Virtualbox Stopped working after ubuntu upgrade

Pocket

If you don’t know what Virtualbox is you can read about it here. If you are familiar with VMWare (Virtualization Software). Its kind of similar to that for Linux. It is also available for windows as well.

Now, back to the main problem. Recently I made upgrade from Lucid to Oneiric. This upgrade broke many of my softwares installed previously. One of the victim is Virtual box. Main UI for the Virtual box ran fine but when I created virtual harddisk and tried to start it. This is where the problem occured. I always got the following error :

Kernel driver not installed (rc=-1908)
Please install the virtualbox-ose-dkms package and execute ‘modprobe vboxdrv’ as root.

Then what I did is first removed the dkms package for virtualbox

samundra@mystic-angel:~$ sudo aptitude remove virtualbox-ose-dkms

Then I uninstalled the virtual box currently installed. It won’t uninstall the virtual harddisk created with it just some configuration files and user profiles for virtualbox. Nothing serious here.

samundra@mystic-angel:~$ sudo aptitude remove virtualbox-ose

Then I got the latest virtualbox for oneiric as .deb package. I download it from https://www.virtualbox.org/wiki/Linux_Downloads

For Oneiric, I downloaded http://download.virtualbox.org/virtualbox/4.1.18/virtualbox-4.1_4.1.18-78361~Ubuntu~oneiric_i386.deb

When download was complete. I used ubuntu software center to install the software. It got installed without any error.

Then the final part is to load the virtual box driver. I did that using the following command.

samundra@mystic-angel:~$ cd /etc/init.d/
samundra@mystic-angel:/etc/init.d$ ls | grep vbox
vboxballoonctrl-service
vboxdrv
vboxweb-service

The above output clearly shows that I had startup scripts for virtualbox. Now to upgrade the previous virtualbox driver and update it with new one. I ran the following command. This command is only listed in the official documentation for the virtualbox, If you have time then you should always read the official documentation first. Which we 80% skip for the first time. 🙂 The command I used is :

Virtualbox Upgrade

samundra@mystic-angel:/etc/init.d$ sudo /etc/init.d/vboxdrv setup
[sudo] password for samundra: 
 * Stopping VirtualBox kernel modules                                    [ OK ] 
 * Uninstalling old VirtualBox DKMS kernel modules                       [ OK ] 
 * Trying to register the VirtualBox kernel modules using DKMS           [ OK ] 
 * Starting VirtualBox kernel modules                                    [ OK ] 
samundra@mystic-angel:/etc/init.d$ 

Everything went fine. Now, the final part was to run the virtual box and see if everything is fine. I ran the virtualbox. And started a virtual harddisk, which ran fine with no errors. So, I got my virtualbox up and running within 10 minutes. Most of my time is killed due to downloads, which I kill by watching movies. Slow internet connection Poor me 🙂 Hope you have enjoyed reading my blog. If you have any questions or queries please drop them in comments.

[How to] General Introduction and Installation of Limesurvey

Pocket

If you don’t know what limesurvey is?
– Limesurvey is a great opensource survey application. It has been widely used by many big industries to create the survey tasks. It has many powerful features like creating dynamic fields for survey. Supports multilingual, defines userroles, user groups and the more it has been integrated into various CMS (drupal etc). The limesurvey team provides the commercial for those who are seeking.As well as community support for its users. Just to get the more details inside the limesurvey visit the http://www.limesurvey.org/

So, Here is basic guide on installing limesurvey.

At first download the limesurvey from http://www.limesurvey.org/en/download
Then click in the button where it says “Click here to download the latest version” (see the screenshot below)

Download latest limesurvey

When you click the link you get to a new page. From the new page click the file “limesurvey192-build120303.zip” or whichever link you think is suitable for you. I assume you know what these different files mean.

When the download is complete, extract the compressed file. You will get a new folder limesurvey. Copy this folder to the root of your document root or simply saying ‘htdocs’.

Now, here is the main configuration part for limesurvey.
– Open the limesurvey/config.php

and replace the following lines with appropriate settings

$databaselocation   =   'localhost';
$databasename       =   'limesurvey';
$databaseuser       =   'root';
$databasepass       =   '';
$dbprefix           =   'lime_';

$rooturl            =   "http://{$_SERVER['HTTP_HOST']}/ls";

// Installation Setup
$defaultuser        =   'admin';           // This is the username when LimeSurvey is installed and the administration user is created on installation
$defaultpass        =   'password';

In the above url, if your limesurvey folder is different than “limesurvey” as in my case it is “ls” then you also have to reflect that changes in $rooturl variable. To do that simply replace the name folder at the end of the $rooturl variable with newer one. see the line 7 in above code.

Then There is the installation setup which is admin username and password that will be used to login into the limesurvey admin page.

Now, Create a database named “limesurvey” or whichever you put into the config.php settings.

We are done with the settings. Now, we will have to populate the database with intial settings for limesurvey to operate. To do that visit the link

http://localhost/limesurvey/admin/install/

You’ll get a message as “A database named ‘limesurvey’ already exists. Do you want to populate that database now by creating the necessary tables.”.

It is fine we did that on purpose,right. This database is empty and now we will populate with necessary limesurvey tables.

see the screenshot below
Populate database

To do that, Just click in the “populate database”. This will take a moment.

When everything goes fine you will get a message as “Database `limesurvey` has been successfully populated.” as shown in screenshot below :

Successfull population of limesurvey database

Now if you click on the button “Main admin screen” you will get a error message stating that either you should delete or rename the install folder.

Rename install folder
Delete or rename the install folder. In Development environment, I usually rename the install folder.

  • -goto the limesurvey/admin folder
  • rename the “install” folder to the “old.install”

Now, we are done with limesurvey installation and it is ready for creating surveys.

To start the limesurvey administration visit the url http://localhost/limesurvey/admin/

Login to the limesurvey
To login to the limesurvey, use the username/password configured inside “config.php”.

I have tried to be as smooth as possible with the installation and forgive my English, i know its quite up and down. So that was all and if you are looking for more limesurvey tutorials drop some comments and I will try to be helpful as much as possible.

References :
1. Limesurvey Homepage, http://www.limesurvey.org/
2. Limesurvey Developer’s Wiki, http://docs.limesurvey.org/tiki-index.php?page=LimeSurvey%20Development&redirectpage=Development