Until recently I was a long time user of SCIM, and then, at around the same time I noticed that the Ubuntu Desktop default was IBUS, and that SCIM was on it's way out.
Getting SCIM to work has always been somewhat dodgy, and I am happy to say that IBUS is less so.
I recently discovered that there is a native Linux QQ chat client, but published by a Chinese company and apparently(?) not Open Source. For a long time I have run Skype on my machine despite the fact that it is not Open Source, and it's bad reputation for security. But an application published by a Government-controlled Chinese company is more then I can tolerate, so I am running my QQ in a Debian VM, where I also eventually intend to exile Skype and others of its ilk.
This is an absolutely minimal VM running only fluxbox. To get Simplified Chinese input going I:
apt-get install ibus ibus-pinyin ttf-arphic-ukaiThen I ran im-config as root to select IBUS as the system master input method. And then ibus-setup as my normal user to turn on the "Chinese Pinyin" input method. I believe I restarted X somewhere along the way, and after that Ctrl-Space had me typing Chinese.
Complicated because this is a RightScale image with multiple partitions, so resize2fs did not work the first time per.
Pick the image you want to resize (this one has an 8G root volume):
$ ec2-describe-images ami-e00df089 IMAGE ami-e00df089 944964708905/rightimage_debian_6.0.1_amd64_20110406.1_ebs 944964708905 available public x86_64 machine aki-4e7d9527 ebs paravirtual xen BLOCKDEVICEMAPPING /dev/sda snap-b62f31da 8
Start a server up with a 25G volume instead:
$ ec2-run-instances -t t1.micro --key clayton --block-device-mapping /dev/sda=:25 ami-e00df089
Log in and see (in part):
# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda2 5.0G 1.2G 3.6G 24% /
Here is where things get funky, as "resize2fs /dev/xvda2" will not work per  because there are two other partitions: xvda1 is /boot and xvda3 is swap.  to the rescue. Hoping that it is the swap partition that is in the way, I got rid of it and rebuilt the partition table as follows: deleting partitions 2 and 3, creating a new partition 2 (accepting the defaults) and then writing the new partition to disk(w):
# fdisk /dev/xvda d 2 d 3 n p 2 w
Do not forget to remove the swap line from /etc/fstab, and reboot. Now:
# resize2fs /dev/xvda2
works! And all is well. Now, as we have done before, create a new image to save our work:
SNAPSHOT snap-697ad00b vol-e41af089 pending
Once the snapshot is finished:
ec2-register -a x86_64 -b '/dev/sda=snap-697ad00b:25:false' -n 'Squeeze_64' -d '64 bit Squeeze' --kernel="aki-4e7d9527"
As it turns out there seem to be a number of candidates out there, none of them apparently packaged for Debian, most or all of them Java-based. I picked one that seemed to have a bit of history and advertising more then one developer: SQuirrel SQL
Squirrel SQL is kind enough to at least provide an RPM for download, which is convertable to a .deb using the alien package, and thence installable with "dpkg -i", ie. (as root):
dpkg -i squirrel-sql_3.2.1-2_all.deb
will install Squirrel, and finally start it up. Unfortunately this RPM seems to be missing all of its database drivers. I found one on the MicroSoft site, where I downloaded sqljdbc_3.0.1301.101_enu.tar.gz and unpacked it in /opt/SQuirreLSQLClient/plugins/.
After this you will find two .jar files in /opt/SQuirreLSQLClient/plugins/sqljdbc_3.0/enu. In the Squirrel SQL GUI, go to Windows --> View Drivers, then right-click on "Microsoft MSSQL Server JDBC Driver" and select "Modify Driver". Then click on the "Extra Class Path" tab, and "Add" those two sqljdbc .jar files.
Click on OK, and "Microsoft MSSQL Server JDBC Driver" should now have a check mark beside it. Click on Windows --> View Aliases then the + button to add your server connection information, which should be quite straight-forward with the possible exception of the URL field: there you need to put real values in fields demarked by <...>.
This reference was MOST helpful:
apt-get install sqsh freetds-bin freetds-common
Edit /etc/freetds/freetds.conf and add something like this to the end:
[MServer] host = msuckserver port = 1433 tds version = 8.0
Edit ~/.sqshrc to contain this:
\set username=msqlloginname \set password=msqlloginpassword \set database=msqldbname \set style=vert
For the case of only one database, it seems to be sufficient to delete the above database=msqldbname line from ~/.sqshrc. And then connect as follows:
sqsh -SMServerFiguring out what to do next is a bit tricky. This will get the list of tables:
sp_tables;And this will get the table contents:
select * from tablename;
I seem to always be looking this stuff up. Time to right it down.
Especially if you work at the command line a lot, it seems frighteningly easy to accidentally terminate the wrong server. Not any more:
For termination prevention:
ec2-modify-instance-attribute i-57e64936 --disable-api-termination true
And to re-enable termination:
ec2-modify-instance-attribute i-57e64936 --disable-api-termination false
Note that a termination-protected server can still be stopped and started, it is just the totally destructive "termination" that is locked out.