Jan 232011
 

During a recent upgrade of the software I have installed on my work laptop, Macports managed to get a trifle confused during the process. Firstly Enlightenment suddenly started crashing at the drop of a hat, and secondly dbus suddenly started refusing connections and claiming that X11 support was not built-in.

The first problem I solved by comping Enlightenment (E16) from scratch and overwriting the Enlightenment installed from Macports – probably not the right thing to do. It turns out that the Macport version of Enlightenment is very outdated and could do with a refresh.

The second problem was a little trickier, and may have been solved in a slightly more Macport compatible manner. In fact this problem was two problems in one. First of all, any attempt to start a GNOME-based (or presumably anything wanting to talk to dbus) would give an error indicating that X11 support was missing.

I fixed this by recompiling dbus manually :-

# port mirror dbus
#   Gets a copy of the source code used to compile the source
# cd /opt/local/var/macports/distfiles/dbus
#   Change to directory where the source code is located
# gunzip -c dbus-1.2.24.tar.gz| tar tvf -
#   Unpack the source code
# cd dbus-1.2.24
#   Enter the directory that we've just unpacked.
# ./configure --prefix=/opt/local
#   Configure the package.

If you look at the last few lines of the output from this configuration process, you will see a message of the form “Building X11 code: yes” which is what we want to see – that X11 support is being built. At this point we can build and install :-

# make
# make install

The next problem was that attempting to use the automatically launched version of dbus resulted in a “permission denied” error when trying to communicate over the socket. The work-around for this turned out to be to :-

  1. To turn off the launchd control of dbus by renaming the files /Library/LaunchAgents/org.freedesktop/dbus-session.plist and /Library/LaunchDaemons/org.freedesktop/dbus-session.plist by putting a “.” in front of their name. This stops launchd from starting anything.
  2. Changing the .xinitrc to start dbus using the syntax eval $(dbus-launch –auto-syntax) (note that I explicitly ensure that this script is launched with zsh).
Dec 122010
 

I recently had cause to restart a virtual machine on my ESXi host, but my usual method of firing up my Windows 7 machine and using the graphical manager was unavailable.

Fortunately the relevant instructions were obtainable from the http://vm-help.com/ site …

Firstly log into the ESXi host itself (which you previously have to enable), and run :-

vim-cmd vmsvc/getallvms

To obtain a list of the current virtual machines. Find the one you want to restart and find the ID for it in the first column. Use this in the following commands :-

vim-cmd vmsvc/power.reboot ${vmid}

This requires the vmware tools installed on the virtual machine, and for the tools to be running (i.e. the virtual machine needs to be reasonably healthy). If this is not the case, you will need to do the equivalent of hitting the reset button :-

vim-cmd vmsvc/power.reset ${vmid}

And that’s it! A lot quicker than the GUI way, unless you happen to have that always running.

Sep 222010
 

I have been looking into a problem with my Macbook Pro for quite a while now – despite setting the preferred sleep mode with sudo pmset -a hibernatemode 1, the laptop refuses to go into hibernate mode. It doesn’t even go into hibernate mode when the battery runs down sufficiently that it should do.

This leads to a couple of problems :-

  1. On occasions, the battery runs down enough to loose all power meaning my laptop switches off, and all running programs are terminated.
  2. Also the laptop sometimes comes out of sleep mode in my backpack getting very hot in the process.

According to a comment on a blog posting, there may be an issue with Firefox preventing hibernation from working – why that should be, I haven’t the faintest idea. Despite seeming a touch unlikely, I gave it a go – quitting Firefox and then putting the laptop to sleep.

And it hibernates!

However it turns out that stopping Firefox doesn’t prevent my main machine from hibernating. After a long hunt and several experiments, it turns out that OSX will simply not hibernate to a disk that isn’t in the slot where the hard disk is. Or in other words, you cannot hibernate when your boot disk in an SSD in the ExpressCard slot.

Which strikes me as a bit … weird. I guess the fix for this would be a proper SSD in the hard disk slot and to move the hard disk elsewhere.

After having invested in an SSD and spent far too long forcing my tired old eyes to operate in my MBP, I can confirm that hibernation does work with any kind of disk in the right slot for the hard disk.

Feb 272010
 

One of the great things about OpenSolaris is that the archaic packaging tools have been replaced with something that looks like it may be a little better; one of the disadvantages is that trying to install packages from something like OpenCSW is a little awkward when the first command fails.

Given that I’ve just to hunt around for the details a second time, it is worth working up the basics into something that can be added here. Firstly we need to install the commands necessary to support the old packages :-

pkg install SUNWpkgcmds
pkg install SUNWwget

Now that has been done, it should be possible to install the OpenCSW package command using pkgadd :-

pkgadd -d http://www.opencsw.org/pkg_get.pkg