The information below will help you to setup a Raspberry Pi with Raspbian OS that will play a slideshow/PowerPoint presentation using a PPT/PPTX or ODP file.
The system will be setup to automatically login to a desktop, load Libre Office Impress (PowerPoint alternative) and run a slide show presentation with custom slide show settings defined.
Please note, MS Powerpoint slideshows might not display 100% correctly in Libre, you can save from MS PP to an open format or to ensure an output as expected, just grab Libre office for PC or Mac, it is Free after all!!
Instead of using a costly full blown MS Windows desktop PC we can use a Raspberry Pi that not only costs hundreds of pounds less to buy but also consumes a minor percentage of power that a full desktop uses as well as being small enough to attach to the rear of the display device.
Note: These instructions do not cover the use of 3rd party applications, please consult the relevant program guides.
Note: The steps below are carried out using the Raspbian Full image. The Raspbian ‘Light’ version can be used but you will need to install a desktop and more. This will not be covered.
The process order for this task is:
- Install / Upgrade Raspbian OS
- Update Libre Office – Impress
- Apply Raspbian custom settings
- Apply Libre Office Impress custom settings
The Install and the Update
If your using a previously created base imae then run the commands below quickly to ensure everything is up to date:
sudo apt-get update
sudo apt-get dist-upgrade
You will be shown ‘Reading package lists… Done’ on successfully completing the update
sudo apt-get clean
Update Libre Office – Impress
Once Logged in, enter the following commands to update Libre office to the latest version.
sudo apt-get install libreoffice-impress
If the latest version is already installed the below output will be shown
NOTE: um, the bit above is abit jumbled, i will redo this asap, try upgrde rather then install for the apt-get above….
Right, that’s an OS and an application to run the slideshow with, next is to get a desktop to boot.
Automatically load file on boot
To run a file automatically at start-up we must place some code into the autostart file.
–norestore is required in the event of an unsafe shutdown, Libre Office will try and restore the file when its next loaded, this process required user interaction.
Navigate to the autostart file located below – this can be done from Putty or locally using the console.
Insert the below line into the autostart file.
Note: This will be the location of the presentation that will start on boot.
@libreoffice --show /home/pi/Documents/presentation.ppt --norestore
With things loading to a desktop lets set some Impress defaults to load a file and start it looping in full screen mode.
Impress Custom Macro To Enforce Global Settings
- Start Impress
- Select Tools -> Macros -> Organise macros -> LibreOffice Basic
- In the left pane, select My Macros -> Standard -> Module1
- In the right pane you will get: Main
- Select Edit
- You should get something like:
------------------------------------------- REM ***** BASIC ***** Sub Main End Sub -------------------------------------------
Replace the contents with below:
------------------------------------------- REM ***** BASIC ***** REM Set presentation variables for all presentations Sub Main Dim Doc As Object Dim Presentation As Object Doc = ThisComponent Presentation = Doc.Presentation REM Uncomment the line below to make all presentations loop endlessly: Presentation.IsEndless(True) REM Uncomment the line below to make all presentations run fullscreen: Presentation.IsFullScreen(True) REM Uncomment the line below to remove the 10-second delay: Presentation.Pause = 0 REM Uncomment the line below to bypass the navigator on program start: Presentation.StartWithNavigator(False) REM Uncomment the line below to make sure presentations always run on top: Presentation.IsAlwaysOnTop(False) REM Uncomment the line below to change slides automatically rather than manually on all presentations: Presentation.IsAutomatic(True) REM Uncomment the line below to allow animations in all presentations: Presentation.AllowAnimations(True) REM Uncomment the line below to always hide the mouse during presentations: Presentation.IsMouseVisible(False) REM Uncomment the line below to start presentations directly on opening: Presentation.start() End Sub ----------------------------------------------
- Save the macro, close the dialog (of course you’re welcome to give the macro a somewhat more informative name than the default)
- Select Extra -> Customize in the menu
- Select the tab Events
- At the bottom of the dialog it says Save In: Untitled1 (or another filename)
- Change Untitled1 into ‘LibreOffice’ (this will save the event in the global configuration instead of the local document)
- Select the event Open Document
- Click on Macro…
- Select your library in the left pane (e.g. My Macros -> Standard -> Module1)
- Select “Main” in the right pane, and click OK. This will assign the macro you just created to an “Open Document” event.
Fingers crossed I have written all this down correctly, restart the PC and away you go!!
Note, I will update this soon, it seems i have missed some bits..