Sunday, July 27, 2008

Howto: Get the touchscreen working in Ubuntu on a Fujitsu Lifebook P1510D Tablet including rotation and hotkeys

2 comments

I've been on a new quest-- I've been acquiring tablet laptops and working diligently to find the best, easiest, and most productive methods of getting touchscreens working on them in Ubuntu. As anyone who has owned a tablet knows, linux is *not quite* ready for them yet, but with enough tweaks and knowledge of the system, a touchscreen tablet can be quite enjoyable even without an MS operating system.

My first target: The Fujitsu Lifebook P1510D



This is an ultraportable laptop, with a screen measuring 8.9" diagonal, and a maximum resolution of 1024x600. It only weighs 2.2lbs with the extended battery, so it was really enjoyable to tote this laptop around during my quest to learn how to best get the touchscreen working.

I started with a freshly installed version of Ubuntu 8.04.1.

I wanted to use the touchscreen method developed by Sam Engstrom, so first I had to install CPAN. Here's my install and configuration:

sudo perl -e shell -MCPAN

Answer all the prompts, if you get confused just hit for the default setting. At the end of the setup, you should be sitting at a CPAN prompt. Now we need to install a perl app called "X11::GUITest":
cpan> install X11::GUITest
This shouldn't take long. After it is
done, we need to install some drivers:
sudo apt-get install setserial xorg-dev xserver-xorg-input-wacom wacom-tools xbindkeys xbindkeys-config
Now let's set up the serial port:
sudo setserial /dev/ttyS0 port 0x0220 irq 4 autoconfig
chmod a+rwx /dev/ttyS0
We need a place to put our files, and although the
"home" folder works decently, for the sake of this guide I've placed them at a more 'static' location: /opt/touchscreen. To set that up, type:
sudo mkdir /opt/touchscreen
sudo chmod o+wx /opt/touchscreen
I've placed a file made by Miquel van Smoorenburg here. This script will perform the setserial command during every
startup. Place it at /opt/touchscreen/, then perform the following command to place it in your init folders:
sudo update-rc.d /opt/touchscreen/stylus defaults 90
Now let's download Sam Engstrom's
perl script for the stylus management:
wget http://samengstrom.com/nxl/7977/tablet6.en.pl -P /opt/touchscreen/
To start using your touchscreen now, simply type:
perl /opt/touchscreen/tablet6.en.pl
Test it out. Your touchscreen should
be fully responsive to the tablet now!!!

Now that we have the touchscreen working, we need to set up a 'session' to start it every time we boot up. Easy enough, click System > Preferences > Sessions > Add, and add a session:


Click OK and reboot to give it a test.

To get rotation to work, I modified a script created by Brad Midgley. In my tests, the only three rotations that are supported by the tablet6 driver are normal, left, and right. I've yet to figure out how to get the inverted rotation to work, but if anyone figures it out please let me know.

Grab this script
and place it at /opt/touchscreen.

Give it execute permissions and test it out by typing
chmod u+x /opt/touchscreen
sh /opt/touchscreen
Now we'll use xbindkeys to configure the hotkey on the LCD panel to work with the rotate script:
xbindkeys --defaults > $HOME/.xbindkeysrc
xbindkeys-config

Click New and then create the following keybinding:

Name= Rotate
Key= m:0x0 + c:203
Action= sh /home/eyes/download/rotate.sh

Once you're done with that, click Save & Apply & Exit.

To restart xbindkeys and use your new entry type:
kill -HUP xbindkeys
And there you have it. You should now have a fully working tablet touchscreen, complete with rotation function bound to the correct hotkey!

Like this post? Have a suggestion or correction? Please comment and subscribe!


DiggIt!Add to del.icio.usAdd to Technorati Faves
Wednesday, July 9, 2008

Firefox 3 - Syncronize your bookmarks, history, password, form data

0 comments

A couple weeks ago, Mozilla released their latest version of Weave 0.2.

In the release notes, it states that there a few known issues when used on Linux.

Well, it turns out those issues make it unable to be used unless you can figure out how to work around them.

With a bit of effort, I figured out an easy way to make Weave 0.2 work with Firefox 3:

1. Uninstall Weave from Firefox. Close Firefox.

2. Install working builds of libnss3 and libnspr:

NSPR:
http://launchpadlibrarian.net/15727099/libnspr4-0d_4.7.1%2B1.9-0ubuntu0.8.04.2%7Emt1_i386.deb

NSS:
http://launchpadlibrarian.net/15726878/libnss3-1d_3.12.0.3-0ubuntu0.8.04.1%7Emt1_i386.deb

The best way I've found to do this is not to install them using the debi installer, which fails because of other installed versions. Instead, download them into a folder, open a terminal and 'cd' to that folder. Run dpkg -i libn* and it should install the new versions while removing the old.

3. Open Firefox, and install Weave 0.2. Restart Firefox.

Follow the wizard and create a new account. You should be able to login now.

Note: You may see in your updates that there are 'newer' versions of nss3 and nspr4. Do NOT install them, or Weave will stop being able to authenticate.

DiggIt!Add to del.icio.usAdd to Technorati Faves
Monday, July 7, 2008

Fixed: Missing buttons on Gnome's "Edit Menus" menu.

0 comments

Today I was messing around on my laptop and I needed to edit a menu item. Like usual, I right clicked on the menu bar and selected "Edit Menus". But unlike usual, I was presented with a dialog box that didn't have any buttons to allow me to make changes! Also, I couldn't even right click existing items to edit them. Right clicking was ignored, and no context menu appeared. Basically, what I saw was this:


If you happen to be seeing the same thing, there's a simple fix for it. At a terminal type:

sudo aptitude install alacarte

That's all it takes to fix it!

After installing alacarte, 'Edit Menus' will present you with the correct dialog window:


Now you can edit your menu again.

DiggIt!Add to del.icio.usAdd to Technorati Faves

HowTo: Install WMV and DVD playback support in Hardy Heron

0 comments

Trouble playing some video files? Many formats give linux a run for their money when it comes to playing them as well as they do in Windows.

To fix this, Medibuntu supplies a package called non-free-codecs which is basically "w32codecs", a collection of binary windows codecs. By installing non-free-codecs instead of w32codecs, you'll get the codecs that are optimized for your kernel, whether i386, AMD, or 64-bit.

Some of the major codecs supplied by w32codecs support the following formats:

  • MPEG 1/2/4
  • DivX 3/4/5 (AVI)
  • Windows Media 7/8/9 (WMV)
  • RealAudio/Video up to 9
  • Quicktime 5/6
  • Vivo 1/2
Unfortunately, as many have noticed, the w32codecs and non-free-codecs packages are missing from the Ubuntu sources.

Note: US law permits installing libdvdcss2 and w32codecs to enable playing your legally-obtained DVDs and other multimedia on your computer under 17 U.S.C. Sec. 1201(f).

In order to install these, you need to add a line to your sources file manually, add public key, then update your package lists and install:

gksu gedit /etc/apt/sources.list

add the following line:

deb http://packages.medibuntu.org/ hardy free non-free

save and close gedit.

wget http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add -
sudo aptitude update
sudo aptitude install non-free-codecs libdvdcss2


You should now be able to view videos and DVDs in your favorite video player.

Installing non-free-codecs gives you these files. You'll have to use your intuition to figure out what file corresponds to what codec... but as you can see it's quite a substantial list!

  • AvidQTAVUICodec.qtx
  • BeHereiVideo.qtx
  • CLRVIDDC.DLL
  • CtWbJpg.DLL
  • DECVW_32.DLL
  • LCMW2.dll
  • LCODCCMW2E.dll
  • LCodcCMP.dll
  • QuickTime.qts
  • QuickTimeEssentials.qtx
  • QuickTimeInternetExtras.qtx
  • VDODEC32.dll
  • ViVD2.dll
  • acelpdec.ax
  • alf2cd.acm
  • aslcodec_dshow.dll
  • aslcodec_vfw.dll
  • asusasv2.dll
  • asusasvd.dll
  • ativcr2.dll
  • atrac3.acm
  • atrc.so.6.0
  • avimszh.dll
  • avizlib.dll
  • clrviddd.dll
  • cook.so
  • cook.so.6.0
  • ctadp32.acm
  • ddnt.so.6.0
  • divx.dll
  • divx_c32.ax
  • divxa32.acm
  • divxc32.dll
  • divxdec.ax
  • dnet.so.6.0
  • drv2.so.6.0
  • drv3.so.6.0
  • drv4.so.6.0
  • drvc.so
  • dspr.so.6.0
  • frapsvid.dll
  • huffyuv.dll
  • i263_32.drv
  • iac25_32.ax
  • iccvid.dll
  • icmw_32.dll
  • imaadp32.acm
  • imc32.acm
  • ir32_32.dll
  • ir41_32.dll
  • ir50_32.dll
  • ivvideo.dll
  • jp2avi.dll
  • l3codeca.acm
  • l3codecx.ax
  • lhacm.acm
  • lsvxdec.dll
  • m3jp2k32.dll
  • m3jpeg32.dll
  • m3jpegdec.ax
  • mcdvd_32.dll
  • mcmjpg32.dll
  • mi-sc4.acm
  • mpg4c32.dll
  • mpg4ds32.ax
  • msadp32.acm
  • msg711.acm
  • msgsm32.acm
  • msh261.drv
  • msms001.vwp
  • msnaudio.acm
  • msrle32.dll
  • msscds32.ax
  • msvidc32.dll
  • mvoiced.vwp
  • nsrt2432.acm
  • pclepim1.dll
  • qdv.dll
  • qpeg32.dll
  • qtmlClient.dll
  • rt32dcmp.dll
  • scg726.acm
  • sipr.so.6.0
  • sp5x_32.dll
  • tm20dec.ax
  • tokf.so.6.0
  • tokr.so.6.0
  • tsccvid.dll
  • tsd32.dll
  • tssoft32.acm
  • tvqdec.dll
  • ubv263d+.ax
  • ubvmp4d.dll
  • ultimo.dll
  • vdowave.drv
  • vgpix32d.dll
  • vid_3ivX.xa
  • vid_cvid.xa
  • vid_cyuv.xa
  • vid_h261.xa
  • vid_h263.xa
  • vid_iv32.xa
  • vid_iv41.xa
  • vid_iv50.xa
  • vivog723.acm
  • vmnc.dll
  • voxmsdec.ax
  • vp31vfw.dll
  • vp4vfw.dll
  • vp5vfw.dll
  • vp6vfw.dll
  • vp7vfw.dll
  • vssh264.dll
  • vssh264core.dll
  • vssh264dec.dll
  • vsshdsd.dll
  • vsslight.dll
  • vsswlt.dll
  • wma9dmod.dll
  • wmadmod.dll
  • wmsdmod.dll
  • wmspdmod.dll
  • wmv8ds32.ax
  • wmv9dmod.dll
  • wmvadvd.dll
  • wmvdmod.dll
  • wmvds32.ax
  • wnvplay1.dll
  • wnvwinx.dll
  • wvc1dmod.dll
  • xanlib.dll
  • zmbv.dll

DiggIt!Add to del.icio.usAdd to Technorati Faves

HowTo: Install Citrix ICA client in Ubuntu Hardy Heron and get Program Neighborhood working with encryption

2 comments



This post is based off of several articles on the web along with personal experience. Citrix has always been 'touchy' for linux, but it has gotten much better in the past two years.

My work uses Citrix Presentation Server with 128-bit encryption, so I'll be installing and configuring my client to work with that.

Also note: Citrix has decided to change the Presentation Server name to XenApp. While I think the name change is a good one (Presentation Server sounds like a licensing server for Powerpoint, doesn't it?), I really wish they'd pick a name and stick to it!

Install the libmotif dependency:

sudo aptitude install libmotif3


Download the latest Citrix client from citrix.com. Since their website is a bit confusing, here's how to get to it if it disappears off of 'featured downloads':

Downloads > Citrix XenApp > Select your version. I chose this:

Alternately, if the path doesn't change, you can grab the file here. (Getting that URL took a bit of html source parsing, so enjoy!)

Download the tar.gz file, then unpack it and run setup:

tar xvzf en.linuxx86.tar.gz
cd en.linuxx86
sudo ./setupwfc

Answer the following to the prompts:

1. Install Citrix Presentation Server Client 10.6
2. Remove Citrix Presentation Server Client 10.6
3. Quit Citrix Presentation Server Client 10.6 setup

Enter option number 1-3 [1]: 1

Please enter the directory in which Citrix Presentation Server Client is to be installed.
[default /home//ICAClient/linuxx86]
or type "quit" to abandon the installation:

The parent directory /home//ICAClient does not exist.
Do you want it to be created? [default y]: y

You have chosen to install Citrix Presentation Server Client 10.6 in /home//ICAClient/linuxx86.

Proceed with installation? [default n]:y

CITRIX(R) LICENSE AGREEMENT

Use of this component is subject to the Citrix license covering the
Citrix product(s) with which you will be using this component. This
component is only licensed for use with such Citrix product(s).

CTX_code EP_T_A34320

Select an option:

1. I accept
2. I do not accept

Enter option number 1-2 [2]: 1
Installation proceeding...

Checking available disk space ...

Disk space available 101266708 K (this will be different, of course)
Disk space required 4961 K


Continuing ...
Creating directory /home//ICAClient/linuxx86
Core package...
Setting file permissions...
Integrating with browsers...

Integration complete.
Do you want to integrate the Citrix client with KDE and GNOME? [default y]: y

Select a setup option:

1. Install Citrix Presentation Server Client 10.6
2. Remove Citrix Presentation Server Client 10.6
3. Quit Citrix Presentation Server Client 10.6 setup

Enter option number 1-3 [1]: 3
Quitting Citrix Presentation Server Client 10.6 setup.


You should now have a working Citrix client.

For some reason, the setup doesn't seem to think I need a menu item for Citrix. The developers seem to think we want to run it from a terminal using

~/ICAClient/linuxx86/wfcmgr

but alas... that just isn't so, so I created a menu shortcut for it:

Right click on Applications > Edit Menus
Click on Internet (on the left side) > New Item

Type: Application
Name: Citrix ICA Client (or whatever you want)
Command: /ICAClient/linuxx86/wfcmgr (note: ~ will not work here)
[example: /home/eyeslocal/ICAClient/linuxx86/wfcmgr]
Comment:

Click OK. You should now have a new menu item in your Internet menu.

If you run a secure server you'll also need to get PNAgent to work with encryption. Unfortunately, there is nowhere in the Citrix GUI to set encryption level for PNAgent. What to do?

It can be done! Simply go into ~/.ICAClient and edit the wfclient.ini and the appsrv.ini file, changing any "Encryption" lines to RC5 (128 bit).

Once this is done, you should be able to authenticate into Citrix PN without a problem.

Oh and one last thing. If you get this weird looking thing when you try to open Program Neighborhood:


You're simply having a problem with Compiz. Disable compiz temporarily, and then try it. You'll see the correct prompts. Once you've authenticated you can restart Compiz and all will be working.

DiggIt!Add to del.icio.usAdd to Technorati Faves
Sunday, July 6, 2008

Intro

0 comments

Well, all my old articles are now gone but I'm not discouraged. I've got much more where those came from and I'm going to keep on doing what I do best-- Providing information to those that need it.

So for those that are just finding my blog, a little information about me:

To start with, I'm most known for developing a DVD-backup tool called "DoItFast4U!". It was done during an exciting time-- A time when DVD was just becoming mainstream and yet there wasn't a single tool out there that could create a backup of an entire DVD without noticeable loss of quality. Notice I said entire DVD. I have always been faithful to the artist's vision, and that goes far enough to include DVD menus and special feature tracks. I developed my project with that goal in mind, and stuck with it until the end.

For those who need a bit of nostalgia, here's a screenshot from the main dialog window:



So the legacy of Eyes`Only's DoItFast4U! began. There were a lot of other people who contributed years of their life to the support of my program, some of which can be found today in EFNet IRC on the channel #doom9. If you're a video enthusiast, I definitely recommend you check it out, as well as Doom9's website at http://www.doom9.org. There are many people in that chat channel that are passionate about video and audio reproduction, and the days I spent in there will always remain as positive memories in my mind.

So what happened to the project, you ask? Well, others got involved creating 'helper apps' to work with DoItFast4U and it soon was part of 'The Big 3', a name known for the four applications it took to get the highest quality DVD backup possible. The notoriety caused it to get picked up by 'the scene' as one of the best ways to copy a DVD. Unfortunately, people in 'the scene' are not of the same mindset as me-- They care about little more than credits and releasing movies before another does. They used my app to butcher the hell out of DVDs... ripping out all extras, subtitles (sometimes), and even the director commentary. Competitor products came out which also focused on methods to butcher DVDs, and love for the DVD artist seemed to be dying. As a result, I lost interest in continuing development and went in search of employment. I landed a job as an IT manager, and tried to work as well as develop but it wasn't really possible. So, I gave the source code to a friend (D3st, the developer of ScenAid) and hoped for the best. As it turns out, D3st was also turning a chapter in his life, and so new releases never saw the light of day.

So now to modern day-- I'm now a regional IT manager for one of the largest accounting firms in the USA. In my spare time, I do everything from play Rock Band on the PS3 to experiment with different linux OSes, and I remain passionate about sharing my knowledge and experiences with others.

This blog is my tool to share information with others that will help improve their computing experience. Right now I'm focused on linux (mainly Ubuntu) but you can expect tips and guides covering Linux as well as Windows. Since I work in a corporate atmosphere, I can share techniques we use in our firm, as well as whether or not they were successful or complete failures.

So if you like what you read, subscribe and stay tuned, there's more history, guides, commentary, and entertainment to come!

DiggIt!Add to del.icio.usAdd to Technorati Faves