Thursday, December 17, 2009

Remote Connection: Free NX vs. VNC

Apparently, there's some debate in the Linux world about remote connections. I've been using VNC for 8 years or so now. It's reliable, but definitely slow.

I've found that NoMachine's NX Server (free edition) suits my needs best. It works even better than Windows' Remote Desktop, and of course much better than VNC (which really stinks).

In my case, it opens a new session, when I connect to the server, but I think it can be configured to connect to an existing session as well.

You might want to give it a try: http://www.nomachine.com/products.php
I'll give it a try and get back to you all...

UPDATE: I've installed the server on both my laptop and my desktop Ubuntu machines following the instructions found at https://help.ubuntu.com/community/FreeNX. The results are astounding! While not identical in terms of functionality to VNC, I personally prefer the results. It's actually closer to an RDP session. I haven't tested the client to the fullest extent, but my initial impressions were that it's a WHOLE lot faster (near real-time on a LAN setup), and it doesn't interrupt any work being done on the machine by someone else (BIG bonus over VNC). That said, it wouldn't work as a training utility because if someone else were watching they wouldn't notice that someone else had connected.

All in all, I love it. Will use it going forward. The ubuntu.com post above has all the right install info needed to get going and I recommend the nomachine client over the open source ones (for now). The QTNX client in particular was pretty buggy for me...

Thursday, December 10, 2009

Top Things to Do After Installing Ubuntu 9.10

I've been using Ubuntu for about 9 months now (wow, hard to believe - the time has flown by) and people often ask me what my favorite apps are or what I changed once I install it. Aside from some custom scripts I install for my own organizational sanity, there are a few recommendations I always give. However, I just stumbled upon what may be the most complete list I've ever seen. When I say "stumbled", I mean that. I just used StumbleUpon and this came up. Really great list for anyone looking to add or customize their Ubuntu 9.10 desktop.

Happy customizing!

UPDATE:
I've also found a few additional add-ons that might be worth investigating. Here's a few:
Guvnr's Picks

Tuesday, December 1, 2009

Useful Compiz Configs

Some of my favorite Compiz settings aren't enabled by default. They actually help me be more productive (rather than just making my computer act like a cracked-out Mac). In no particular order, here are my favorites:

Desktop Cube (with or without the rotating cube)

I set my desktop to have four columns and one row because I use the rotating cube. To be honest though, the standard 2x2 configuration would work just fine as well. Don't forget to configure your hotkeys for moving between desktops and moving windows across desktops. Adding 3 more areas to organize your windows is a good thing. You might forget where one or two apps were so I recommend thinking of them in terms of general categories (entertainment, programming, etc.).

Shift Switcher

I like being able to preview windows I'm tabbing between. This option is helpful when there are a lot of windows open in the current desktop. Similar to Apple's flipping in Finder.

Grid

Lets me use hotkeys to resize windows and toss them to designated areas of the screen. I missed MaxTo after I switched to Ubuntu. This is actually a slightly more useful window manager. Especially when combined with Shelf.

Shelf

Visually scales a window down rather than requiring the user to resize the dialog/window. It also doesn't force to you lose any dialog information when resizing your window. In fact, I'm using to write this blog post in a really tiny version of Firefox.

Others

There are probably a bunch of other configurations I'm using that I haven't mentioned here. These are just a few of my favorite productivity features I've found. What are your favorites?

Getting Help Working in Qt Designer

After install Qt Designer, if you want to use the help system, you're stuck unless you install one more package through Synaptic: Qt Assistant. However, there is no stand-alone for this program. It is bundled in the dev tools. Making it stand-alone is a valid request to the dev team for the Qt suite of packages.

At the very least, if Qt Assistant is not made standalone then it should be a dependent of Qt Designer. Otherwise, if Qt Assistant isn't pulled from the qt4-dev-tools package, then Qt Designer should *REQUIRE* qt4-dev-tools as a dependant. Otherwise, users will install Qt Designer and not have any way of figuring out why they don't have help menu options available once installed.

As a workaround, users who have installed Qt Designer must then install (through Synaptic Package Manager) "qt4-dev-tools". That also adds a bunch of stuff they don't need, but at least they can then use the help system for Qt Designer.

Here's a link to this bug.

Friday, November 20, 2009

Poor Man's Ubuntu Lojack

So, I got to thinking, "What if my laptop were stolen? I don't keep anything 'private' on it, but it would be nice to get it back, if possible..." So, how do you track down a laptop that has been stolen? Lojack provides an option that works even if the system has been reformatted, but it only works with Windows and costs $$$. So, what are the OSS alternatives? There is one called Adeona, but they're having issues getting a service up and running to store your computer's location and other info when stolen. I also doubt that it works if the systems has been reformatted.

So then I got to thinking, "What about DDNS?" Dynamic DNS (or DynDNS, or DDNS) tracks your computer's current IP address and updates a service (such as DynDNS.org) every time your IP changes. This is useful if you know your computer has been stolen and you're wondering where it is.

It turns out I'm not the first person who's asked this question and configuring the service is unbelievably easy!

Here's the secure way to do it (grabbed from this website):

Step 1

First, you need to create an account with DynDNS to do so follow this howto: https://www.dyndns.com/services/dns/dyndns/howto.html.

Step 2

First we’ll install ssh and ssh-socket so we can send our DynDNS user and password encrypted instead clear text:

$ sudo apt-get install ssh libio-socket-ssl-perl

Step 3

Install ddclient:

$ sudo apt-get install ddclient

Step 4

The installation will prompt you some questions. For the first one it ask for your dynamic DNS provider, select www.dyndns.com:

ddclient01.png

Then, put your fully qualified domain name(s):

ddclient02.png

Now, your DynDNS requistered username and password:

dcclient03.png

ddclient04.png

And finally, type “web” as the DynDNS interface to use:

ddclient05.png

Ok, so long we’ve finished installing ddclient but there’s still more work to do in order to get it working properly.

Step 5

We, need to change the ddclient configuration file (/etc/ddclient.conf) in order to use ssh to send the username and password, and to properly check the IP adrress. From the command line open ddclient configuration:

$ sudo vim /etc/ddclient.conf

In the generated configuration file you’ll probably see something like the following (The parts in italics will be different, the bold parts are going to change so special attention on this):

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
pid=/var/run/ddclient.pid
protocol=dyndns2
use=if, if=web
server=members.dyndns.org
login=your-dyndns-username
password='your-dyndns-password'
your-host-name.homelinux.net

Step 6
We need to change the configuration so ddclient get our public IP address properly, and to send our username and password over ssh.

DynDNS has a web interface to get your public IP address, this is equivalent to manually invoking http://checkip.dyndns.com/. But we need to properly configure this interface, so change the line use=if, if=web for the following:

use=web, web=checkip.dyndns.com/, web-skip='IP Address'

Second, add to your configuration file just below the initial comments the following:

ssl=yes
daemon=300

The above two lines tells ddclient to use ssl for its connection and to update your public IP address every 5 minutes (specified in secconds).

Step 7

Now, we must make sure that ddclient is set to run as a deamon. Edit /etc/default/ddclient:

$ sudo vim /etc/default/ddclient

And make sure that:

# Configuration for ddclient scripts
# generated from debconf on Tue Jan 29 20:23:32 CST 2008
#
# /etc/default/ddclient
# Set to "true" if ddclient should be run every time a
# new ppp connection is established. This might be useful,
# if you are using dial-on-demand
run_ipup="false"
# Set to "true" if ddclient should run in daemon mode
run_daemon="true"
# Set the time interval between the updates of the dynamic DNS name in seconds.
# This option only takes effect if the ddclient runs in daemon mode.
daemon_interval="300"

Step 8

Finally, restart your ddclient and if no error is printed you’re good to go:

sudo /etc/init.d/ddclient restart
 
Note that even though the password is stored in plain text on your system, you HAVE to be root or have root privs to access it. Also, this service should start running when the computer boots. I'll have to test this, but I'm pretty sure that is the case.

In addition to this, I recommend setting up a "Guest" account on your system that automatically logs in after 30 seconds at the login window. Give it Internet access but NO other access (restricted user account). This will give a thief a sense of being able to do something with the computer, even if they cannot.

If your laptop gets stolen, just jump into DynDNS.org and wait for the IP to change. When it does, run a traceroute and notify the police of any information you've collected.

Encrypting Files in 9.04 and 9.10

Directory and file-level encryption is a beautiful thing in Ubuntu. No additional applications to install. Or, at least on 9.04 (Jaunty). On 9.10 (Karmic), they removed this useful feature as a default option in the install for some reason. But, not to worry, it can be readded:

In Jaunty, just right-click a file or folder in Nautilus and select encrypt. Assuming you've created a GPG encryption key for files and e-mail, it'll allow you to apply that encryption to it.

In Karmic, this feature is removed. To re-add it, the open Synaptic Package Manager, find, then install the seahorse-plugin.

Reboot. "encrypt" and "sign" will then be options in Nautilus.

Launchpad is tracking this as the following bugs:
#390744 #393645

Friday, November 13, 2009

Adding Second VMDK to Ubuntu Server VM

If you've added an additional virtual hard drive to an Ubuntu VM, you'll need to do the following to be able to use it effectively for a web server:

  1. Partition the drive (MBR)
  2. Create a sub-partition (EXT3 or EXT4, depending on need)
  3. Modify fstab to be able to mount the drive on boot
On the other hand, if you're mounting a network storage location, it's better to use Autofs (or AutoMount, as it's called) because it'll be less drain on your network and improve access times when shared.

Adding LAMP Server Setup to Desktop (Ubuntu 9.10)

Here's instructions on adding LAMP (Linux, Apache, MySQL, PHP) + Python + virtual web hosting to an Ubuntu 9.10 Desktop.

Just thought I'd post this in case anyone is interested in doing this. Normally, I recommend just installing the Ubuntu Server distro which has the option of configuring most of this for you through the install process. But hey, what fun would that be? :)

Uncomplicated Firewall

For information on setting up a nice, easy to configure firewall in Ubuntu, see this help page. I'm using this for my Ubuntu servers, but I think it would be just as useful for a desktop system.

Thursday, November 12, 2009

Linux Desktop: Gaining Market Share

Cool blog post on ComputerWorld about the advancing of Ubuntu Desktop. Go Tux!

Favorite quote from the article:

This will put Windows in an interesting spot. Mac already owns the high end, and Linux will end up with the low end. At the same time, more and more of our work will be done with online services, with Google Docs and the like, almost all of which are based on Linux.

Historically, being in the middle of a market isn't a comfortable place to be. People who want the best will turn to Macs; people who want a bargain will go to Linux. The usual argument is that everyone already uses Windows and they need their applications. Fair enough. But what happens when you don't need Windows for the programs you use every day?

Ubuntu 9.10: First Impressions

Ok, I've been using 9.10 for all of 12 hours now. I must say, overall, the experience is improved, which was one of the main goals. Most of my papercuts are gone (yay Bluetooth audio integration!) but I have managed to find a few new ones...

Canonical, what the #*$%& were you thinking with your new Software Center!? Removing the ratings was the worst possible route you could take. Oh, and now I no longer need to see exactly *why* an install failed for a particular app? You just stall at 77% and give me no data? What's with that?

Oh, and don't get me started on wanting to replace Synaptic. Unless you plan on keeping all the features in, don't bet on me wanting to give it up right away. In fact, if removed, I can almost guarantee it'll become one of my defacto post-install requirements (Add Synaptic back in. Check).

Now, to give them the benefit, it does make sense to consolidate these programs, but for me, I always use the Add/Remove Programs app to do the big-level stuff and REQUIRE Synaptic when dealing with things like drivers and what nots. Essential maintenance, if you ask me.

I'll look for the idea storm on this one and watch it closely. I'd hate to see it get WAY off the tracks before users start bringing it back to earth.

Wednesday, November 11, 2009

Upgrading Ubuntu Server 6.04.2 to 8.04.3

I just successfully upgraded my Ubuntu 6.04 LAMP Server to 8.04 using the following instuctions from UbuntuForums:

I copied this list to my sources.list:
Code:
deb http://archive.ubuntu.com/ubuntu dapper main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
Don't ask me why my old locations didn't work, they just didn't.

I verified that my current install was completely up to date:
Code:
sudo aptitude update
sudo aptitude upgrade
sudo aptitude dist-upgrade
Install the server-based update utility (This is the core of update-manager and the release upgrade utility):

Code:
sudo aptitude install update-manager
worked for me (after mounting the 6.04 ISO to '/cdrom/').
start the upgrade using:
Code:
sudo do-release-upgrade
My results:

/etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION=”Ubuntu 8.04″

Steps for New Ubuntu 9.10 Users

Found this excellent blog posting to help new users to Ubuntu 9.10 get up and running with full multimedia support including DVD and Windows video formats.

Tuesday, November 3, 2009

Alarm Clock/Scheduler with GUI Interface

Those Ubuntu guys have thought of everything (should - "they" includes just about every user out there! :) )

To install this handy alarm clock application, go to the terminal and type:
sudo apt-get install alarm-clock

That's it. Configure it in Applications > Alarm Clock.

Monday, November 2, 2009

Formatting USB Drive to NTFS

First off, NTFS is only recommended if you're copying large (>2GB files to/from Windows machines on a regular basis. Here's how I found to do it (YMMV):

1. Install Gnome Partition Editor (gparted)
2. Install 'ntfsprogs'
3. Open Partition Editor and select your desired drive to format.
4. (Optional) Remove any unnecessary partitions, create a new one.
5. Right click and select the format you'd like to apply. (NTFS should be available)
6. Apply changes.

That's it.

I got this info from here.

Adding MP3 Info to Nautilus Columns

Found this tasty tidbit on the Ubuntu Forums. It lets you add MP3 info to the visible columns of Nautilus. Of course, this might be obsolete with Ubuntu 10.04. We'll see...

Here's the deb I used for Ubuntu 9.04.

Thursday, October 29, 2009

Installed 9.10 in VM

Doing my first round of tests on Karmic Koala. So far so good... Just running it in a VM though. Seeding via BitTorrent as well.

Download today at Ubuntu.com.

Don't forget to change your download sources after installing!

Monday, October 19, 2009

Android Fan Site: Phandroid

For news on upcoming Android apps, gadgets, etc., check out this site I stumbled upon (pun) today. Pretty useful information and lots of cool previews. Check it out.

Delay in Gnome Panel Drawers

I've been dealing with this annoying bug in Gnome: Panel drawers take 3 seconds to open. This bug is tracked here.

I've found a small help to this bug here:
I found a setting in gconf-editor, but I was only able to set the animation speed to "fast". if I completely disabled animations, the drawer would appear over the top panel, instead of the bottom right where its supposed to be.

To change the speed, open gconf-editor, navigate to apps->panel->toplevels->panel_0

there you can change the key for animation to fast.

(your draw may have a different name, depending on your added panel elements - I think O_o )

Hope that helps.

SCIM on Ubuntu

I've been struggling with getting the Input Method to work for Japanese on my Ubuntu installation (Gnome). I finally found this little, seemingly insignificant addition to the process:

Well, I had this kind of problem recently when I installed Ubuntu 9.04. SCIM
was showing on tray but was not triggering after pressing the shortcuts. I
have solved this problem at last.

If you have similar type of problem too, go to System > Administration >
Language Support and check the option "Use the input method engines (IME) to
enter complex characters". Then restart you x-org server by pressing Ctrl +
Alt + Backspace.
So, after installing Japanese support and adding Anthy as one of the inputs in SCIM, I finally have the ability to type in Japanese again! One problem I'm still working on - the hotkeys are somewhat tricky and don't match the old standby IME from MS. MS is a lot of bad things, but I'm used to their IME and I'd like to at least get my hotkeys to match. The problem is, I can't find a way to set something to activate with just the control keys (Shift + Ctrl, for example). It requires me to use another key in addition. It also doesn't seem to let me use Shift_L or something similar, even though the defaults do... I'll have to continue investigating. For now, I'm ok with just being able to type again - huge improvement!

Wednesday, October 7, 2009

Excited for Android

While iPhone and iPod has captured people's attention for some time now, I've always been apprehensive of making a big jump to either product. On the one hand, it has all the niceties of a *nix based system but on the other, it's sort of a perverted form of *nix. DRM, tyranical policies, and closed-development have, in my opinion, hampered the product's attractiveness to many would-be adopters. Couple that with a rapidly crowding network and it just hasn't appealed to me.

Enter Android. It has the potential to be everything iP* is and then some. For starters, it's open source. If the community doesn't like something, they can change it. It's working marvels for Ubuntu as popularity of the OS grows and the same will be true for Android or similar *nix micro distributions built for handheld devices.

While Android isn't perfect yet, there are more apps starting to show up and a stronger base of support for developers which should help increase that rate. We're also starting to see devices hit the market which are taking advantage of the OS such as Archos's new releases out last month.

All in all, I'm excited for Android.

Change in Blog Title

Just changed the blog title to be more reflective of my intents here. I'll still continue to blog my journey as a new Ubuntu user but I want to open things up a bit more to other up-coming Linux and Open-Source based technologies.

Tuesday, October 6, 2009

Mind Mapping for Ubuntu

I'm a fan of mind mapping. I have been for quite a few years now. Since I don't consider it worthy of $$$, I've always used FreeMind. I first saw it reviewed on SourceForge a few years ago when it won Project of the Month.

I was just assigned a writing assignment at work and as a result, decided to map out my thoughts on the subject before committing anything to XML (we use DITA). Naturally, I turned to FreeMind. However, as soon as I installed it, I remembered how awkward it really is. It suffers from feature bloat. Too much stuff crammed into a Java app = slow and buggy. So, I removed it (thank you, Ubuntu) and installed Labyrinth instead. I use Gnome so a pure Gnome+Python+Cairo app seems like a decent choice.

After applying a small patch (shown below), it worked beautifully. Simple, elegant, and just what I needed. Thank you Open Source Community.

Patching Labyrinth for Ubuntu 9.04:
Error:
   File "/usr/bin/labyrinth", line 40, in 
import utils
ImportError: No module named utils

From launchpad Bug 327174:
In jaunty we're using python2.6, so changing line 40 to:
sys.path.insert(0, abspath("/usr/lib/python2.6/dist-packages/labyrinth"))
and installing python-numeric should fix all problems. Its running here.

Friday, October 2, 2009

Follow-up on Move Media Player

Ok, so I've been using Hulu.com and various other similar sites for some time now. I don't understand what some networks were thinking when they decided to go with the Move Player over more open standards. Flash, while not exactly open, at least works across all major platforms! I'd really like to see some of the networks take note and make changes necessary to start supporting the growing Linux community. We are here and we deserve to be heard.

Remember, Firefox was just a fad...

See my previous rant on the subject.

Monday, September 21, 2009

Move Media Player and Ubuntu

Can't use it. Wish I could, but can't. Only available on Windows and not functioning in WINE. Sucks. Can't view ABC.com, WB.com and other popular video sites. Hulu.com works fine as do other major flash-based sites.

Tuesday, September 15, 2009

Google FastFlip: My News My Way

Ok, I admit it. I've always loved newspapers but hated dealing with finding the sections I like, flipping the HUGE pages, dealing with the aftermath, etc. There's just something about seeing a broad swath of news in one place at one time that I can quickly scan and dive if I want to without navigating through TONS of pages or performing specific searches. This is especially true when I don't know what I want.

Enter Google FastFlip. Suddenly, I can just select a section, click the first article and then flip my way through hundreds of pages of articles as fast as I would normally scan a newspaper. I can even pause and read the first few lines of the article right there without navigating deeper. Images are even preserved. Google News is decent at this, but misses the "Newspaper" feel that most people like.

Give it a try.

Monday, August 24, 2009

Farewell, D430... It's Been Real

Well, in spite of all the headaches and issues I went through with my old D430, it's been sad to see it go... Today, I imaged it for a co-worker and put WinXP back on it. I felt bad. It's kind of like reclaiming land, building some futuristic development on it, and then clearing it again to turn it into a waste dump. The machine was INSTANTLY 30% slower and I'm sure it will just go downhill from here. Bummer.

Farewell D430. I wish I could say you were going to a better place...

Saturday, August 22, 2009

D630 System Up and Running on 9.04

Gotta love Ubuntu. Just one day later and I'm fully up and running. Bluetooth is working great (send-recieve from phone, check. bluetooth audio for headset, check.), nvidia graphics working great (after installing proprietary driver version 180), wireless working great (Broadcom B43 Wireless proprietary driver and updated OS). Yep, everything working great! I've updated my Bluetooth Headset post to include more accurate information on how I got it working this time around. Just do a search or click here.

Friday, August 21, 2009

"New" Test Subject

I won't go into how (sad story), but I was just given a Latitude D630 to possibly switch out my D430. I've been VERY happy running Ubuntu 8.10 on my D430 but am now interested to see how 9.04 works on the D630. With the NVidia card, faster CPU, and other goodies, it ought to be a slightly better, albeit heavier, experience.

I'll post some of my findings here in the next few days.

Thursday, August 6, 2009

Exposing .NET as COM (Windows)

Below didn't work for me, so I'm trying these links instead:
http://www.codeproject.com/KB/COM/VS2005ComDllWalkThru.aspx
http://www.codeproject.com/KB/COM/VS2005RegisteringComDLL.aspx


Sorry, real world problem here - need to write it down:

(Ripped shamelessly from Experts-Exchange )

Ok, to make a VB Component COM callable, follow the instructions below:

1) Open up the Visual Studio .NET command prompt, and change to your project directory (where your .sln file is located). Whenever I refer to the command prompt, I mean the VS.NET command prompt. To open it, go to Start->Program Files->Microsoft Visual Studio .NET->Visual Studio .NET Tools->Visual Studio .NET Command Prompt. You may want to put a link to it on your quickbar.

In the command prompt, while in your project directory, type:

sn -k key.snk

This will create a strong name RSA key file with a public and private key. There are security implications if you create any components that are distributed outside your company, which we should discuss if you have this situation.

2) In your assembly's AssemblyInfo.vb file, create two attributes, which you can put right at the end of your file:

<Assembly: AssemblyDelaySign(False)>
<Assembly: AssemblyKeyFile("..\..\key.snk")>

Because the strong name signing of your assembly will occur on the Debug or Release assembly, you need to provide a relative path to your .snk file.

3) In your assembly project properties, go to Configuration Properties -> Build -> Register for COM Interop. Compile your assembly. This will create a .tlb file in the build directory that you can add into any VB or other COM clients for testing. This will also register the .NET assembly for testing on a development machine without having to use the following steps.

** If you are testing on your own machine, with the ASP in a local IIS server, you can stop now, and use the component using CreateObject("MyAssembly.Myclass"). ***

For server deployment, continue below:

4) Copy your Release assembly to whereever you would like on your server machine.

5) Make sure you have the .NET runtime installed on the server. I prefer not to install the entire SDK, but just the 20Mb redistributable.

6) Open a command prompt (regular, since only the SDK creates the special .NET one). Change the directory to:

C:\Windows\Microsoft .NET\Framework\v1.0.3705 (or whatever version of the Framework you are running)

7) Run "gacutil -i c:\where ever you put it\myassembly.dll" to install your component into the Global Assembly Cache. This is the simplest approach and does not require any special handling of your component.

If you have to uninstall from the GAC, just run "gacutil -u myassembly", without a path.

8) Run "regasm c:\where ever you put it\myassembly.dll" to have your component registered as COM callable in the registry.

If you have to uninstall from the registry, run "regasm c:\where ever you put it\myassembly.dll /unregister".

Now you should be able to call your DLL from COM.

Wednesday, July 1, 2009

New(er) version of PulseAudio for Intrepid

Also, here's the how-to for anyone interested:
http://fosswire.com/post/2008/10/better-bluetooth-audio/

EDIT: Still having trouble getting my Cardo S-2 to work properly with Ubuntu 8.10. I plan on testing this out. It's slightly different than the commands I've been running, so it's worth a shot:
http://biu.biugates.com/2008/12/bluetooth-audio-a2dp-on-ubunto.html

Tuesday, June 23, 2009

Open Terminal to Current Nautilus Location

sudo apt-get install nautilus-open-terminal

Dual Monitors Breaks 3D Desktop Effects (Compiz)

When I left home last night, I had full functional working 3D desktop effects. Once I added my two 1600x1200 monitors this morning and resized my virtual desktop size past the breaking limit, that all went bye-bye. :( I vaguely remember reading that increasing the desktop size on my video card will automatically disable this wonderful feature. Surprise. It did.

Well, at least with the old video driver, it's still smoother than the newer ones. Bummer though. I was really liking all the extra "new OS" bells and whistles. Maybe I can find a work-around someday, but I highly doubt it.

EDIT:
Here's the URL that discusses the root of the problem (I think it still applies to 8.10, but I'm not certain just yet... will look further):
http://ubuntuforums.org/showthread.php?t=580891

And some more specific to the Dell Latitude D430:
http://www.winchen.de/PHPWIKI/doku.php/public/delld430

Workaround:
Switch xorg.conf on bootup depending on whether or not external monitors are attached.

I don't use Compiz or most of Ubuntu when I'm at work anyway, so why worry about it? However, when I'm just using the laptop, perhaps just running a virtual desktop of default size is fine? That should allow compiz and other 3D stuff to run splendidly.

Getting started:
Install "xresprobe"
Create two xorg.conf files; one with the 3200x1200 virtual desktop, one with the default (2048x2048)
Create shell script that runs during startup to use one or the other xorg files.
Create a symbolic link to run the shell script just before x11 runs.

I got the basic idea from here:
http://sernaonubuntu.wikidot.com/multiple-monitors

Also, a great site about configuring XRandR and XORG to be happier together:
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2

Results of Workaround:
It worked! I don't have Compiz running when I'm using my dual monitor setup, but I do have it when I'm just using the laptop by itself. I didn't end up using all the fancy stuff in the above post. My xorg.conf files are pretty simple (subsitute the virtual size in each for your preferred sizes):

# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# Note that some configuration settings that could be done previously
# in this file, now are automatically configured by the server and settings
# here are ignored.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Monitor"
Identifier "Configured Monitor"
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
SubSection "Display"
Virtual 3200 1200
EndSubSection
EndSection

Section "Device"
Identifier "Configured Video Device"
EndSection

Monday, June 22, 2009

Locking a Package (Removing Unwanted Updates from Update Manager)

Every once in a while, you come across a version of a driver or package that is just better than newer, "updated versions". If you want to keep the old one and stop getting reminders about the new ones, just open Package Manger, select the package you want to keep and then click "Package -> Lock Package" from the menu. This will prevent auto-updates from happening to that package.

Also, you can force an old package to be reinstated from this same menu. This would have helped me a TON and saved a lot of time with my video driver woes...

Friday, June 19, 2009

Installing Latest VLC in Intrepid Ibex (8.10)

Add the repositories from c-korn here:
https://launchpad.net/~c-korn/+archive/vlc

Add the GPG key from the same location.

Open your package manager and add the latest stable version of VLC.

Older Intel Drivers Far Better than Newer Drivers

I'm using the xserver-xorg-video-intel driver version 2.4.1-1ubuntu10 (default that installed with 8.10) and the graphics performance is MUCH better than 2.6 or 2.7 was for my Intel chipset (Dell D430). Guess newer isn't always better...

3D Desktop effects even work somewhat!

Making the Windows Key (Super/Mod4) Do More in Ubuntu

Immediately after I reinstalled 8.10, I noticed my Windows keys behaving badly. I actually forgot that this was something I had to deal with before. It boiled down to changing the default behavior of the Windows key in the keyboard layout "Other Settings" panel to map it to the "Super" key. Viola. I can now assign it at will.

Here's a link to a write-up about it:
http://www.psychocats.net/ubuntucat/windowsmodifier/

I Tried but I've Had Enough of Jaunty Jackalope (Ubuntu 9.04)

It took a long time, but I'm willing to concede defeat now. Ubuntu 9.04 sucks on Dell D430 hardware. Perhaps it was the half-baked release for older hardware. Perhaps it was the decision to go exclusively to open-sourced drivers. Perhaps it was just all the little irks I got tired of dealing with. In the end it doesn't matter. It all added up to wasted time and effort trying to either correct or work around the myriad of problems with video drivers, bluetooth drivers, and other nonesense you shouldn't have to deal with in Ubuntu. After all, it worked nearly flawlessly in 8.10 so why shouldn't it for 9.04? It *is* supposed to be an upgrade after all.

At any rate, I *downgraded* to 8.10 last night. I have to tell you, I missed my perfectly functioning video drivers. I still need to see if I need to reinstall the latest broadcom wireless drivers, but that's in my previous posts.

In the end, I learned that newer isn't always better. I'll take a look at the 10.x release in a year or two. For now, 8.10 is perfect for this machine with this hardware. Stick with what works and works best.

Wednesday, May 20, 2009

Shift, CTRL, ALT key (and caps lock) stop working when using VMware

From bug #195982:

VMware Workstation's keyboard mapping is imperfect, sometimes resulting in certain keys stopping functionality when running under VMware Workstation, requiring the user to setup their configuration settings manually in VMware Workstation. For a detailed explanation see the following article:

http://www.vmware.com/support/ws55/doc/ws_devices_keymap_linux_longer.html

WORKAROUND:
After this happens to recover your keyboard execute 'setxkbmap' in a terminal

Tuesday, May 19, 2009

Setting the Backlight Dim Timeout in Jaunty

From a bug posting:

I've been fighting this with Hardy and the references here made me dig a bit more and found this:

$ gconftool-2 -Tg /apps/gnome-power-manager/backlight/idle_dim_time 30 int

This basically tells GPM that "idle" means 30 seconds. So, I did this:

$ gconftool-2 -s /apps/gnome-power-manager/backlight/idle_dim_time 120 -t int

If my calculations are correct, that should increase the delay before the screen dims down to 2 minutes.

As for what "activity" means, I have found that moving the mouse and typing equally triggers GPM to bring up full brightness.

I think a long term solution to this issue is to put a slider into Power Management Preferences screen to allow this to be customized without tinkering with gconf. I always saw people's iBooks dimming down to save power and I'm glad it is now supported here -- just needs to be fleshed out a bit more.

Couldn't agree more with the RFE in the last para.

Monday, April 27, 2009

More Bluetooth Woes in Jaunty Jackalope

I'm adding this to my list of bugs I hope they fix soon.

Easiest way to get Bluetooth Audio I've found so far:

1. Follow these instructions up to step 9.
2. Follow these instructions after that.

Here's the text (sort of) for each:

#1:

  1. First we need to add the Blueman Project’s PPA to your Ubuntu Jaunty installation. Open a terminal and type in:
    $ sudo gedit /etc/apt/sources.list.d/blueman.list
  2. You will be presented with a blank text editor. Type or copy & paste the following lines in:
    deb http://ppa.launchpad.net/blueman/ppa/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/blueman/ppa/ubuntu jaunty main
  3. Save your changes and exit the editor.

  4. Now update your package lists with:
    $ sudo apt-get update
  5. At the end you will see a NO_PUBKEY error because your setup does not yet have the GPG key for the Blueman repository to authenticate the packages with. To fix this, import the key with:
    $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B15AB91951DC1E2
  6. Update your package lists again as per Step 4 and you should find the NO_PUBKEY error is gone now.

  7. By now your system is probably prompting you that there are updates to the Bluetooth stack available to install. We may as well stay at the terminal and do the updates there:
    $ sudo apt-get upgrade
  8. Once that completes, the Bluetooth stack is now up to date, but we now need to install the Blueman applet to replace the Gnome version of it:
    $ sudo apt-get install blueman

    (this will automatically uninstall the bluez-gnome package as we don’t want it anymore)

  9. Once that completes, logout and log back in again so that the new applet loads up to replace the old one.

#2

  1. Fire up/install Ubuntu as normal.
  2. Plug in or enable your Bluetooth adapter. Your Bluetooth adapter will be automatically detected and drivers loaded - there is nothing for you to do manually here.
  3. Turn on your Bluetooth headset.
  4. Switch your headset into pairing mode (refer to your headset's manual).
  5. While the headset is in pairing mode, left click the Bluetooth icon in your system tray and choose "Setup new device" from the menu. Follow the wizard prompts to seek out and pair your headset.
  6. Once paried, open a terminal, and type in the following:
    Code:
    $ hcitool scan
    Your PC will now scan for local Bluetooth devices and your headset should appear in the resulting list after a few seconds (along with anyone's Bluetooth-enabled mobile phones that are in range). The output will look something like:
    Code:
    $ hcitool scan
    Scanning ...
    00:11:22:AA:BB:CC Nokia N95
    00:33:44:DD:EE:FF BT81
    $
    In this example, my PC has found my Nokia mobile phone and my Bluetooth headset and shown me the MAC addresses for both of them.

  7. Highlight and copy the MAC address of the headset to the clipboard using your mouse and CTRL + SHIFT + C. In this example my headset's MAC address is "00 : 33 : 44 : DD : EE : FF". Yours will be different - copy YOUR address, not this example's address.
  8. Now type in:
    Code:
    sudo gedit ~/.asoundrc
    Note the period before "asoundrc". This will create a new hidden text file called .asoundrc in the root of your Home directory and open GEdit so you can add to it. The file is hidden because of the leading period.

  9. In the text editor, type in the following, replacing the MAC address in the example with the one you copied earlier from YOUR output (paste with CTRL + V):
    Code:
    pcm.btheadset {
    type bluetooth
    device 00:33:44:DD:EE:FF
    profile "auto"
    }
  10. Save and exit.
  11. Now type in:
    Code:
    $ sudo hciconfig hci0 voice 0x0060
    This will enable your Bluetooth adapter to carry Bluetooth audio.

  12. Now we need to tell PulseAudio that your Bluetooth headset exists:
    Code:
    $ pactl load-module module-alsa-sink device=btheadset
    $ pactl load-module module-alsa-source device=btheadset
    Note that this enables your Bluetooth headset for PulseAudio only temporarily. When you reboot, the PulseAudio configuration for Bluetooth will be lost. For future convenience, create a bash script with the above commands in it and create a launcher on your desktop to run the commands when you double-click on the launcher icon. Due to needing to have the headset paired BEFORE you run these commands, you cannot have these commands run automatically during system startup. It will cause PulseAudio to fail.

  13. Once pairing has completed, we can now test to see if we can send audio to the headset. In your terminal, type in the following:
    Code:
    $ aplay -D btheadset -f s16_le /usr/share/sounds/ubuntu/stereo/dialog-question.wav
    This will attempt direct communication with your headset, and within a second or so, you should suddenly hear the familiar Ubuntu "login ready" drum sound play through your headset! If you didn't head it first time, try the command a second time as there may be a delay between "activating" your headset and playing sound.

    Unfortunately only aplay will play anything through your headset. All other sounds are still coming through your speakers. Unless the application in question can redirect audio to another detected device, it will always play through the standard-out, so applications such as Totem and Rhythmbox will still output via your speakers and not give a hoot about your Bluetooth headset. To fix this, we need to make use of the PulseAudio Server which can redirect output to another device.

  14. The PulseAudio Server is already installed by default in Ubuntu Jaunty, so we just need to install some tools to manipulate it. Go back to your terminal and type in the following:
    Code:
    $ sudo apt-get install paprefs paman padevchooser
    This will install the PulseAudio Preferences app, the PulseAudio Manager app and the PulseAudio Device Chooser app.

  15. Once installed, go to Applications->Sound & Video->PulseAudio Device Chooser. This will add a black microphone jack icon to your system tray.
  16. Do a left-click on the jack icon and a menu appears. In this menu, choose "Manager". A new window appears.
  17. If it's not already connected, click on the "Connect" button to connect to your local PulseAudio server. When connected, you will see details about it listed.
  18. Click on the Devices tab. Under "Sinks" you should see an entry for "alsa_output.btheadset". This is picked up directly from your .asoundrc file.
  19. Now go to the Sample Cache tab. You are shown a list of sounds. Choose a WAV file from this list (it won't play any other format). At the bottom is a "Playback on" drop-down. Choose "alsa_output.btheadset" from this list and click on the Play button. You should hear the Ubuntu "login ready" sound through your speakers. This proves to us that PulseAudio can play through your Bluetooth headset (but this is NOT the redirection - this is just a test).
  20. Close the PulseAudio Manager.
  21. Do another left-click on the mic jack icon in your system tray.
  22. Go to "Default Sink" and then choose "Other" from the sub-menu. A window appears.
  23. In this window, type in "alsa_output.btheadset" and click OK.
  24. Play a sound from somewhere, eg: MP3 or movie in Totem. You should now hear your audio coming through your Bluetooth headset! NOTE: Existing audio streams at the time of changing the sink will continue to play through whatever they were playing through until stopped and started again.
  25. To switch back to your speakers, simply click on the mic jack icon again, choose "Default Sink" and choose "Default" from the sub-menu. The next audio stream played will go back through your speakers.
  26. To make the PulseAudio Device Chooser start automatically on startup, click on the mic jack icon again, choose Preferences from the menu and then click on "Start applet on Session Login" in the window.
  27. Enjoy!

KNOWN ISSUES:
  • This does not work with Skype. Despite the "btheadset" device being listed as a Sound Device option within Skype, you will get errors when it tries to playback or record audio via the headset and it will in fact kill the PulseAudio server forcing you to restart PulseAudio or your PC to get it running again. I have not figured this one out yet.
  • You cannot have your headset auto-pair and be auto-configured with PulseAudio upon startup (yet?). You will need to pair first, then run the two "pactl" commands in step 10 manually or via a script launcher. Before you say "can't I put those commands in startup?", you cannot have these commands auto-run on startup or PulseAudio will hang or crash (because the pairing with your headset has not been established yet).
  • The Sound Recorder is unable to lock onto the headset for recording audio (in fact, it goes nuts when trying to record).
  • The second "pactl" command in Step 12 may cause unusual undesired system behaviour. Since the second command only exists to setup the microphone on your headset, if you do not have one or don't intend to use the microphone, you may omit this line.

Saturday, April 25, 2009

Connecting to LG env2 with Bluetooth not working...

Just tried sending some pics to my laptop from the phone and couldn't get the connection to work. Will investigate and post the results as soon as possible.

*EDIT: I can now send/receive pictures/video from my phone but I can't browse files on the phone.

To get it working, I installed gnome-user-share, then open System -> Preferences -> Personal File Sharing and set the option to receive files over bluetooth.
This information was found here.

The browsing thing seems to have something to do with lack of support of OBEX, either by jaunty or the phone. Enabling obexftp should solve it, but I've installed the following without any improvement:
obextool
obexfs
obexpushd
obexftp
gnome-vfs-obexftp

Will keep searching...

Friday, April 24, 2009

RDP Using rdesktop

Since switching to Ubuntu, I've been using the Terminal Services Client program (Applications->Internet->Terminal Services Client) to connect to my work VM which is hosted on a VMware ESX 3.5 u3 server. I used that VM prior to upgrading to Ubuntu (yes, it is an upgrade) and essentially used my laptop, as far as work was concerned, as a thin client.

One thing that always annoyed me was that the "full screen" option was just that - complete and total full screen! Ubuntu was washed completely from view and I was stuck in the land of dual-monitored ultra-Windows. If I hadn't installed an app on my remote VM called MaxTo, I would have had serious problems effectively using both monitors (hitting maximize would expand the windows to fill the entire desktop area of both monitors). However, at least with MaxTo installed, I could get my work done.

Even so, I still found hitting CTRL-ALT-ENTER each time I wanted to go back to my real desktop a bit annoying. I mean, in Windows, i had the option of defaulting to one monitor or using a switch to fill both montiors as was happening now (I can't remember that switch for windows but I'm sure I could find it if anyone is interested).

So, as usual, I turned to Google and the extensive Ubuntu forums. For just about everything I've investigated in Linux, there's an easier way to do something than in Windows. Turns out, I'd been using the easiest of easiest ways to connect (the GUI app) but the command line version had all kinds of goodies I could use! I quickly discovered how to create a new launcher with all my command line needs using:
man rdesktop
Here's my resulting launcher command line:
rdesktop -u kkeyser -d VMWAREM -x m -D -P -z -a 16 -g 1600x1200 -r clipboard:PRIMARYCLIPBOARD -r sound:remote 10.114.24.118
The only problem I've had is that I can't seem to get it as fast as connecting using the default rdesktop settings found through the GUI. There must be a switch I'm missing...

UPDATE: The switch I was missing was -b. Adding that to the command produced blazing fast RDP sessions with exactly what I needed! Give it a shot!

If anyone has any tips on getting the remote connection faster, I'd be happy to have the input!

Upgrading from Intrepid (8.10) to Jaunty (9.04)

This is kind of funny. I decided to let my machine upgrade from Intrepid Ibex (8.10) to Jaunty Jackalope (9.04) while I was in meetings all morning on Thursday. Great idea, I thought - let my machine toil away while I was away. And I was right (for the most part). I came back to a fresh, shiny new OS with better support for my machine than previously.

At work, it was an awesome new user experience with all kinds of improvements over Intrepid and since I've only been using Intrepid for a couple of weeks, THOUSANDS of improvements over my previous installation of Windows XP.

However, I had driven to work yesterday and hadn't had the normal 2 hours of bus riding to test out all the multimedia stuff. Today I did and ran into a serious problem. No support for playing back mkv, avi, mp4 or other video formats in Totem or VLC! When I went to launch the video, the program would crash with something similar to this error (reposted from another user with the same issue since I've resolved it on mine and can't reproduce the exact error):
Binary package hint: xserver-xorg-video-intel

xine, mplayer, or totem all crash when attempting to play any video file with an error like this one from xine:
This is xine (X11 gui) - a free video player v0.99.6cvs.
(c) 2000-2007 The xine Team.
X Error of failed request: BadAlloc (insufficient resources for operation)
Major opcode of failed request: 132 (XVideo)
Minor opcode of failed request: 19 ()
Serial number of failed request: 4731
Current serial number in output stream: 4732

This worked in Intrepid and does not work since updating to the Jaunty
As he said, this worked perfectly in Intrepid and stopped working in the newly released Jaunty. I did a bit more digging on why this was and found that they had upgraded some things such that DRI2 no longer worked with the newer version of the Intel graphics driver needed for the D430 (specifically, the Intel 945).

DOH! Now I was certain I'd either have to switch my virtual desktop size down to only allow monitor mirroring in order to get videos to work, or I'd have to downgrade to Intrepid again. Big doh. I haven't done a downgrade in Linux before and I wasn't sure what, if anything could go wrong... Then I stumbled across a possible solution. Downgrade the graphics driver to an older version than ships with Jaunty. 3D effects on the desktop would likely not work very well, if at all, but they never did (let's face it, the D430 isn't exactly a gaming machine!). Worth a shot, especially if I was considering downgrading anyway.

After following the instructions here, I rebooted and found that I could now set my virtual desktop back to normal size AND still watch my videos! Sweet success...

For anyone else out there wondering if they should upgrade their D430 or any laptop with an Intel 945 graphics card, fear not. There is a viable solution that doesn't severly hamper your experience. Why they shipped with this craptastic driver is beyond me. But they did. And because it's Linux, we can deal with it anyway. :)

Please post if a patch comes out for this. Thanks muchly!

UPDATE: With the old driver, I am noticing some lag when scrolling large pages such as full-screen Firefox... It looks like there are some issues even with this driver. :(

UPDATE2: I've leapfrogged to the xserver-xorg-video-intel 2.7.1 version driver. It seems to be working as good as 2.4 but there is still a noticable lag when scrolling pages of text (Firefox). :(

Helpful Ubuntu Links for Dell D430 Owners

Getting the Hardware Working (was valid for 8.10, may need updated for 9.04):

BluetoothAudio - Community Ubuntu Documentation
Installing Workstation on Ubuntu
Multi touch for any,all synaptics touchpad | ubuntu snippets
*OFFICIAL* Broadcom Linux driver BCM4312 | You’re Special, Just Like Everybody Else.
Ubuntu on dell d430
BluetoothHeadset - PulseAudio Fixes & System-Wide Equalizer Support...
Setup this before attempting to connect your bluetooth headset.
BluetoothHeadset - Community Ubuntu Documentation
Combine these instructions with the info for getting the Pulse Audio Server working. Once you do this, everything except VLC works perfectly with Bluetooth Headphones. Very cool.
BluetoothHeadset - Troubleshooting
Play and Rip DVDs with Ubuntu Linux
KVM on Ubuntu: Install with mouse, keyboard directly attached, reboot, hookup KVM
HOWTO: setup all 12 buttons on your Logitech MX1000 - Ubuntu Forums
Installing Windows Application Under Wine - Make Tech Easier
Touchpad - 2nd option works best
Tips:
Knowliz: 20 Things to do after installing Ubuntu Linux
50 amazing Ubuntu time-saving tips | News | TechRadar UK
Installing VMware Workstation 6.5 in Ubuntu… » Yellow Bricks
Nautilus Scripts for GNOME
CompilingEasyHowTo - Community Ubuntu Documentation
25 killer Linux apps | News | TechRadar UK
Lifehacker - Five Tweaks for Your New Ubuntu Desktop - Ubuntu
20 Linux apps you can't live without | News | TechRadar UK
thattommyhall.com - Linux Blog of Ideas
Typing Break and WorkRave: Keep RSI at Bay « Ubuntu Blog
dotfiles.org | community for sharing dotfiles like .bashrc, .vimrc, and .bash_profile
ubuntu snippets | Ubuntu Jaunty, Intrepid, Hardy, Gutsy, Tips & Tricks, News, Fixes, Tutors.