May 24, 2009

Bash completion with aptitude aliases

Problem:

  1.    If I used my alias for installing an application (inst application), I would have to know the full application name because I would not have bash completion.  This was very annoying when installing libraries because they often have weird version strings tacked on to their ends.
  2.    If I used the full command (sudo aptitude install application), I would have bash completion and would therefore not have to know the whole application name. I could simply type libxul and get libxul0d.

On one hand, I would type a short command plus a complected application name, on the other I would type a long command and a simple application name.  I wanted to be able to type a short command with a simple application name.


Solution:

   I wrote my own bash completion rules.  They are based on the default aptitude bash completion rules but customized for aliases. Here is the text http://paste2.org/p/223473. Just copy it into a file such as ~/.bash_completion and source the file in your ~/.bashrc by adding ". ~/.bash_completion".

  Change/Add/Remove the aliases at the end of the file. The lines that start with complete -F _aptitude_all complete any available or installed package and lines that start with complete -F _aptitude_installed complete only installed packages.

  inst, upgrade, apt-info, apt-changes.... are my aliases. You must use YOUR ALIASES for this to work. To add aliases, read this.

How to invite someone to Ubuntu One

For anyone with an Ubuntu One account, the following are instructions for sending invites:

  1. Go to My Files in the web interface.
  2. Create a new folder (to be shared) with the person that you will be inviting
  3. Go to the sharing tab (on the right).
  4. Share the folder with the person that you want to invite (The trick is that someone does not have to have an Ubuntu One account to accept a share).
http://ubuntuone.com

For anyone looking for an invite, just ask @bugabundo at Identi.ca

May 20, 2009

Grdc - A very good graphical VNC viewer for the average linux user

Overview

After finding myself frustrated with Vinagre's (GNOME's standard VNC viewer) lack of ssh tunneling support I began looking for an alternative. I finally found it: Grdc.

Grdc supports both VNC and RDP. Grdc can tunnel both connections over ssh for security. The ssh tunneling supports key based or password based authentication and allows the user to select a custom server and port (if they differ from the defaults).

Grdc's user interface is much simpler than that of Vinagre. It allows the user to create and save custom connections and organize them by groups. Its connection quality settings are, unlike many remote desktop programs, quite simple. The user simply chooses the quality and the number of colors. Grdc also has a panel applet for the gnome-panel that lets users connect to their saved connections through a simple menu.

Another interesting feature is the "VNC Incoming Connection" protocol. This protocol lets users create new VNC servers with custom ports and passwords on the fly. This is especially useful if a user wants to let a remote user temporarily control their desktop.

Grdc does not support everything. It does not support tabbed connections like Vinagre but, in my opinion, tabbed connections are overkill for most users. It also does not support browsing a network for VNC connections with avahi as Vinagre does. This feature would be useful for administrators but is somewhat useless for the average user because most users will access the computer from the internet, not the LAN, and thus avahi support would be pointless.

Overall, Grdc is good for remote, internet traversing connections because of its ssh support and is useful to the average user because of its simplicity. Vinagre is still a better VNC client for administrators that have to manage many computers over a LAN because, on a LAN, encryption is usually unnecessary while avahi support is helpful and, when managing multiple computers, tabs are very helpful.

For screenshots see the SourceForge Screenshot Page

Installation

As of the writing of this post, the version of Grdc in the ubuntu repositories is woefully out of date and does not support ssh tunneling. Therefore one should use the deb provided by the project maintainers on sourceforge. Simply download the grdc deb (link below) and install (usually just double click). The grdc-gnome package is the gnome-panel applet and the grdc package is the main program.

Downloads: http://sourceforge.net/project/showfiles.php?group_id=248852
Homepage: http://grdc.sourceforge.net/

-- Edit: I have packaged a 64bit version. Download here.
-- Edit 2: The 64bit version of grdc-gnome (the panel applet) for karmic seems to work in jaunty. Download here.