Deprecated: Assigning the return value of new by reference is deprecated in /home/emperor/public_html/wiki/inc/parserutils.php on line 202

Deprecated: Assigning the return value of new by reference is deprecated in /home/emperor/public_html/wiki/inc/parserutils.php on line 205

Deprecated: Assigning the return value of new by reference is deprecated in /home/emperor/public_html/wiki/inc/parserutils.php on line 314

Deprecated: Assigning the return value of new by reference is deprecated in /home/emperor/public_html/wiki/inc/parserutils.php on line 454

Strict Standards: Declaration of cache_instructions::retrieveCache() should be compatible with cache::retrieveCache($clean = true) in /home/emperor/public_html/wiki/inc/cache.php on line 291

Deprecated: Function split() is deprecated in /home/emperor/public_html/wiki/inc/auth.php on line 146

Warning: Cannot modify header information - headers already sent by (output started at /home/emperor/public_html/wiki/inc/parserutils.php:202) in /home/emperor/public_html/wiki/inc/auth.php on line 236

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/emperor/public_html/wiki/inc/auth.php on line 390

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/emperor/public_html/wiki/inc/auth.php on line 390

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/emperor/public_html/wiki/inc/auth.php on line 387

Strict Standards: Only variables should be passed by reference in /home/emperor/public_html/wiki/doku.php on line 69

Warning: Cannot modify header information - headers already sent by (output started at /home/emperor/public_html/wiki/inc/parserutils.php:202) in /home/emperor/public_html/wiki/inc/actions.php on line 124
install:pepperpad3 [MojaveWiki]
 

PepperPad 3 Setup Notes

This page details the setup and configuration of my Pepper Pad 3.

Machine Specifications

  • Model: Pepper Pad 3
  • Processor: AMD Geode LX800 533.394 Mhz 128 KB Cache
  • RAM: 256 MB
  • Hard Drive: Toshiba 1.8" ATA hard drive 20 GB (17.7 GB reported)
  • Display: 800x480 TFT LCD (via AMD Geode)
  • WiFi Mac Address: 00:30:0D:20:EB:40

SSH Server (Remote Login)

All the necessary packages are provided out of the box, so there isn't any requirement to install additional software. Since the device is configured to use the root user, it is necessary to take extra care when setting up the remote login. I choose to disable password authentication (so as not to set a root password), and use a public key instead. I pulled down the public key from my laptop into ~/.ssh/authorized_keys2. Then I tweaked the /etc/ssh/sshd_config file to use the following settings:

PermitRootLogin no
PasswordAuthentication no
GSSAPIAuthentication no

Once that is done, it is necessary to enable the sshd service in the runlevels, and finally start the service. For that, I executed:

chkconfig sshd on
service sshd start

Improved Terminal

...or perhaps I should just say "Switch to Gnome Terminal" rather than the primitive ol' xterm. This one is extremely easy, requiring a short stop at yum and the GConf Configuration Editor. GConf is where all the Gnome-related user-level settings are stored in a Linux system. Since the Pepper Pad runs as root, the gconfig-editor command will make its updates in /root/.gconf. Below are the steps to get Gnome Terminal installed and attached to the Ctrl+Shift+1 keybinding.

  1. open a terminal window: Ctrl+Shift+1 (your last time using xterm)
  2. install gnome-terminal: (answer "y" to the dependency check)
    yum install gnome-terminal
  3. open the GConf Configuration Editor:
    gconfig-editor
  4. using the folders that appear on the left, navigate to
    /apps/metacity/keybinding_commands
  5. change the value of the key named command_10 from xterm -sb -sl 9999 to gnome-terminal (double tap to edit directly or press the blue key and tap to activate the context menu)
  6. close out of the Configuration Editor and try your new keybinding!

By moving to Gnome Terminal, you get a couple of useful keybindings that solve the lack of copy/paste functionality in the default xterm. Ctrl+Shift+v will paste from the clipboard and Ctrl+Shift+c will copy to it. You can see all the keybindings available in this terminal in the /apps/gnome-terminal/keybindings folder of the GConf Editor.

Improved PDF Reader

At this point, the situation with PDFs on the Pepper Pad is somewhat unresolved (or at the very least suboptimal). While the Pepper does ship with Adobe's Acrobat Reader, the application is far too heavy weight for the muscle in the device. A much better choice is xpdf. While this application isn't going to win any style points for its interface, it does one thing amazingly well. It renders PDFs, and with stellar performance. Besides, that's all we care about anyway.

On to the install! Thanks to yum, there isn't much work to do. However, there is one post-installation step required to fix a bug in the package, so stay alert.

  1. open a terminal window: Ctrl+Shift+1
  2. install the xpdf package:
    yum install xpdf
  3. fix the missing symlink:
    ln -s /usr/X11R6/lib/libXm.so.3 /usr/lib/libXm.so.3

Now that it is installed, it is time to use it. This is the fun part. xpdf can be called just like any third party program (by using the terminal). But to really see it shine, we will run it in fullscreen with a black background.

xpf -fullscreen -mattecolor black file.pdf

Once the document is displayed, press the blue key and tap to bring up the context menu. From there you can rotate the document clockwise or counter-clockwise to achieve better real estate.

Now that xpdf is usable, the real value is gained by attaching it to the browser as a plugin. For that purpose, we look to mozplugger. Before there was the mplayer plugin, mozplugger was used for the purpose of embedding a media player into mozilla. However, this capability is still useful for other applications, such as pdf rendering with xpdf. Again, yum will fetch and install the application, but there is still some extra work to be done to allow it to play nicely in the sandbox.

  1. open a terminal window: Ctrl+Shift+1
  2. install the mozplugger package:
    yum install mozplugger
  3. replace the contents of the mozplugger configuration file so that it is only activated for pdf documents
    { cat<<HEREDOC
    application/pdf: pdf: PDF file
    application/x-pdf: pdf: PDF file
    text/pdf: pdf: PDF file
    text/x-pdf: pdf: PDF file
            repeat noisy swallow(Xpdf) fill: xpdf -q -z width -mattecolor black -g 800+480 "$file"
    HEREDOC
    } > /etc/mozpluggerrc
  4. remove the Adobe Acrobat Reader plugin:
    rm /opt/pepper/jrex_gre/plugins/nppdf.so
  5. restart the Keeper: Ctrl+Shift+k

Now, whenever you hit a pdf document on the web, xpdf will be used to open it in an embedded window rather than acroread.

Enhanced VIM

If you stumbled while attempting to open a file with vim, you likely discovered that isn't installed by default. However, the Pepper does ship with its counterpart, vi. Actually, that is Vim emulating the ol' Vi editor. If you are like me, I want my Vim, complete with syntax highlighting and split windows. Fortunately, yum is once again to our rescue. Installing Vim won't disable the Vi emulation, which is a good thing since the performance of vi is still very useful. The two are distinguished by command name.

  1. open a terminal window: Ctrl+Shift+1
  2. install vim-enhanced: (answer "y" to the dependency check)
    yum install vim-enhanced
  3. open files with Vim using vim and Vi using vi

Flash Player 9

While the version for Linux–and thus the Pepper Pad–is still in beta (as of Jan 01, 2007) as of Jan 20, 2007 it is an official release, many sites are starting to require Flash 9. Since the Pepper Pad is all about the web, this is a worthwhile upgrade.

On the Pepper Pad, the mozilla engine is not located in its usual place in /usr/lib. Instead, it resides in the folder /opt/pepper/jrex_gre as it is being embedded into the Java application that Pepper uses for its web browser shell (known as JRex). Below are the instructions for upgrading the flash plugin into this location.

  1. download the .tar.gz (Option 1) Flash 9 from the Adobe Download Center
  2. ignore the "Problem Installing Download" dialog
  3. open a terminal window: Ctrl+Shift+1
  4. change to the download directory:
    cd /opt/Downloads
  5. untar the archive:
    tar -zxf install_flash_player*.tar.gz
  6. backup (or remove) the previous version of the plugin:
    mv /opt/pepper/jrex_gre/plugins/*flash* /tmp/

    or

    rpm -e --nodeps flashplayer
  7. move the new plugin into place:
    cp install_flash_player*/*.{xpt,so} /opt/pepper/jrex_gre/plugins/
  8. close any running web browsers (all applications is best)
  9. remove the plugin registry cache:
    rm /opt/pepper/jrex_gre/pluginreg.dat
  10. restart the Pepper software: Ctrl+Shift+k
  11. start a web browser (click on "Web" from the desktop)
  12. consult the location about:plugins in a browser tab to verify the latest version is being used
  13. try out the player at the Adobe Flash Player site (it will tell you which version you have installed)

Manipulating Windows (Resize/Move)

If you run any third-party software–including the terminal and Adobe Acrobat Reader–you will soon discover that it is not possible to manipulate windows that are too large for the screen. In a typical Linux environment, you could use either Alt + mouse or Alt + Fn keys to resize and move the window, but neither of those inputs are available in the Pepper environment.

Despite this shortcoming, working around it merely requires a trip to the GConf Configuration Editor. GConf is where all the Gnome-related user-level settings are stored in a Linux system. Below are the instructions for remapping the window keybindings in gconf to allow for manipulations of the windows.

  1. open a terminal: Ctrl+Shift+1
  2. run the GConf Configuration Editor:
    gconf-editor
  3. using the folders that appear on the left, navigate to the following path:
    /apps/metacity/window_keybindings
  4. change the setting begin_move to <Ctrl>7 (double click the value field and use the keyboard to edit the entry)
  5. change the setting begin_resize to <Ctrl>8
  6. try out the new keybindings on the current window (use the keypad to move and resize once activating the control)

In the same gconf location, I also mapped Ctrl+Shift+f to the key toggle_fullscreen so that, like in the Keeper apps, I can make native Gnome apps go into fullscreen mode.

Switching Between Windows

Of course, I am not talking about native windows that are managed by the Pepper desktop. Switching between those windows is already quite intuitive. Once you start running non-managed applications, such as the terminal, you will quickly discover that they become "lost" when they surrender focus. Alas, the are not lost. They are simply not accessible via a pen tap. Since the Pepper desktop is built over top of Gnome, it is possible to use the key combination Ctrl+Tab to toggle between open windows (you should notice the on-screen display widget that iconifies the open windows). There is a problem, however, when juggling three or more windows. The use of Ctrl+Tab toggles directions each time it is activated, limiting you to switching between the two most recently focused windows. Luckily, the alternate key combination Ctrl+Shift+Tab cycles through each open window, the difference being that it works in reverse order. The details of why this key combination is able to touch every open window has to do with the implementation of the sticky key behavior of the Pepper keyboard.

Add Keybindings to Browser

If you aren't already aware of it, the browser on the Pepper Pad 3 is a java wrapper around the mozilla engine. Therefore, hacking it is just a matter of hacking mozilla. The problem with the existing keybindings in mozilla is that they rely on keys that don't exist on the Pepper Pad 3 keyboard, such as Home and End. Below are instructions for adding these two functions using alternate keybindings.

  1. open a terminal: Ctrl+Shift+1
  2. navigate to the mozilla chrome directory:
    cd /opt/pepper/jrex_gre/chrome
  3. extract the toolkit.jar file:
    unzip -d toolkit toolkit.jar
  4. open the platform key binding file in vi:
    vi toolkit/content/global/platformHTMLBindings.xml
  5. edit the bindings to your liking; the links below should help:
  6. I choose to bind g to Home and Shift+g to End.
    <handler event="keypress" keycode="g" command="cmd_scrollTop"/>
    <handler event="keypress" keycode="g" modifiers="shift" command="cmd_scrollBottom"/>

    Note: It turns out that by default Shift+/ is mapped to Home and \ is mapped to End, so this configuration isn't totally necessary.

  7. repackage the toolkit.jar file and move it into place:
    cd toolkit
    zip -r toolkit.jar .
    cd ..
    mv toolkit.jar toolkit.jar~
    mv toolkit/toolkit.jar .
  8. close all applications and restart the Keeper Desktop: Ctrl+Shift+k
  9. open the web browser, visit a page, and test out your new keybindings!

Browser Tweaks

Of course no browser severs our needs perfectly without a little tweaking. Personally, I like the smooth scrolling feature. Open up the URL about:config to set the keys in the list below.

general.smoothScroll true

In order to bring up the javascript console, insert the magic javascript protocol in the location bar and hit enter.

javascript:

VPN Client

The Pepper Pad does not come pre-installed with VPN client software. Fortunately, since the Pepper disto is built on Fedora Core 4, packages prepared dor this distro will fit the bill. The most common client these days is the Cisco client, vpnc. This client is the one I use to connect to my own office.

Grab the Fedora Core 4 RPMS for i386 from Dries repository.

http://dries.ulyssis.org/rpm/packages/vpnc/info.html vpnc RPMS

The file will be saved in '/opt/Downloads'

Install the package using:

rpm -Uvh /opt/Downloads/vpnc*.rpm

Configuration is done in the normal way and is excluded from this documentation.

E-mail Client

The built in e-mail client is about as basic as they come. While webmail is always an option, sometimes you just need a good desktop (or terminal client).

Since it isn't possible to live without a hacker's best friend...

yum install mutt

FBReader

The Pepper Pad 3 comes installed with Amazon.com's MobiPocket application, which can only read eBooks using the proprietary MobiPocket format. To broaded the scope of available applications, I decided to install this all-in-one eBook reader named FBReader. To do so, I followed a thread on the FBReader mailinglist that lead me to these two RPMs:

I installed them in the normal fashion, using rpm -Uvh.

Import Files (Harddrive)

In several of the Pepper applications (music, video, photo, etc) there is an option to import files. Unfortunately, the only device option is a USB device (such as a flash drive). There appears to be no way to import files from the local filesystem. In fact, since Linux can mount network shares using several different protocols, this option would open the door to many other sources. Fortunately, the feature does exist, it is just hidden.

Here is how to enable it.

  1. open one of the applications that offers the import feature (music, video, photo, etc)
  2. enter debug mode: Ctrl+Shift+0
  3. click on Import
  4. choose the harddrive icon and select a local filesystem folder
  5. do the import
  6. exit debug mode: Ctrl+Shift+0

Future Goals

  • Setup Dvorak Keyboard Layout
  • Get FBReader working to support more eBook formats
  • Order screen protector
  • Get vpnc setup
  • Get a better PDF reader (perhaps xpdf)
  • Upgrade to flash 9 - /opt/pepper/jrex_gre/plugins
  • Additional codecs - /usr/lib/codecs
  • Get Home and End replacement keybindings for browser
  • Install more search plugins (other than Google, Amazon and Ebay)
  • Activate the Greasemonkey extension for Firefox (Pepperfox)

Resources

 
install/pepperpad3.txt · Last modified: 2007/01/27 05:36 by dallen
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki

Strict Standards: Only variables should be passed by reference in /home/emperor/public_html/wiki/doku.php on line 77