Don't understand german? Read or subscribe to my english-only feed.

GLT08: Sysadmin Talk

Mika in Sysadmin Talk - Disclaimer: sorry for the bad picture quality - isn't my camera :)

At linuxdays Graz I held my talk about "Systemadministration++". I was telling my audience mainly stuff I collected for adminzen.org. It was the first time I could use the lessig method for presentation. First time, and could? Yes, because when using the lessig method to be able to use a presenter screen a dual head setup is recommended. As so many people asked me about the presentation software and the setup I used I’ll keep my promise and write some sentences about that…..

As you might know from my previous blog entry about OpenOffice’s Impress using a presenter screen on Linux isn’t that easy. Cool, we have something to make the next year the one of “Linux on the desktop” once again, right?

Alright. OO isn’t yet ready for what I need. KOffice? Doesn’t even have an idea of what dual head might be. Failed. Currently pdf-latex is my favourite way of writing slides – being able to write my slides remotely, put plain text files under version control, all the stuff you know… So I thought about a way to use my cute RandR setup where I’ve to do nothing more than execute just two commands to get the dualhead stuff on-the-fly:

% xrandr --output VGA --mode 1024x768
% xrandr --output VGA --left-of LVDS

Dual head running, what I’d need is either a PDF file splitted into two halfs and being used over both screens or two PDFs getting synchronised in two different PDF viewer instances. The first option isn’t possible due to several reasons [snip rant on pdf viewers]. But xpdf provides a -remote option, being exactly what I need. Instead of using two separate xpdf instances I can use keyjnote with the following infoscript (thanks Martin Fiedler) for the main presentation on the external screen (visible for my audience):

% cat serveradministration.pdf.info
[...]
import os

def page_enter():
    os.spawnvp(os.P_NOWAIT, "xpdf", \
    ["xpdf", "-remote", "notes", "-exec", "gotoPage(%d)" % Pcurrent])

for page in xrange(1, PageCount+1):
    SetPageProp(page, 'OnEnter', page_enter)

On the internal screen I see my notes.pdf which is being synchronised with the external screen thanks to xpdf and keyjnote scripting automatically. A simple Python-Cairo script does the job for displaying the local time on the internal screen. That’s what it looks like (older screenshot with blabla notes, but you should get the idea) – on the left side the external screen and on the right side (only the bottom of it is getting used and visible) is my laptop’s screen:

Screenshot of Dual screen presentation mode

The lessig-style and automatic generation of the according slides.pdf and notes.pdf are handled through a simple and stupid framework I wrote for myself. I’m planning to improve that framework together with my colleagues from LaTeX@TUG and provide it to the public. Dig through the Keytex-page in the grml-wiki to get a first idea what I’m talking about.

The slides of my sysadmin talk (PDF, 7MB) are available now. Disclaimer: without attending to my talk the slides won’t be that useful.

Comments are closed.