Posts Tagged ‘terminal’

Caja is a great file-manager, but one unfortunate limitation is that you can’t customise the toolbar in the Preferences dialogue, like you can in Nemo (though it’s worth noting that you’re very limited in the buttons you can add in Nemo). However, you can in fact add new buttons to Caja’s toolbar, and a whole bunch of them at that, as well as reorder the buttons, and remove unwanted ones, and I’ll show you how. So just click on the links below, and soon you’ll be populating your toolbar with all the handy buttons you could need!

Copy, Cut & Paste

Create New Folder

“Open New Tab” & “Open New Window”

Open Trash, Move to Trash, Delete & Empty Trash

Undo & Redo

File/Folder Properties

“Open in Terminal” Button?

The Open in Terminal context-menu option is provided by the extension caja-open-terminal (which also gets installed with the caja-extensions package), so you cannot add a toolbar button for it (as it’s not built into Caja). However, I have an even better solution: open the terminal in the current folder with the F4 key!

Network Locations

Clear History

Add Bookmark

“Preferences”, “Templates”, “Backgrounds and Emblems”& “Rename”

See also:

Add/Remove Separators & Reorder/Remove Buttons


Read Full Post »

The Caja extension caja-open-terminal for opening a terminal with its path being the current folder is a must for most users. While you don’t even need this extension to achieve this (check my tutorial on how to achieve this with a script and have the terminal open with the F4 key!), for many of you being able to right-click inside a folder and click Open in Terminal is easy and vital.

But if you’ve changed icon themes a bit, you may have noticed that the one icon that doesn’t change is the one for Open in Terminal. While it’s not a huge deal, if it kind of annoys you, and you’d just rather have an icon of your choice for this, then keep reading.

Choosing a Replacement Icon

Ideally the icon should be 16x16px, but using a larger one will actually work, so no need to resize it. But if you’ve found a larger terminal icon that looks great, note that it might not look so hot when it’s shrunk down to that size in the menu. So keeping it fairly simple will probably give the best results, and if you’ve got a bunch of icon themes installed, you can do a search through the parent folder for “terminal” to see if there are 16px icons to your liking. And if you found the perfect icon but it’s an SVG vector, not a PNG file, don’t worry – just rename the extension to .png and it will work! That bottom icon in the image, the magenta inside a silver frame, is an SVG image, but as you can see it worked just fine.

Changing the Icon

If you look in /usr/share/caja/extensions the file libcaja-open-terminal.caja-extension mentions Icon=terminal at the top, but your current theme may not even have terminal.png or terminal.svg in it. It turns out it’s actually in Gnome’s default gnome icon theme, with the icon being in /usr/share/icons/gnome/16×16/apps, and terminal.png is actually a symbolic link to utilities-terminal.png in the same folder.

So open up that folder as administrator with:

gksu caja /usr/share/icons/gnome/16x16/apps

Now rename your replacement icon to utilities-terminal.png and drag it into the folder, and OK the overwriting of the original file. Now just run caja -q to quit Caja – you will need to manually close the folder opened as administrator – and when you restart Caja, your new icon will be in the context-menu, as well as Caja’s File menu.


The tutorial above is TOTALLY FREE, and I hope you found it useful! But if this information really made your day, because it rescued you from hours of headache, or allowed you to accomplish something you thought was impossible, then please consider making a donation via PayPal, to buy me a donut, beer, or pizza for my time and effort! Many thanks in advance!

Buy Ubuntu Genius a Beer to say Thanks!

Read Full Post »

One option that most Linux users find invaluable is being able to open a terminal pointing to the current folder, and while file-managers like Nautilus, Nemo and Caja don’t ship with that by default, it’s easily installed with a plugin or extension: nautilus-open-terminal, nemo-terminal and, in the case of Caja, caja-open-terminal (which also gets installed with the caja-extensions package).

While in Nautilus the only way to access that is via a right-click, in Nemo you can actually add a button for it to the toolbar. I couldn’t find a way to add an Open in Terminal button to Caja’s toolbar, likely because it is provided by an extension, not built into Caja, so I wanted to see if I could create a keyboard shortcut for it. But it seems there is a general issue with Caja extensions being that they cannot set keyboard shortcuts for their menu items, because libcaja-extension doesn’t provide this ability.

But you can get around this with a script, and you don’t even need to have caja-open-terminal installed, as long as caja-actions is installed (run sudo apt-get install caja-actions if it isn’t). And the best part is you can even assign an accelerator (keyboard shortcut or hotkey) to it. For me, hitting the F4 key is quicker and easier than clicking a toolbar button, so I’ll show you how to create the script and assign a hotkey to it. Note that you can use another function key, or assign a key-combo, as long as it isn’t already being used for another task, but the F4 is a great choice, as it isn’t already used by Caja or the system.

Creating the “Open Terminal Here” Script

When it comes to creating scripts, most guides out there err on the side of caution and instruct you to create file-names all in lower-case, and with dashes replacing spaces, like open-terminal-here, but there is absolutely no reason for this – your scripts will work just fine with names like Open Terminal Here, and will look nicer in the Scripts sub-menu:

Create a text file called Open Terminal Here for the script in ~/.config/caja/scripts/ with:

pluma ~/.config/caja/"Open Terminal Here"

Paste the following code into it:

# This script opens a mate-terminal window in the current directory.
# Note that you need to have caja-actions installed to use scripts.

exec mate-terminal

If you want to use another terminal, then replace mate-terminal with gnome-terminal (which is my personal preference), xfce-terminal, konsole, or other terminal of your choice. Save the file, then make it executable with:

chmod +x ~/.config/caja/scripts/"Open Terminal Here"

Before continuing, you need to totally quit Caja, as it will keep overwriting the next file you’ll be adding the shortcut key to; and because Caja is always running in the background in MATE, instead of the usual caja -q, you need to run:

pkill -KILL caja

Assigning the Hotkey for the Script

Then to edit Caja’s “accelerators” file, run:

pluma ~/.config/caja/accels

Your new script should have been automatically added to the accels file, so look for the following line (USER will actually be your username in lower-case):

; (gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sUSER\\s.config\\scaja\\sscripts\\sOpen%20Terminal%20Here" "")

First, delete the semi-colon and space at the beginning of the line, then add the shortcut key in between the quotes at the end, so it looks like:

(gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sUSER\\s.config\\scaja\\sscripts\\sOpen%20Terminal%20Here" "F4")

Save the file and close it, open Caja, and now the F4 key will open a terminal with its path being the current folder.

The Keyboard Shortcut Not Working?

If you found it almost impossible to edit the accels file (like what happened to me) because something keeps trying to write to it, and Pluma keeps wanting to reload the file, it’s because Caja is being obstinate, and is still running in the background. While killing Caja before editing accels works fine for most people, with the hotkey immediately working, you might need to get more aggressive with Caja, so check out the Successfully Editing ACCELS tutorial to see how I got around this annoyance.


The tutorial above is TOTALLY FREE, and I hope you found it useful! But if this information really made your day, because it rescued you from hours of headache, or allowed you to accomplish something you thought was impossible, then please consider making a donation via PayPal, to buy me a donut, beer, or pizza for my time and effort! Many thanks in advance!

Buy Ubuntu Genius a Beer to say Thanks!

Read Full Post »

If you’ve installed a program for working with specific file types, you might find that Ubuntu‘s file manager Nautilus has no idea about it when you right-click a file and go to Open With, where a list of alternative programs to the default are presented. While in most cases that new app will be found when you choose Other Application… from the context menu, sometimes this isn’t the case.

Back in Gnome 2.x, if the program wasn’t listed, you could choose to add a custom application, which let you specify the command manually. However, this is no longer the case, but there should be another way to rectify this (see also the command-line interface method at the bottom).

In this example, we’ll look at getting Nautilus to recognise PDF Editor (pdfedit) as a viable program when right-clicking PDF documents, since the file manager doesn’t know it exists, and one can no longer just specify pdfedit as a custom command (at least via the GUI).

While you could be forgiven for thinking you’d need to hack a list of applications (for example, ~/.local/share/applications/mimeapps.list), the answer in fact lies in editing the .desktop file of the newly-installed program, and simply inserting three characters into it. Basically, this will allow Nautilus to add it to its context menu (actually, it specifies that the application can be passed a filename, which is what is missing).

All you need is the actual command that runs the program (e.g. pdfedit for PDF Editor), and you should be able to guess the .desktop file’s name (e.g. pdfedit.desktop), and open it for editing with the following command (replacing pdfedit with the appropriate name in your case):

gksudo gedit /usr/share/applications/pdfedit.desktop

(Note that the .desktop files should be in /usr/share/applications, but if not will be in ~/.local/share/applications, so change the path accordingly if you need to. Also, if you cannot correctly guess the .desktop file’s name, you can get the correct name by going to the folder and browsing for it).

[Desktop Entry]
Name=PDF Editor
Comment=PDF Editor

Find the Exec= line and you will see the command listed after it. Simply go to the end of the line, hit the spacebar, and add %f, so the line looks like:

Exec=pdfedit %f

(Once again, substitute your command’s name for pdfedit).

Simply save the file when exiting, and you shouldn’t even need to restart Nautilus, let alone log out or totally reboot. You should immediately see the desired program in the list of apps presented in Other Application…, and once you open a file with it, the app should be easily accessible in the list of secondary programs found in Open With.

If you want to make that program the new default for opening the particular filetype, you can now right-click one, choose Properties, go to the Open With tab, click on the app under Recommended Applications, and click the Set as default button.

CLI Method to Change Application & Set Default:

You can easily open a file with another application using the mimeopen command in the terminal. However, if the program isn’t already in the list of recommended applications, you’ll need to make it the default for that filetype first. Simply open a terminal in the folder where the file is and run a command like the following (substituting Recipes.pdf with the appropriate filename and filetype):

mimeopen -d Recipes.pdf

Please choose a default application for files of type application/pdf

1) GIMP Image Editor (gimp)
2) Adobe Reader 9 (AdobeReader)
3) Document Viewer (evince)
4) Other…

use application #4
use command: pdfedit

Simply choose the number that corresponds to Other… (in this case it’s 4), then type the command of the program after use command: (you probably won’t need to specify the path, but if it doesn’t work without it, it should be something like /usr/bin/pdfedit).

After that, you can switch default applications quite easily with the above command, or use the --ask option to just open the file in the desired app without changing the default (note there is no option to choose Other…, which is why you have to use the -d switch first):

mimeopen --ask Recipes.pdf

Please choose an application

1) pdfedit (pdfedit-usercreated-2)
2) GIMP Image Editor (gimp)
3) Adobe Reader 9 (AdobeReader)
4) Document Viewer (evince)

use application #


That’s it – hopefully with either of the methods you’re not cursing Nautilus any more, and have more control of your filetypes than your file manager currently provides.


Did this information make your day? Did it rescue you from hours of headache? Then please consider making a donation via PayPal, to buy me a donut, beer, or some fish’n’chips for my time and effort! Many thanks!

Buy Ubuntu Genius a Beer to say Thanks!

Read Full Post »

PDF (Portable Document Format) documents are a handy way to present text and images to others knowing they’ll look the same no matter what word processor or operating system they use. Basically, they’re a snapshot of a document, so saving images from them can be a hassle, even if your viewer lets you right-click them and save them as files. There are a few programs around that can do this for you, but it’s actually much easier and faster doing this from the command-line.

The pdfimages command is part of poppler-utils, which should already be installed on your system (sudo apt-get install poppler-utils in the terminal if it isn’t). To extract the images from a PDF, just open a terminal in the folder with the document, and run a command like the following:

pdfimages -j Cool-Pix-of-2011.pdf cool2011

Note that when extracting from files with spaces in the name, you will need to enclose the filename in single quotes. Eg:

pdfimages -j 'Cool Pix of 2011.pdf' cool2011

The text at the end of the command is what each extracted image will begin with, so the resulting filenames will be cool2011-000.jpg onwards (note that numbering starts at 000, not 001). Once again, if you’d prefer to have spaces in the target names, for example to mirror the name of the original PDF, then enclose that in single quotes too (eg: 'Cool Pix of 2011 ' – note the space at the end, just to provide a bit more separation between '2011' and the hyphen preceding the automatic numbering; this is of course optional, and you can pretty much do what you want). Eg:

pdfimages -j 'Cool Pix of 2011.pdf' 'Cool Pix of 2011 '

Your pictures will now be extracted into the folder with names starting with Cool Pix of 2011 -000.jpg.

Also, the -j option is to save the images in the .jpg format, otherwise they will be saved in .ppm (Portable Pixmap) format, with each file being over a megabyte. This can mean, for example, that an 18Mb document with 120 images can extract to 154Mb of files, whereas exporting them as .jpg ends up with a total of 18Mb, just like the original document. Of course, if you’d prefer to save them as .ppm images, simply leave out the -j option.

If you would like to include the page numbering in the file names, add the -p option. Eg:

pdfimages -j -p 'Cool Pix of 2011.pdf' 'Cool Pix of 2011 '

Lastly, don’t worry if you see the following in the terminal for each image being extracted:

Error (18468081): Missing ‘endstream’
Error: Unknown operator ‘endstream’
Error: Unknown operator ‘endobj’

You shouldn’t see that with every PDF you try to extract from, but even when you do you should find the target images have been created without issue.

Extra Notes:

For more options for this command, run pdfimages -?. For example, you can specify a start and end page, but personally I find it easier to just extract the whole document and delete any images I don’t want afterwards. But if you need to specify a password, you will find the option here.


Did this information make your day? Did it rescue you from hours of headache? Then please consider making a donation via PayPal, to buy me a donut, beer, or some fish’n’chips for my time and effort! Many thanks!

Buy Ubuntu Genius a Beer to say Thanks!

Read Full Post »

If you’ve attached an external hard drive to your system, then decided to use your partitioner to format it to EXT4 for greater efficiency (or just to match your Ubuntu system), you may have been shocked to find that your empty drive seemed to be missing a few gigabytes when mounted afterwards. And this has nothing to do with the good old binary (base-8) vs decimal (base-10) situation which would see your “750Gb” drive be more like 700Gb (in Windows and earlier versions of Ubuntu – now Mac OS X and Ubuntu have followed hardware manufacturers and use decimal, so that’s more like 738Gb).

This is because Ubuntu (and other Linux distributions) reserve typically around 5% of the space for the root user and system services, so should you run out of hard drive space, the administrator can still log in, and system services continue to run.

However, this is only really needed for your Ubuntu partition, so if you have an external EXT4 drive, or have an EXT4 partition on your internal drive (other than the one your system is on), you are needlessly wasting space (40Gb of the drive in the example). But you can free up that disk space quite easily, without having to re-partition the drive or anything. All it takes is a couple of commands pasted into the terminal.

In the following example, an external hard-drive will have the reserve set to 0 (zero), since this is what most people will need this for. First, we have to determine the device name, as using its mounted name – /media/700Gb Ext4 – won’t suffice. To do so, enter the following into the terminal:

mount|grep ^'/dev'

Look for the line containing your device:

/dev/sdc1 on /media/700Gb Ext4 type ext4 (rw,nosuid,nodev,uhelper=udisks)

… and you can see what it is named (/dev/sdc1 in this case). To free up reserved space, enter the following (replacing /dev/sdc1 with whatever the appropriate device name is, if need be – just make sure you don’t do it to your main drive!):

sudo tune2fs -m 0 /dev/sdc1

You should then be presented with the following message:

Setting reserved blocks percentage to 0% (0 blocks)

To confirm all has gone well, you can right-click an empty area of the folder window for the device and choose Properties, then compare the free space from before and after, or run the following command (once again replacing the device name with the correct one in your case):

sudo tune2fs -l /dev/sdc1 | grep 'Reserved block count'

You should be greeted with the following:

Reserved block count: 0

That’s it – you now have all of your drive to use.


Note: if you receive the following error message:

tune2fs: Bad magic number in super-block while trying to open /dev/sdb1
Couldn’t find valid filesystem superblock.

… then the filesystem likely isn’t EXT4 – chances are the drive is actually formatted as NTFS or FAT for use on Windows systems (which would be the case if you’ve bought an external drive, and never did anything other than copy files to it). You would have needed to partition/format the drive to EXT4, so if you didn’t, then you actually don’t need this guide.


Did this information make your day? Did it rescue you from hours of headache? Then please consider making a donation via PayPal, to buy me a donut, beer, or some fish’n’chips for my time and effort! Many thanks!

Buy Ubuntu Genius a Beer to say Thanks!

Read Full Post »

If you find yourself trying to figure out which package contains a certain command, or any other file for that matter, apt-file is a command that will make this easy. It probably won’t be installed by default, so do so with this command:

sudo apt-get install apt-file

You will then be presented with the message:

The system-wide cache is empty. You may want to run ‘apt-file update’ as root to update the cache. You can also run ‘apt-file update’ as normal user to use a cache in the user’s home directory.

It’s probably best to run the former option (that is, as superuser), so enter the following:

sudo apt-file update

Let it update the cache, then you can search for the command or package or file. Simply use apt-file search followed by whatever it is you’re looking for. For example, we’ll search for the command ccsm, which is what runs the Compiz-Config Settings Manager, as there is no actual package of that name:

apt-file search ccsm

You might find the list presented is quite long, so it may pay to set your terminal to unlimited scrolling beforehand. In the case of the example, the line we’re looking for:

compizconfig-settings-manager: /usr/bin/ccsm

is not visible, since it is right near the top, which is beyond scrolling. If this happens to you, edit your terminal settings and run the command again.

Generally speaking, if it’s a command/program, then the line that has /usr/bin/ followed by the command (like ccsm) will be the correct one. The actual package that contains it will be listed at the beginning, in this case being compizconfig-settings-manager.

Remember, this can work with other types of files too, so if you’re looking for a specific config file or icon or whatever, just specify that at the end of the command. Eg:

apt-file search ccsm.desktop

Hopefully this is all you need to find that elusive file, or the package that installs a program you’re after.


Did this information make your day? Did it rescue you from hours of headache? Then please consider making a donation via PayPal, to buy me a donut, beer, or some fish’n’chips for my time and effort! Many thanks!

Buy Ubuntu Genius a Beer to say Thanks!

Read Full Post »

At times when using the terminal, the output from a command can be so long, you simply can’t scroll to the beginning, as it is no longer in view. But you can actually set the terminal to display as many lines as you like, or even set it to unlimited scrolling.

In the terminal, go to Edit > Profile Preferences, and in the Scrolling tab you will see there is a default amount of lines to be displayed (probably something like 512). If you have an older computer and are worried about memory, you can up the amount to 2000 or thereabouts, as that should suffice, otherwise the best option is to place no limit on the amount of lines displayed. Under that, you will see “Unlimited“, so check that, and from the next command onwards you won’t have that limitation any more.

Various terminals available might differ as to where to change that setting (like a Settings menu, or Edit > Preferences or Tools > Settings), but they all should have it, and you should find it easy enough.


Did this information make your day? Did it rescue you from hours of headache? Then please consider making a donation via PayPal, to buy me a donut, beer, or some fish’n’chips for my time and effort! Many thanks!

Buy Ubuntu Genius a Beer to say Thanks!

Read Full Post »

If you’re new to Ubuntu using 11.10 upwards, you might be scratching your head when you see people mention they’re using Gnome Shell instead of Unity, or even the “Classic Desktop“. Or if you’ve been using Ubuntu but decided to do a fresh install, you’ll find there is not only no “Ubuntu Classic” option at login, but no Gnome at all.

This is because the decision was made to drop Gnome as it moved from the familiar 2.x to Gnome 3, since Ubuntu and Unity are built on it anyway. The logic is that should people need a less resource-hungry environment for slower computers, they can log into Unity 2D instead. But while Unity is gaining fans, and most certainly will gain many more as development continues and we see a flood of plugins and customisation apps, some of us want to play with the new and shiny Gnome Shell, or just to get our old Gnome Classic desktop back.

Now, it’s actually easy to get either or both, but while I’ve seen in forums that installing Gnome Shell will also install the legacy “Classic” desktop, this isn’t true (though it makes sense people might assume that). That’s because while the meta-package gnome is installed, gnome-shell isn’t part of it, but a separate package. Likewise the “Classic” desktop doesn’t come in either gnome or gnome shell, but as exists as the package gnome-session-fallback (which also installs a 2D version).

So, you can pick either, or have both, and it’s as simple as pasting a command or two in the terminal. If planning to have both, you may as well install Gnome Shell first, though it shouldn’t really matter.

To install Gnome Shell: sudo apt-get install gnome-shell

To install Gnome Classic: sudo apt-get install gnome-session-fallback

Once installed, you should be able to just log out and log back in to one of your new desktops, but if not, then do a reboot. Then you can log into Gnome Shell at the login screen by choosing “GNOME“, or the more familiar legacy desktop by choosing “GNOME Classic” (or “GNOME Classic (No Effects)” for less powerful computers or graphics card issues).

If you can’t find where to log into other environments, it’s always a hidden menu you need to access, previously by the word Options at the bottom of the screen, but in 11.10 is a gear icon near the user name; in following versions, that will no doubt change, but just look for something to click on and you’ll find it. Obviously, if you’ve set your login option to be automatic, meaning you never see the login screen but end up straight at the desktop, then you’ll need to change that in order to be able to change between the different window managers.


Related Tip: How to Log Into Ubuntu Classic Desktop or Gnome Shell Instead of Unity


Did this information make your day? Did it rescue you from hours of headache? Then please consider making a donation via PayPal, to buy me a donut, beer, or some fish’n’chips for my time and effort! Many thanks!

Buy Ubuntu Genius a Beer to say Thanks!

Read Full Post »

Older Posts »