Mar
21
Project Update Announcements
Filed Under Folding, GNOME, Security, c0de | Leave a Comment
I wanted to quickly toss something out there for all of you on the interweb. I spent some time last evening cleaning up a few of my code projects. If you have been using either of them you may want to update.
apturl for Gnome Do
I spent some time in the #gnome-do channel last nite seeing what needed to be done for the apturl plugin to become better supported. The end result is that its much cleaner, properly licensed and has been submitted to the do-plugins branch on launchpad for possible future inclusion in the “official” plugins package. If you have been using the apturl plugin for Gnome Do and saw some recent breakage, you can download the new known-to-be-working-on-0.4 version here.
GoogleSecure Greasemonkey Script
I’m a big fanboy of data encryption, including encrypting as much of my web traffic as I can. I hacked together a small Greasemonkey script long ago that will force encryption on any supported Google application (gmail, reader, docs, calendar, etc), and recently added Twitter as well. I guess that might be cause for a name change, but I didn’t get that far. I would like to extend the list of sites that it supports, so if you know of any sites that offer https on login but don’t require (but support) https session-wide, let me know. If you’re interested in this tool you can download Greasemonkey here and GoogleSecure here.
folding.sh
I also have time set aside today to try and squash two remaining bugs in folding.sh. For all of you great folks that have been using folding.sh, expect an update fairly soon.
I post tutorials very regularly on this site. You may want to consider subscribing to the RSS feed. Or if you'd prefer these tips sent to your inbox you can use Email Subscriptions.
Mar
10
This morning Ubuntu Tutorials made the front-page of LifeHacker in regards to installing Gnome-Do Plugins. Based on some of the feedback on the past few Gnome-Do posts I’ve updated my plugin. If you have been using the old-version you’ll likely want to replace your current apturl.dll with this new version.
The new code is much more efficient, and I’ve made the code available for anyone that wants to improve it. I should mention that it could make for a decent launcher template. Basically you should be able to update the exec line:
exec = "apturl";
and the term.StartInfo.Arguments line for any arguments the exec command needs:
term.StartInfo.Arguments = "apt:"+ packagename +"";
I wonder what type of plugins this could lead to… I also want to thank Stuart Jansen (yet again) for help with the cleanup. In any event, the updated .dll and the released .sc are available here.
Mar
6
How To Install Gnome-Do Plugins
Filed Under GNOME | 15 Comments
Hopefully you caught yesterday’s post on How To Install Gnome Do. If not, head back and check it out. It’s a really sweet app. As promised yesterday I wanted to outline how to install plugins for Gnome-Do, which really add to the functionality.
Installing Plugins for Gnome-Do
Installing plugins for Gnome-Do is really a simple matter of downloading a plugin file and dropping it into a directory. Once you’ve restarted Gnome-Do you’ll have the added functionality that the plugin offers.
Below are a few example plugins (a longer list can be found here). Simply download the .dll file and save it to ~/.local/share/gnome-do/plugins. If the directory doesn’t exist you’ll need to create it. A quick example in the terminal:
mkdir -p ~/.local/share/gnome-do/plugins
cp ~/Desktop/plugin.dll ~/.local/share/gnome-do/plugins/
Here are some of the plugins:

This plugin allows you to launch Gnome-Do and navigate through your music collection stored in Banshee.
Another plugin that I have been using is the Twitter plugin:

This plugin allows you to update your twitter status via Gnome-Do. No, you don’t get updates from your follows, just send outgoing updates. It’s good for a quick update.
Another plugin that I’ve been using is the SSH plugin:

This plugin allows you to quickly connect to any SSH server. It even auto-browses your .ssh/config file for known, defined servers!
There are quite a few more, but the last one I want to mention is the one I hacked together the night I found Gnome-Do (yes, it really is that inspiring!). I call it the APTurl plugin.

My plugin ties into APTurl to allow you to quickly install packages via Gnome-Do. Access the plugin by typing “aptitude” and then tab over and provide a package name. It’ll prompt you to install it if its a valid package.

And there you have it. Again, if you haven’t yet installed Gnome-Do I might have to just write a plugin that Gnome-Do Installs Gnome-Do for you!
Mar
5
How To Install Gnome-Do
Filed Under GNOME | 13 Comments
Yesterday I started using an application called Gnome-Do, which I have to say is awesome. If you’ve used Quicksilver on OSX or Katapult on KDE its really similar. It’s a quick-launch tool to get you what you need as fast as possible (but not faster, of course!). It allows you to quick launch desktop applications with a few quick keystrokes and just generally makes life easy.
I thought I would outline how to install Gnome-Do on Ubuntu 7.10 “Gutsy” and also on Ubuntu 8.04 “Hardy” for those early adopters like myself.
Installing Gnome-Do on Ubuntu 7.10
To install Gnome-Do on Ubuntu 7.10 “Gutsy” you’ll need to add the Gnome-Do PPA from launchpad. Add the following line to your /etc/apt/sources.list file:
deb http://ppa.launchpad.net/do-core/ubuntu gutsy main
After you’ve added the repository you’ll need to update your repository cache and then install the package. Two more commands to take care of that:
sudo aptitude update
sudo aptitude install gnome-do
Installing Gnome-Do on Ubuntu 8.04
For those early adopters out there that are already running Ubuntu 8.04 “Hardy” you’re lucky to have Gnome-Do in the repositories. You’ll just need a simple:
sudo aptitude install gnome-do
To launch Gnome-Do you’ll need to start it manually. This can be done a few ways:
- ALT-F2: gnome-do
- Open a terminal: gnome-do
- Add it to your System > Preferences > Sessions: gnome-do –quiet (for autostart at login)
Once it’s launched you can access the Gnome-Do interface via “Super”-space (windows button+spacebar). This key binding can also be changed in the gconf-editor (/apps/gnome-do/preferences/key_binding) On my next post I’ll outline how to install Gnome-Do plugins, which add so much more functionality you’ll be amazed. I’ve also hacked together a Gnome-Do plugin myself that will let you quickly install packages via Gnome-Do. I’m looking for a few good C# devels that can help me improve it. Details soon!
Jan
10
gconftool-2 : gconf-editor from the shell
Filed Under GNOME, Ubuntu | 7 Comments
I was sitting here this afternoon trying to come up with something to blog about. Looking at some of the wiki work I’ve done recently I realize I’ve made a good use of the gconfool-2 for customizing the gnome desktop all from the shell. I thought I’d share some of the basic command structures with you.
Basically what gconftool-2 will do is allow you to set gnome environmet tweaks (font sizes, sound mixer settings, taskbar size/location, etc) from the shell vs using the graphical tool.
gconftool-2 examples
Below is an example of using the gconftool-2 to set the default font sizes to 8, as I’ve done on the EeePC.
gconftool-2 --set /apps/nautilus/preferences/desktop_font --type string "Sans 8"
gconftool-2 --set /desktop/gnome/interface/document_font_name --type string "Sans 8"
gconftool-2 --set /desktop/gnome/interface/font_name --type string "Sans 8"
gconftool-2 --set /apps/metacity/general/titlebar_font --type string "Sans Bold 8"
gconftool-2 --set /desktop/gnome/interface/monospace_font_name --type string "Monospace 8"
The above commands are the equivalent of launching the gconf-editor (ALT-F2 : gconf-editor), navigating to the paths listed above and changing the listed values. While I am very grateful that we do have a graphical tool for editing these things, you tell me which is faster?
gconftool-2 basics
The basic structure of using the gconftool-2 is the following:
gconftool-2 --set /path/to/setting --type <type> "value"
The /path/to/setting can be found using the graphical tool (unless someone can tell me an alternate method). The type can also be found in the same place. For example, let’s say I want to change toggle the value of locking the screen when the screensaver is in use. I can open the gconf-editor GUI tool, navigate through its menu tree “apps > gnome-screensaver” and find the “lock_enabled” value. Normally, by checking or unchecking this box we’d toggle the value.
Using gconftool-2 we can achieve the same thing using:
gconftool-2 --set /apps/gnome-screensaver/lock_enabled --type bool 1"
Now I understand that at this point we aren’t technically any faster because we had to look it up in the GUI anyway, but once you’ve found it the first time you should be ahead of the game the second time. This is great for installing multiple machines, or simply if you reinstall your machine regularly and want to script your settings back into place.
As per the basic structure above we’re –setting a value, giving the path to what value we want to change, and then defining the type. In this case it is an off or on boolean value. In other cases, as with the examples above, it is a string that needs to be defined. You can find out what type of value (integer, boolean, string, etc) your item uses by double-clicking within the graphical application.
I have been able to find most values in the gconf-editor or gconftool-2. Everything from toggling the proper mixer for my volume settings to setting my taskbars to a specific size.
I hope these basic examples are enough to get some of you started.
Nov
8
Quick-connect options for network shares inside gnome can be even easier than using the Places > Connect to Server options. You can also quick-connect to these using the ALT-F2 run dialog. As far as I understand these are interchangable in their features, its just another more flexible way for you to connect to a remote machine or network share. I’ve tested quite a few of these below and they seem to work just fine. Are there any others that I have missed? Here are some examples:
ALT-F2: "ssh://user@host"ALT-F2: "ssh://user@host:/some/folder"
These will connect and open up nautilus with the contents of that network share. They also work for samba, for the Windows people.
ALT-F2: "smb://servername"
Or if you’d prefer FTP or the more securet SFTP.
ALT-F2: "ftp://hostname"ALT-F2: "sftp://user@servername:port
…it even supports HTTP(S).
ALT-F2: "http://google.com"
I don’t think loading network connections can get much faster than that. Enjoy. Thanks goes to the Ubuntu Colorado list and David for pointing this out.
Sep
22
One of my friends let me in on a project he put together today that I think a lot of you would be interested in. Actually I think it would be a great addition to squeeze into the next Ubuntu release (can some of the higher-ups with a say on the freezes perhaps take a look?) It is a “human” themed gnome screensaver lock dialog. Very simple really, but I think it adds a bit more graphical unification to the Ubuntu desktop–makes the look feel a bit more global if you know what I mean.
Below are manual installation instructions (pending being merged into the official package *nudge-nudge*) and a few small screenshots to give you an idea of what it looks like.
To install:
Download “Human” themed screen-lock
- Extract the contents of gnome-screensaver-human.tar.bz2 into /usr/share/gnome-screensaver.
- Run ‘gconftool-2 -s - -type=string /apps/gnome-screensaver/lock_dialog_theme human’
Reverting back to the default:
- Run ‘gconftool-2 -s - -type=string /apps/gnome-screensaver/lock_dialog_theme default’
If you have any problems with this please leave a comment. Or, more importantly, if you enjoy this theme and would like to see it included in the official packaging please leave a comment as sort of a “petition on inclusion”. Enjoy everyone.
Sep
17
nautilus-image-converter : quickly resize or rotate images within nautilus
Filed Under GNOME | 8 Comments
Not too long ago I blogged about the ability to quickly open a terminal session from within nautilus and a handy right-click. If you missed it you might want to take a look back here. In today’s post there is a similar very easy way to quickly resize or rotate images with a simple right-click.
Installation
To add this functionality we’ll need to install the nautilus-image-converter package:
sudo aptitude install nautilus-image-converter
Use
Before you’re able to use this functionality you’ll need to restart nautilus or simply logout and back in. You’ll now be able to right-click on any image on your machine and you’ll see two new menu items:
"resize images"
"rotate images"
The options menu that will be presented will give you quite a number of options on rotation direction, resizing, etc. Give it a quick try, its about as easy as it can get.
Jul
25
Among the many cool things that I’ve learned this week at Ubuntu Live there is one that I’m definitely going to keep using! Quickly, before I get started, I need to link back to the Ubuntu Forums post that started this whole thing. There is also a lot more examples and extensions on the wiki, seen here. Unfortunately, outside of these, there is very limited documentation on the web for this tool, so you wont find much more than what you see here. If you do please post a comment with a link.
There are a few steps to this full tutorial so get comfortable and follow along.
Installation
To get the features of this tutorial we will need to install a quick package. It’s pretty small and should just take a minute or two to download and install. Use the following command, or install the package using your favorite package manager:
sudo aptitude install devilspie
What exactly does this package actually do? From the package description:
This tool will find windows as they are created and perform actions on them, such as resizing, moving to another workspace, or pinning them to all workspaces.
In english? You can basically set rules for your favorite applications and make sure they load on the appropriate virtual desktop, at the certain sizes, etc. This has been something that I wish I had for a while and never really looked into. A have a nice organization of applications between my desktops, but all done manually. This automates the whole thing instead.
Configuring
Now that we’ve got the package installed we need to set the configuration of what we’d like it to do.
Create a new directory to store your new devilspie-related configuration file (yes, once you start using this you’ll create more and more–you want them organized). Use the following:
mkdir ~/.devilspie
After this is created we’ll create our custom configuration for the regular applications we launch. For example:
vim ~/.devilspie/firefox.ds
Paste in the following config to your new file:
(if
(is (application_name) "Firefox")
(begin
(set_workspace 2)
(maximize)
)
)
Basically what this is doing is watching for anything launched using the application_name “Firefox”, and give it the following features and options. It’ll load it on virtual desktop number 2 and set the window to maximize. Pretty basic, but so far this has been impossible in gnome. Of course if you’d like it to always load on virtual desktop 1,3,4, etc simply change the number to your preference.
Some more examples for common applications that I use listed below:
vim ~/.devilspie/thunderbird.ds
Paste in the following config to your new file:
(if
(is (application_name) "Thunderbird")
(begin
(set_workspace 3)
(maximize)
)
)
..or for beep-media-player to be on all desktops:
vim ~/.devilspie/bmp.ds
(if (is (application_name) "Beep Media Player") (pin))
…you get the idea. If you’d like to create your own custom rules create a new file in the .devilspie directory and create a debug.ds file. Within that file put:
(debug)
The next time you run devilspie it will read any of the files within .devilspie, which will now include this debugging option. You will see from the debug output the detected application_name of each currently running application. If you don’t know the proper name to use for creating your own rules you may want to use this debug option to help you along.
Persistence
Lastly I’m sure you’ll want these features to run all the time, so you’ll need to set the devilspie application to autostart. You may want to add devilspie to your “Applications > Preferences > Sessions”, which will make it start each time you log in, and read your created window customization options.
Troubleshooting
If you notice your rules don’t seem to be working try the following:
- Make sure devilspie is running (ps ef | grep devilspie, etc)
- Double check your application_name (or similar) via debug
- Double check your *.ds config file syntax
Enjoy. Please leave comments with customizations that you’ve made below. Considering the lack of documentation for this project a good list of examples would be great!
Jul
18
This tutorial is for those people that like to run gnome and KDE side by side. This will allow you to only show the native apps in the menus within each desktop environment instead of showing everything.
update: I wrote a script to automate this process. If you’d like to use that instead it is available below.
You can run the following commands to make gnome menu backups and KDE menu backups prior to making the changes, if you want to be safe.
mkdir -p ~/.menu-backup{gnome,kde}cp /usr/share/applications/* ~/.menu-backup/gnome
cp /usr/share/applications/kde/* ~/.menu-backup/kde
To update the menu listings then run (one continued line):
sudo -icd /usr/share/applications/ ; for i in *; do echo “ShowOnlyIn=GNOME” >> $i; done ; cd /usr/share/applications/kde/ ; for i in *; do echo “ShowOnlyIn=KDE” >> $i; done ; exit
The changes should take place immediately and you should now only see the native apps in each menu. Enjoy.
If everything seems to work the way you like you can delete the backup directories with the following commands:
rm -r ~/.menu-backup-gnomerm -r ~/.menu-backup-kde
I suppose I could write a small shell script to do the work for you.. would anyone prefer that? I got bored and wrote it.