International keyboard settings
To make you keyboard have the accents working for Brazilian Portuguese on Ubuntu in the proper way that Brazilians are used to, you need to add a second Keyboard Layout which uses the English (US, alternative international) language. In Ubuntu 12 or later, that's all you need to do, but folder older versions a hack is required to fix the cedilla.
Debian & Pre Ubuntu 12
On versions of Ubuntu before 12, a hack is required to get the cedilla working. Apostrophe then "C" makes a "ć", which doesn't even exist in Portuguese! It should give the c-cedilla (ç). To fix this final problem you need to edit the gtk.immodules (this is in different locations on different distros and versions, sometimes it's in /usr/lib/gtk-2.0/2.10.0/, but if not just find or locate it) configuration file with root privileges. Here's where I found it on my Debian 7 installation:
Then find the line that configures the cedilla and add an "en" option to the end so it looks like this:
A restart will be required before the change takes effect, and your cedilla's should be working properly :-)
Linux Mint
On Ĺinux Mint this solution doesn't work because that file doesn't exist, but searching for the word "cedilla" in all files yields the the same line in the file called /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache and making the change there seems to fix the problem, the only worry is that the file ends in .cache which kind if implies that it could get rebuilt at some point and remove your changes.