Categories
C/C++ Command Line Linux Programming Ubuntu

fatal error: curl/curl.h: No such file or directory | Ubuntu 12.04

fatal error: curl/curl.h: No such file or directory

If you’re missing the curl/curl.h header file, chances are you’re just missing the correct dev package file for the curl library.

sudo apt-get install libcurl4-gnutls-dev

That should fix it.

Categories
Command Line HowTo Linux Ubuntu

fatal error: libconfig.h: No such file or directory | Ubuntu 12.04

If you’re getting the following error:

fatal error: libconfig.h: No such file or directory

Then you’re probably missing the libconfig-dev package from your system. Simply run the following command and it’ll fix it:

sudo apt-get install libconfig-dev
Categories
Linux Ubuntu

gimp: error while loading shared libraries: libgegl-0.0.so.0: cannot open shared object file: No such file or directory

After upgrading from Ubuntu 11.10 to 12.04 I found gimp couldn’t access the shared libraries it needed, most likely an error with symbolic links as described by lovelyindia in this post.

Fix 1:

He managed to fix the issue by removing gimp and purging the offending libraries and then letting apt deal with the libraries when he re-installed gimp, as per the below commands:

sudo apt-get update 
sudo apt-get purge gimp libgegl* libbabl* 
sudo apt-get install gimp 
sudo apt-get clean

While this is likely to work for most people encountering this issue, it didn’t for me.

Fix 2:

Then I remembered I had used the repogen source list generator, in which I chose to include the gimp svn build. While you may not have gone about it the same way, you may also have a different repository in your sources.list file which is causing this issue, if the previous method did not resolve the issue.

In order to fix this, I had to open the sources.list file and comment out the offending repo.

sudo gedit /etc/apt/sources.list

Now search for any reference to gimp, in my case this was the lines I changed:

#### Gimp SVN - https://launchpad.net/~matthaeus123/+archive/mrw-gimp-svn
## Run this command: sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 405A15CB
deb http://ppa.launchpad.net/matthaeus123/mrw-gimp-svn/ubuntu precise main

I commented out the line linking to the repo by adding a ‘#’ to the front, as below:

#### Gimp SVN - https://launchpad.net/~matthaeus123/+archive/mrw-gimp-svn
## Run this command: sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 405A15CB
# deb http://ppa.launchpad.net/matthaeus123/mrw-gimp-svn/ubuntu precise main

I then uninstalled gimp, once I knew it may have been the newly added repository that I had added:

sudo apt-get purge gimp

Then I saved and exited the file and updated apt:

sudo apt-get update

I then re-installed gimp:

sudo apt-get install gimp

This solved the issue for me, I hope this helps!

Categories
Blog Command Line Featured Linux

10 Command Line Tricks I Wish I’d Always Known

One thing that Linux Guru’s and Terminal Wizards often argue is that it’s way quicker to use the command line to do anything in Linux than it is through menus and what not. While the jury is still out on this, there are a lot of things they know which do help put the ball in their court which can often take a lot of time exploring the terminal to discover. I’ve compiled a list of my favourite commands and tricks that I think that would have saved me a bunch of time if I’d been aware of them when I first ventured in to Linux.

1. Repeat Recent Commands:

Let’s say you’ve just ran a command but forgot you needed to run it as sudo, you can use !! to repeat it with the additional sudo at the beginning, as below:

alex:~$ apt-get install package
alex:~$ sudo !!
sudo apt-get install package

Additionally you’re able to use this to go back further than the last command by replacing the second ! for -n (where n is the number of commands ago you want to repeat).

alex:~$ ls
alex:~$ cd dir
alex:~$ cat file
alex:~$ !-3
ls

How about if you want to reuse the arguments from the last command but not the command itself, well it can do that too:

alex:~$ ls /home/alex/Desktop
alex:~$ cd !*
cd /home/alex/Desktop

2. Replace String In Last Command:

The use of the following command allows you to repeat the last command but replacing a string within it, useful if you made a mistake or typo. The follow example shows correcting a path for a change directory command.

alex:~$ cd /this/dir/is/wrong
alex:~$ ^wrong^right^
cd /this/dir/is/right

3. Reset:

Chances are, you’ll come across a situation where you’ve seemingly borked a terminal. Maybe you used cat on the wrong file or a program tried to export some strange characters which changed the settings. The following command should get you back to a fresh terminal quickly and you can often run it even when you don’t think you can. If the screen is really borked, try hitting enter before hand, typing reset and hitting enter again.

alex:~$ reset

4. Running A Command In The Background:

Adding an & after the command you run allows you to continue to use the terminal screen while keeping the process running. Below shows an example of opening gedit in the background but allowing me to continue using the terminal for other commands. Great for editing and compiling code with the minimal number of terminals open.

alex:~$ gedit &

Once ran it’ll give you the process ID which allows you to kill it easily once you’re done with it.

5. Exiting A Terminal & Keeping Background Processes Running:

If you’ve opened a bunch of processes in the background (as per previous command) but now you want to close the terminal screen but not these processes you can use the following to release the ownership of the processes and exit.

alex:~$ disown -a && exit

6. htop:

Similar to ‘top’ (which allows you to view tasks in real-time with other useful info such as memory and CPU usage) but it’s displayed in a much easier to understand and interactive. It allows you to kill tasks without entering its PID, search, filter, sort and a bunch of other features.

alex:~$ htop

7. Reverse History Search:

Ctrl + r

Using this will allow you to start typing and it’ll find the last command that contained the string you’re typing, hitting enter will execute that command. For example:

alex:~$ cd /home/alex/this/is/a/dir
ctrl+r & typing "a/dir"
(reverse-i-search)`': cd /home/alex/this/is/a/dir

8. Piping (Combining) Commands:

Piping commands allows you to pass the data that would usually be outputted to be directly passed as an input to another command, for example below is a list command being passed in to the less command to allow for scrolling of the data. This will work for most commands and experimentation is the best form of learning in this case.

alex:~$ ls | less

9. Auto Complete Command & File Names:

Half way through typing a command you can hit the Tab key and it’ll auto complete the word for you, if there are more than one other possible combinations a double tap of it will show you the possibilities. This also works for directory and files and can save some serious typing time.

10. Other useful Keyboard Shortcuts:

A few other keyboard shortcuts that are also useful to know (and not always as obvious as they should be):

Ctrl + c – kill current process
Ctrl + z – put current process in to the background
Ctrl + l – clear the terminal
Ctrl + a – set cursor to the start of the line
Ctrl + e – set cursor to the end of the line
Ctrl + shift + c – copy
Ctrl + shift + c – paste

Categories
Command Line Linux Ubuntu

Ubuntu 12.04 – Removing conflicting operating system files…

If you’re trying out the latest version of Ubuntu, 12.04 or Precise Pangolin and you want to keep your old /home partition, chances are you’ve come across the installation hanging on a process “Removing conflicting operating system files…”. No worries, this seems to be a common bug and there’s a pretty easy work around.

Continue with the installation, without asking for the /home partition to be mounted. Only set the root partition (/) and your swap space.

Once the installation is complete, reboot and load it up.

Now, you’ll want to find the partition that /home is mounted under, this will likely be /dev/sdxN, where x is the drive letter and N is the partition number (i.e mine is located under /dev/sda5).

If you’re unsure, you can list the possible drives using the following command:

ls /dev/ | grep sd

And then you can mount each drive under in a temp directory and check what’s in there:

mkdir temp
mount /dev/sda1 temp

Once you know which partition you want, it’s time to edit your /etc/fstab/

sudo gedit /etc/fstab

For those who don’t go digging around in the config files of linux, this may look pretty daunting, but it isn’t. All you really need to do is add a new line to mount your home partition. Here’s mine:

/dev/sda5	/home/		ext4	defaults	1	2

The first part is the partition that’s being used, next what the partition is. Next is the file system type. Followed by default options and then the dump and pass values.

Once you’ve saved this file with the appended line, reboot your system. Now you should find your old home partition is mounted normally and you can get on with your install.

Categories
Command Line Linux Ubuntu

Ubuntu 12.04 – Moving The Windows Buttons Back To The Right.

Those pesky windows buttons (maximise, minimise and close) default to the left of the menu bar after a new Ubuntu installations, and it’s been happening since 10.04. Most people, like myself, are stuck in our ways and just want them back where they belong. It’s pretty easy to do this, just open up a terminal (ctrl+alt+t) and copy in the following:

gconftool -s /apps/metacity/general/button_layout -t string menu:minimize,maximize,close

Once you hit enter, you should see the buttons return to their rightful place on the right, also in the right order.

Categories
Featured Linux Ubuntu

Toggle Touchpad With Keyboard Shortcut in Ubuntu

Install Jupiter

Instructions for Ubuntu 11.10, 11.04, 10.10, 10.04: http://www.webupd8.org/2011/09/jupiter-applet-finally-available-for.html

sudo add-apt-repository ppa:webupd8team/jupiter 
sudo apt-get update 
sudo apt-get install jupiter

Jupiter comes with a useful script to disable and re-enable the touchpad/track pad, it can be ran using the following command:

sudo /usr/lib/jupiter/scripts/touchpad

Now all you’ll need to do is add this command to a keyboard shortcut, below are instructions for several desktop environments.


In xfce:

Applications > Settings > Settings Manager

Click Keyboard

Click on the “Applications Shortcuts” tab.

Click Add:

Here you will be promped with a new window asking for the command you wish to run, enter the following:

sudo /usr/lib/jupiter/scripts/touchpad

Click OK and it will now ask for a keyboard shortcut. Simply press the key combination you want to assign to disabling the touchpad (for example, I used Alt+F1) the keys you’re pressing will show up and the window will close.

You’ll now see the command and shortcut in the list and you can now press that key combo to disable the trackpad and press it again to re-enable it.


In Gnome:

In Unity:

bish bash bosh.

Categories
Command Line Linux Ubuntu

Ubuntu 11.10 Proxy Settings

Temporary proxy:

Where proxy.addr is the proxy address, 4040 is the port number. Some proxies may require “http://” before the address.

export http_proxy="proxy.addr:4040"
export ftp_proxy="proxy.addr:4040"
export https_proxy="proxy.addr:4040"

If you run this in a terminal, any programs opened from that terminal will adhere to the proxy you set but any other applications will not. This makes it useful if you just want to launch a browser for a quick browsing session but don’t need the whole system to access the internet.

If you do need your entire system to access the network, you can add these to the bottom of “~/.bashrc” this will enable any new programs running and the whole system (after a restart) to use the settings. Essentially ~/.bashrc are commands run when a terminal is opened.

NOTE: If you do this, when you remove them your machine will likely need a restart to undo the changes.


Proxy with login

If your proxy server requires a login, this is an addition of the above however the syntax is as follows:

user:pass@proxy.addr:4040

APT Proxy:

APT (used for system updates) has its own proxy settings, which seem to ignore the above settings.

Where nano is the editor, if you prefer use a graphical one such as gedit, kedit etc.

sudo nano /etc/apt/apt.conf.d/02proxy

add:

Acquire::http::Proxy "http://proxy.addr:4040";

Source : http://naveenubuntu.blogspot.com/2011/09/updating-packages-behind-prxy-in-ubuntu.html

Categories
Linux Ubuntu

HP Pavilion dm1 (E-450/HD 6320) and Ubuntu 11.10

Wireless (BMC4313) Drivers:

There seems to be some issues with the current range of broadcom drivers, there are several options and some barely work and give very poor wireless signal and flaky connections.

Check you wireless card
lspci | grep Broadcom

Output:

03:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)
Installation:

There are two options here:

Option 1

You should also be able to use the drivers in Additional Drivers, the “Broadcom STA proprietary wireless driver”, however before doing this you need to run these commands to install the required headers and tools as it seems this step was missed out:

sudo apt-get install build-essential linux-headers-generic
sudo apt-get build-dep linux

To check to see if you have this directory do this:

ls /lib/modules/`uname -r`/build

Now go to Settings > Additional Drivers and simply click install on the “Broadcom STA proprietary wireless driver”, reboot and you should experience much better wireless signal and connection stability.

Option 2

If this doesn’t work for you un-install those drivers and download the source drivers and build them from source and this works well, these can be found here: http://www.broadcom.com/support/802.11/linux_sta.php.

 


Graphics (HD 6320) Drivers:
Installation:

These can be found in Settings > Additional Drivers.

Install and reboot.

NOTE: This driver doesn’t account for sound over HDMI, the sound will continue to come out of the speakers. I’m looking in to a fix for this.

Fixing the “AMD Ubsupported hardware” Watermark:

You’ll probably now notice a watermark at the bottom right hand of the screen, reading “AMD Ubsupported hardware”. While the drivers are working away, they seem to think it’s unsupported. You can either remove the propriotry drivers and use the open source version. Or you can run the following script (found here) to remove it:

[gist][/gist]

To run, either right click and save as on the link to “view raw” or copy and paste in to a file and save the file as “fixwatermark.sh”

Make executable:

chmod +x fixwatermark.sh

Run:

sudo ./fixwatermark.sh

(Thanks to Andy pointing out in his comment, this needs to be run as root (I’ve added the sudo above).
Reboot your system and the driver will still be running but the watermark will be removed.

Categories
Linux Ubuntu

AL lib: pulseaudio.c:331: PulseAudio returned minreq > tlength/2; expect break up – Ubuntu 11.10

./blender
connect failed: No such file or directory
ndof: spacenavd not found
AL lib: pulseaudio.c:331: PulseAudio returned minreq > tlength/2; expect break up
Floating point exception

Download and install the associated package to your processor from here : https://launchpad.net/ubuntu/oneiric/+package/python-openal

Restart your computer and the issue should now be resolved.