Using Linux for Presentations Mini-HOWTO

Akkana Peck


Introduction and Motivation

This Mini-HOWTO is aimed at people who have a laptop running linux, and want to use it to give presentations via a computer screen projector using free software, rather than use proprietary tools such as powerpoint.

When I first wrote this HOWTO, I had very little experience presenting slides (though since then I've gotten quite a bit). I wrote it partly because I needed to research the options for an upcoming talk of my own, and partly because I was tired of seeing presenters at linux and open source gatherings using powerpoint because they didn't know there were other options or didn't have time to research them. Besides, powerpoint is "the most loathsome, vicious and immoral piece of software ever produced" :-)  If you doubt this, check out The Gettysburg Powerpoint Presentation, or Edward R. Tufte’s “The Cognitive Style of PowerPoint” Presented in the Form of a PowerPoint Presentation.

The latest version of this howto lives at


Akkana Peck wrote this howto.
Other contributors: N. Thomas, Travis Casey and Alvin Goats.
This document is copyright 2003 by Akkana Peck and I'm still trying to figure out what license best says what I want, which is this: feel free to redistribute this document as much as you want, just don't remove the author credit.  (I think that's the FreeBSD Documentation License?)

Software for Creating and Presenting Slides

There are plenty of software packages which can do a good job of presenting slides.

There are three major categories:

Dedicated presentation programs are programs designed to present slides. They usually have their own language for describing slides, and some of them include editing tools to help you design and edit your slides. The main advantage of this approach are that you're using a tool designed for the job.

Browser/HTML based solutions use HTML as the language for describing slides. To display them, you use a web browser, such as Firefox, usually in fullscreen mode. You can write the HTML by hand, use an HTML editor, or use a special tool aimed at creating HTML presentations. Advantages of this approach include portability, flexibility and ease of showing your slides on the web, and you can do equations with some difficulty (using MathML). Disadvantages mainly involve difficulties in styling HTML, and browser portability issues. The author prefers HTML for her own presentations; there are some tips for HTML presentations later in this document.

PDF based solutions use PDF as the slide language. Most people who use PDF slides seem to use acroread as their presentation tool, but evince and others also work. Advantage: it's portable, and in a pinch you can always find a machine that can display PDF at least to some extent. Disadvantage: neither the viewers nor the creation tools are usually very flexible, and multimedia (like animations or effects) aren't an option.

Presentation tool roundup:

Dedicated Presentation Programs

Open Office Impress
  • Fairly mature wysiwyg creation tool.
  • Can import/export powerpoint and other formats (at least to some extent -- animation and effects may not work).
  • True fullscreen mode.
  • May be able to export to html to put on the web afterward, or PDF for printing.
  • Very heavyweight to install and use (may be too much for some laptops).
  • Awkward and buggy.
  • Powerpoint export is limited and buggy.
  • Designed for the purpose.
  • Wysiwyg creation tool.
  • Some animation effects, piecharts, etc..
  • Can import/export html; some limited powerpoint.
  • Fullscreen, no-frame mode.
  • Editor is somewhat awkward to use.
  • Somewhat heavyweight, drags in KOffice/DCOP, lots of chatter on stdout.
  • Powerpoint support seems fairly limited.
  • Designed for the purpose.
  • Relatively small and lightweight.
  • Fairly simple text format files.
  • True fullscreen, no-frame mode: the only choice that can draw over the panel.
  • Can scribble on slides during presentations. :-)
  • Not many tools for creating content; must learn special language (or copy templates).
  • Annoying vffont error messages (avoid by running mgp -x vflib).
  • Designed for the purpose.
  • Fairly simple text format files.
  • Can embed commands to run demos in slides
  • Seems fairly new (2011); not sure how solid it is
  • Need to gather dependencies and build from source
  • Designed for the purpose.
  • Works with Image Magick to scale images.
  • Requires GGI and other libs many people don't have; even then, didn't work for me, "VFlib initialization failed".
  • No tools for creating content.
  • No man page.
  • No output in html or other standard formats.
  • May be unmaintained (has been dropped from Debian
  • Slides are just plaintext files
  • Handles video and interactive Python sessions
  • Documentation and support might be a little sketchy
Impressive (formerly KeyJNote)
  • Offers slide transitions and other effects
  • Simple, lightweight, Python
  • "highlight boxes" and spotlight effects
  • Fairly new, may not be mature yet.
ApplixWare Presents
  • Look and feel familiar to powerpoint users.
  • Applixware seems to be orphaned; the boxed version currently available (several years old) is apparently flaky.

Browser/HTML based solutions

  • An easy way of generating HTML/CSS slides.
  • A bit slow at displaying (may be processor intensive).
  • A Python script, lightweight and simple.
  • Generates HTML.
  • Output can be edited as needed.
  • Perl script
  • Generates HTML.
  • Output can be edited as needed.
"Takahashi method" XUL presentation tool
  • Slide syntax is simple to edit
  • Not really HTML, so works only in Mozilla.
  • Apparently deprecated in favor of the Monta method, which is documented only in Japanese.
W3C HTML Slidy
  • Switching off Javascript shows all slidse.
W3C Slidemaker Tool
  • Perl script.
  • Generates HTML.
  • Output can be edited as needed.
  • Older than Pylize and PLies; Doesn't seem to have key bindings, e.g. "next slide".
PHP Presentation System
  • Keyboard controls and special effects available.
  • Must be running a web server on the presentation machine.
  • A bit slow to load (at least, I never make it to the actual presentation on the page :-)
  • A GIMP plug-in for generating slides as JPEG.
  • Can apparently generate HTML too.
  • May be orphaned: only available for obsolete GIMP 1.2
  • If you get errors about "map", try changing "map" to "mapcar" in line 54
Opera Show
  • Online composition tool.
  • Style sheets may be Opera specific (not sure)

Tips and Tools for HTML Presentations:

Browser/SVG based solutions

  • Uses an Inkscape plug-in
  • Will include support for HTML5 audio/video elements
  • Create "viewports" onto a large SVG composition
  • some sample presentations

PDF-based and other solutions

PDF viewers such as xpdf, evince, the non-free acroread, etc.
  • Good control over fonts, sizes.
  • Can make presentation available as a whitepaper afterward.
  • You may already have PDF for some or all of your slides.
  • Lots of software available for creating pdf.
  • Can borrow a laptop without worrying if your slides will work.
  • No problem with integrated equations.
  • No one will want to download your whitepaper because pdf is a pain. :-)
  • PDF viewer apps are heavyweight, sometimes unreliable.
  • PDF creation tools are also heavyweight.
  • No animations, effects, transitions etc.
  • Bloat (e.g. graphic backgrounds get stored redundantly for each slide).
any image viewer (I'm partial to pho since I wrote it, but there are lots of choices, such as ee and xv).
  • Many available.
  • Small and lightweight.
  • Content creation tools are well understood (might not have to learn anything new).
  • Hard to put into fullscreen mode.
  • Tied to a specific resolution
  • Image creation tools (e.g. GIMP) are heavyweight, and less flexible for text manipulation.

Tips and Tools for PDF presentations:

The Moment of Truth: Connecting to the Projector

Here's a nice howto on configuring X for connecting to projectors.  Some additional tips I've found:

If you use an xorg.conf file, include some common lower resolutions like add 800x600 and 640x480. Then use ctl-alt-KeypadPlus and Minus to cycle through resolutions "live".

ctl-alt-KeypadPlus and Minus may not work in all xorg setups. In newer Xorgs with some graphics cards, especially Intel, use xrandr to control resolution and send the signal to the projector. This command works on my current laptop:

xrandr --output VGA --mode 1024x768
When I'm done and no longer want to send to the projector, I run:
xrandr --auto

However, this doesn't always work either. Some projectors are picky about whether the machine is sending a signal already when it's plugged in, or whether it sees a signal during power up. If you don't get a signal at first, keep trying. On my Vaio I find it's sometimes helpful to run the xrandr command mentioned above, then suspend the laptop and un-suspend it while still connected to the projector.

Some projectors, especially older ones, require a strong signal and won't work with a laptop that's displaying both to the external video port and to its own LCD.  This can be a problem on laptops (such as my older Vaio) where the display is software controlled and there's no Linux tool to switch to external-only mode.  I haven't found a solution, besides complaining to the laptop manufacturer and using a newer projector.

Some machines, especially older ones like my first Vaio, have no software-controlled way of switching the external signal on and off. Instead, the BIOS turns on an external signal if it sees an external monitor or projector plugged in at boot time. So if all else fails, try rebooting with the projector connected. With this sort of laptop, I recommend booting at home with a monitor connected, suspending, then leaving the machine suspended until you get to the talk.

Try adding this option in the device section of the xorg.conf file:

    Option "Display" "BIOS"
On some laptops, such as Dell, that enables the function key that switches between LCD and CRT, and also allows the docking station to detect the external monitor and automatically switch to CRT mode. (Thanks to Justin Gaither.)
nVidia-powered laptops have something called TwinView, which provide full support for switching between displays.  Check the nVidia README.txt, "APPENDIX I: CONFIGURING TWINVIEW", for lots of detail.  Here's a pointer to nVidia's XFree86 4.0 page(Thanks to Jos Thalen for the nVidia information.)

I'm sure there are other tricks for other laptops and distros.  This is an important section, so please help me out if you have something to add here!

Of course, always show up as early as possible in case there are problems hooking up. (This applies no matter what OS you're running! Windows and Mac users have just as much difficulty connecting to projectors as Linux users do.)

Remote Presenter Devices

What about those remote presenter gizmos where you can press buttons to advance a slide while pacing back and forth on the other side of the room from your PC?

No problem. Most of them are implemented as generic USB keyboard devices and will work just fine with Linux. I have a Logitech Cordless Presenter and love it (battery life is amazing, too).

Be aware that presenters don't all send the same key sequences: some send Page Up/Down, some send up/down arrow, some apparently look like a mouse and send right/left mouse clicks. So you may need to check your presentation tool: if you're using PDF or scroll-down CSS, you may want to look for one which sends Page Up/Down. If you're using OpenOffice, it probably follows the normal PowerPoint conventions and will work with most tools. If you're using HTML and JavaScript, then you can use anything as long as you make sure your JS obeys the right keys.

A Note on Sharing Slides

Your choice of slide format may affect how easy it is to share your slides with the world.

HTML slides are easy to put on a website so they're accessible to anyone. Be aware, though, that sites like Slideshare won't accept HTML, so you might lose out on any social-networking benefit from Slideshare.

Just about everyone can read PDF slides, so you can put those on the web and let people download the presentation. They have to download the whole thing, though; you can't just point to one slide.

OpenOffice can save in PowerPoint format, but it will lose animations and may lose formatting and transition effects. Powerpoint isn't as ubiquitous as some people seem to think: not all Windows users have Powerpoint (it doesn't come free with Windows) so it's really not a great format for sharing. It's usually the only format accepted by non open-source conferences, though.

Open-source conferences usually specify that your slides should be ODP (OpenOffice's native format). You can freely ignore this and give them a PDF or a tarball of HTML slides; when they say ODP they really mean "an open format, not Powerpoint" and they haven't considered the possibility that anyone would use something besides OpenOffice.

Special formats used by programs like KPresenter or MagicPoint, while open, will be hard for most people to display and aren't a great choice for sharing.

Some Conclusions (warning, personal opinion)

Other resources