This is basically an update to accommodate the changes in Ubuntu 10.04 LTS
reopened the forum for registration to promote discussion and sharing
While some of the changes are minor, I think it would be easier to create a new article. This is the same article, just updated to reflect the changes that may cause confusion in the old article. Read on, before long you will have an Digital Picture Frame using Ubuntu.
I will stick to the HW, SW, & Config for these. There are plenty of places on the internet to figure out a way to build a box, much less a picture frame/shadowbox. This page is all about installing the software, setting the settings, turning it on, and walking away(crossed fingers).
There are a few things you should know before getting started on this.
Install your own Linux (I used Ubuntu 10.04 LTS), this document does not show you how to do that. It’s an easy install …..
Make sure networking works, preferably wireless.
When asked about a default keyring password, use a blank password.
256 MB RAM
10 GB HDD
intel Wireless mini-pci card
I am using Ubuntu 10.04 LTS
There are a few changes since the last article, I will do my best to update everything for this version
The Front End Software
Gnome offers a simple easy to use interface.
Session manager provides a way of starting up the feh program on startup.
Login manager allows me to auto-login the user.(not secure, by any means).
Remote Desktop for remote access to the… well, desktop.
Power manager/screensaver to turn off screen blanking.
- feh (slideshow)
The slideshow portion for fullscreen, no-pointer goodness.
The Backend Software
and various Perl packages for scripting
- Apache 2
for the Flickrframe perl config
- Flickrframe from sourceforge
For creating the News and Weather and images.
- A flickr account
- Install Ubuntu 10.xxx
This would be a waste of space for me to re-write how to do this. There are many resources available on line that can guide you. One of my best resources is just doing it. Download, burn, and install a copy of Ubuntu.
A few hints though…
Make sure Networking is functioning, this is an important part of the whole scheme of things.
While Installing, create a user called ‘flickrframe’ or whatever user is going to be the one showing the slideshow. This will be important for permissions etc later.
- Click System->Administration->Login Window
- Enter your password(in Ubuntu)
- Select the Security tab.
- Check the Enable Automatic Login box.
- Select the User (the one you created for this very reason)
- Click Close.
You can test this by shutting down the machine and restarting….
- Set up the Remote Desktop
- Click System->Preferences->Remote Desktop
- Under Sharing, Check Allow other users to view your desktop
- Allow other users to control your desktop
- Under Security, Uncheck Ask you for Confirmation
- Check Require the user to enter a password
- Enter a password
- Click Close
You can test this by using a VNC program and connecting to your computername or IP in the address field.
- Screen saver / Power Management
It is important to turn off the screen blanking feature as the slideshow is fairly useless if nobody can see the pictures… think: If a tree falls in the woods and nobody is there to hear it…
- Click System->Preferences->Screensaver
- Uncheck Activate screensaver when computer idle
- Click the Power Management button
- Change the sliders to Never
- Click Close
- Click Close again
Here comes the science…
At this point you should have a computer that starts up, logs in automatically, and sits there. Impressive, I know. But don’t rest on the success yet. If you are new to Linux, this would be a good time to wipe you forehead, maybe take a little walk around the room and think about things. You might even want to point out what you have done to your significant other. Don’t do the last part yet, nobody really cares when a computer starts and sits there…. They care more when they don’t do those things….
Basically, at this point, you have a working linux laptop. Which is fairly impressive in its own right. Now comes the Geek/Technical “stuff” . It will be okay, just don’t drink the kool-aid.
From here on out things you type will be in Italic
Add the backend software and configure
“apt-get” is the way you add software packages to Linux running ubuntu. Networking should be working at this point for anything to work.
Click on Applications->Accessories->Terminal
This will open a terminal screen, aka command prompt
Type the following
Enter your password. This will give you temporary Super User (root) access to make administrative changes to the system.
This will make sure everything is up to date.
Install feh, graphicsmagick, perl, libwww-perl, gcc, make, ssh, apache2
apt-get install feh
apt-get install graphicsmagick
apt-get install make
apt-get install gcc
apt-get install apache2
apt-get install perl
apt-get install libwww-perl
apt-get install libapache2-mod-perl2
Once that is done type:
This will take you out of su mode and back into “for your own good” mode.
Install Flickrframe Perl scripts
Download and unzip the flickrframe scripts form sourceforge then move into /home/flickrframe from the downloads directory.
Once the file is moved over
tar -xvf flickrframe.tar.gz
This will create a directory called flickrframe in the home directory. (/home/flickrframe/flickrframe)
There is a readme here, that is helpful, but not entirely accurate. I will try to explain the correct processes below.
Install Flickr::API(from the flickrframe INSTALL.txt)
Here we install the perl modules to support the flickrframe app.
Enter Password, then continue on.. Once you start this, it will seem to not do anything for a while, let it run.
perl -MCPANPLUS -e ‘install Flickr::API’
perl -MCPANPLUS -e ‘install Getopt::Compact’
perl -MCPANPLUS -e ‘install Text::Table’
perl -MCPANPLUS -e ‘install Math::BigInt’
At this point I would go a head and install the XML::Simple. We will need it later for the weather and CNN scripts, so:
perl -MCPAN -e ‘install XML::Simple’
When this is done type:
Per the instructions in the flickrframe docs, you should edit the apache config. This would work okay if you were using apache, but we are using the newer apache2, just because, I kno w how to make this work with it. So follow along if you are using apache2
sudo pico /etc/apache2/mods-enabled/mime.conf
find the line that says ‘# AddHandler cgi-script .cgi’ and add below it:
AddHandler cgi-script .pl
This will add perl script cgi support. remove the hash before the above line to enable .cgi script support outside of the cgi-bin directory
Ctrl -x to exit select y to save.
sudo pico /etc/apache2/sites-enabled/000-default
Change the line for Document Root to reflect the root directory of flickrframe:
Document Root /blah/blah
In the Directory /var/www section, Change the directory to the same as above
and Add ExecCGI to the end of the line containing Options:
Options Indexes…. ExecCGI
Exit out using Ctrl+X and Y at the prompt to save.
Now add the localhost to the config file by opening the apache2.conf file
sudo pico /etc/apache2/apache2.conf
Add the following line to the bottom of the file
exit and save
Restart apache2 and watch for errors
sudo /etc/init.d/apache2 restart
This should return [ ok ]
Set Correct Permissions in /home/flickrframe/flickframe/
There are a few permissions/changes that need to be fixed in the flickrframe app directory.
Create your config file by typing:
cp flickrframe.conf.dist flickrframe.conf
to copy the file flickrframe.conf.dist to flickrframe.conf
check permissions on this file
ls -al flickrframe.conf
the output will show you the permissions, they should read
rw-rw-rw or 666 (because it is evil to give write premission to everyone)
IF they don’t read that, type:
chmod 666 flickrframe.conf
I am not going to go into the explanation of permissions, this should be known, but you can always look up permissions by googleing ‘chmod’ or “linux file permissions’.
FlickrFrame.pm should be 774(I think)
htdocs/ff.js should be 774 as well
Configuration and Flickr Authorization
Edit: The latest ubuntu comes with a Pictures directory in your home folder… I am using this to store ffimages for the time being so create an ffimages folder there… remember the sync piece wipes out anything that isn’t part of the current image set, so keep your ffimages directory as a subdirectory of your pictures folder.
mkdir rssimages (for the weather and cnn scripts, if you choose to add them).
mkdir mypics (for local images you may want to store, but not load to flickr).
go to the web browser on some computer and type the ip address of the pictureframe computer…
Where xxx… is the ip address. or use http://127.0.0.1/authwizard.pl
This will allow you to set the synchronization portion for flickr. The process here is to set up the API key to use your flickr account. You will need to login to your flickr account and request a key… the instructions are on the web interface for your digital picture frame.
The authorization script will ask you to add the key, the shared secret, etc… after you set that wait about 5 minutes. then click the link to authorize everything.
This will take you to the configuration for the slideshow.
Just to make sure everything is working correctly,
set the Max to 10
Display interval to 10 seconds
update to 120 Minutes
Image folder to where you created the ffimage directory above.
Log file to /home/flickrframe/fflog.log
Autostart the slideshow and the flickrframe backend
On your Xwindows Desktop:
- System->Preferences->Startup Applications–
- Click New
- Name: flickr sync
- Command: /home/flickrframe/flickrframe/FlickrFrame.pm -b -c /home/flickrframe/flickrframe/flickrframe.conf
- click ok
- Click New
- Name: Slideshow
- Command: feh –hide-pointer -qrzZFD 10 /home/flickrframe/Pictures
you can start the sync process at this point by typing:
/home/flickrframe/flickrframe/FlickrFrame.pm -b -c /home/flickrframe/flickrframe/flickrframe.conf
Check the log file you created or the ffimages directory to see if images are being loaded.
Once all that is configured, and you are sure you are getting pictures, I would test everything by rebooting. The Digital Picture Frame should startup log in and go to the pictures automatically. After that change your configuration to add photosets from your flickr account.
Notes about the configuration page
At this point, you have a few different options for configuring flickrframe. The options listed are Photoset, Favorites, Group Pool, Interesting
For each of these, and ID is required. The ID is easily found by using idfindr
Now if I plug that into idfindr under the group tab, i can go back to the user tab and the group ID will be there. In my case the group ID is 55624923@N00
To create a subscription in flickrframe config, I click on Type, choose Group Pool, under ID I enter the ID I received, 55624923@N00 and a max of 100 pictures. This tells the system to download 100 random pictures from flickr that belong to that group.
Under settings, I check Shuffle,display (which doesn’t matter, but it needs something) set to 10, Update (which does matter) set to 1440 minutes. I also add the path to the pictures folder where I want the images from flickr to go. In this case, I want them to go to the ffimages directory under Pictures in my home directory. I create a log file for troubleshooting as well. I usually put it in my home directory. I call it fflog.log
Once it is all done, you should restart to make sure everything works correctly.
From here you can do whatever. The Weather, CNN, and radar images are located on this site. If you are feeling daring, try them out.
LikelySoft (seems to have disappeared)
Ubuntu and its various Forums
Google – for the incredible results, of which my page never seems to appear.
Make: & Craft: Magazines for inspiration
Instructables for Inspiration
Lifehacker for keeping me informed