News aggregator

Martin Wimpress: Microsoft Office 2010 on Arch Linux and Ubuntu

Planet HantsLUG - Tue, 29/01/2013 - 17:16

We have a mix of Linux and Windows users at work. My department use Linux and the rest of the business use Windows. We been running a mixture of LibreOffice and Microsoft Office, which works pretty well until you start trying to collaborate, then it gets messy pretty quickly.

So, it was decided at the end of last year to migrate everyone, including the Linux users, to Microsoft Office 2010.

What follows is an installation guide for Wine and the 60 day trial version of Office Home and Business 2010 on Arch Linux and Ubuntu. Most of this information was sourced from the Wine AppDB

Install Wine on Ubuntu as follows.

sudo apt-add-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo apt-get install ttf-mscorefonts-installer samba wine1.5 wine-gecko1.8 wine-mono

For 64-bit also install the following.

sudo apt-get install ia32-libs

Install Wine on Arch Linux as follows.

sudo pacman -S --needed icoutils libwbclient samba wine wine_gecko sudo packer -S --noedit --noconfirm ttf-ms-fonts wine-mono-bin

For 64-bit also install the following.

sudo packer -S --noedit --noconfirm lib32-libwbclient

Once Wine is install, installing Office 2010 is the same for Arch Linux and Ubuntu.

Create a clean wine prefix.

export WINEPREFIX="${HOME}/.msoffice2010" export WINEARCH="win32" winecfg

Click the Libraries tab, select riched20 and click Add. The default entry should read riched20 (native, builtin). Click Apply, then click OK. This will ensure that PowerPoint starts and selection boxes display correctly.

Start the Office 2010 setup. In the example below X17-75058.exe is the name of the 60 day trial version of Office Home and Business 2010 I downloaded.

wine X17-75058.exe

Follow the installation wizard, we are only interested in running the essentials, Word, Excel and PowerPoint. This is what I selected during the install.

  • Enter your serial number.
  • Leave ticked Attempt to automatically activate my product online.
  • Click Continue
  • Tick I accept the terms of this agreement
  • Click Continue
  • Click Customise
    • Microsoft Access (Trial) [Not Available]
    • Microsoft Excel [Run all from My Computer]
    • Microsoft OneNote [Not Available]
    • Microsoft Outlook [Not Available]
    • Microsoft PowerPoint [Run all from My Computer]
    • Microsoft Publisher (Trial) [Not Available]
    • Microsoft Visio Viewer [Run from My Computer]
    • Microsoft Word [Run all from My Computer]
    • Office Shared Features [Defaults]
    • Office Tools [Defaults]
  • Click Instal Now.
  • Click Close.

That's it. Office 2010 is installed and should be associated with the appropriate file types.

Uninstalling Office 2010

Should you ever need to, you can uninstall Office 2010 as follows.

rm -rfv ${HOME}/.msoffice2010/ rm -rfv ~/.local/share/applications/wine-extension-* rm -rfv ~/.local/share/applications/wine/Programs/Microsoft\ Office/

Here are some observations of running Office 2010 under Wine.

  • Alway install Office 2010 into it's own WINEPREFIX. You are less likely to run into problem that way.
  • Online updates do not work. Fortunately, the trial installer has SP1 integrated.
  • If you purchase Office 2010 licenses you can still use the trial installer with your purchased license key(s).
  • We did try a trial of CrossOver 12-12-12. However, it wouldn't activate the install.
Categories: LUG Community Blogs

Jono Bacon: This Week’s Ubuntu Q&A

Planet WolvesLUG - Mon, 28/01/2013 - 21:55

This week’s live video Q&A is in the normal time slot of every Wednesday at 7pm UTC (click here for the time in your location this week).

As ever, you are welcome to ask me absolutely anything about Ubuntu, Free Software, Community Management, Technology, or anything else. The only questions I don’t accept are tech support questions – Ask Ubuntu, IRC and the Ubuntu Forums are better resources for that.

To join, head over to Ubuntu On Air at 7pm UTC on Wednesday and you can ask your questions in the embedded chat box.

Look forward to seeing you all there!

Categories: LUG Community Blogs

Tony Whitmore: Cat and Kian

Planet HantsLUG - Mon, 28/01/2013 - 21:51

When I went into Cat and Kian’s kitchen, one of the first things I noticed was an OggCamp mug. Although they hadn’t attended that summer’s event, Cat and Kian move in similarly geeky circles to me and the redoubtable Les Pounder had sold them the mug at another event.

There was definitely a geeky theme to the wedding too. Guests were given their own Lego figurine to assemble as favours, and, as Cat and Kian had met after a late night at a Terry Pratchett convention, the tables were named after the Discworld novels. The wedding even had its own Twitter hashtag.

Cat and Kian were married at Bolton School, Lancashire. It was a pleasure to travel up north from Hampshire to photograph their wedding. Bolton School is one of the oldest schools in Lancashire, with grand wooden interiors and stone courtyards. The ceremony and reception were both in the Arts Centre, itself an impressive building with exposed beams. We were able to use the grand cloisters and gardens for photographs.

Cat’s dress had striking red panels and detailed embroidery was topped off with a delicate shawl Cat had knitted herself. Cat and Kian were almost inseparable during our photo session.

If you’re interested, you can see more of Cat and Kian’s wedding.

Pin It
Categories: LUG Community Blogs

Richard WM Jones: rich

Planet GLLUG - Mon, 28/01/2013 - 19:00

After some discussion upstream (mostly on IRC I’m sad to say), I have pushed a patch to use GCC’s __attribute__((cleanup)) extension (also supported by LLVM, but not by anything else).

This attribute causes a destructor to run automatically when a variable goes out of scope. In libguestfs we’ve added some CLEANUP_* macros to make things a little bit simpler, so I’m going to use those macros in these examples:

{ CLEANUP_FREE char *buf = NULL; ... if (asprintf (&buf, "%s/%s", tmpdir, filename) == -1) { reply_with_perror ("asprintf"); return -1; } ... return 0; }

The CLEANUP_FREE macro ensures that the equivalent of free (buf) is called on every exit path from the scope where the variable ‘buf’ is defined, which means on every return, but also on other exits such as goto or falling off the end.

For most functions, this may save a line or two. Occasionally it can make functions a lot simpler. Compare before:

static char * icon_windows_xp (guestfs_h *g, struct inspect_fs *fs, size_t *size_r) { char *filename = NULL; char *filename_case = NULL; char *filename_downloaded = NULL; char *pngfile = NULL; char *ret; struct command *cmd; int r; /* Download %systemroot%\explorer.exe */ filename = safe_asprintf (g, "%s/explorer.exe", fs->windows_systemroot); filename_case = guestfs___case_sensitive_path_silently (g, filename); if (filename_case == NULL) goto not_found; filename_downloaded = guestfs___download_to_tmp (g, fs, filename_case, "explorer.exe", MAX_WINDOWS_EXPLORER_SIZE); if (filename_downloaded == NULL) goto not_found; pngfile = safe_asprintf (g, "%s/windows-xp-icon.png", g->tmpdir); /*...*/ if (r == -1) goto error; if (!WIFEXITED (r) || WEXITSTATUS (r) != 0) goto not_found; if (read_whole_file (g, pngfile, &ret, size_r) == -1) goto error; free (filename); free (filename_case); free (filename_downloaded); free (pngfile); return ret; error: free (filename); free (filename_case); free (filename_downloaded); free (pngfile); return NULL; not_found: free (filename); free (filename_case); free (filename_downloaded); free (pngfile); return NOT_FOUND; }

and after:

static char * icon_windows_xp (guestfs_h *g, struct inspect_fs *fs, size_t *size_r) { CLEANUP_FREE char *filename = NULL; CLEANUP_FREE char *filename_case = NULL; CLEANUP_FREE char *filename_downloaded = NULL; CLEANUP_FREE char *pngfile = NULL; char *ret; struct command *cmd; int r; /* Download %systemroot%\explorer.exe */ filename = safe_asprintf (g, "%s/explorer.exe", fs->windows_systemroot); filename_case = guestfs___case_sensitive_path_silently (g, filename); if (filename_case == NULL) return NOT_FOUND; filename_downloaded = guestfs___download_to_tmp (g, fs, filename_case, "explorer.exe", MAX_WINDOWS_EXPLORER_SIZE); if (filename_downloaded == NULL) return NOT_FOUND; pngfile = safe_asprintf (g, "%s/windows-xp-icon.png", g->tmpdir); /*...*/ if (r == -1) return NULL; if (!WIFEXITED (r) || WEXITSTATUS (r) != 0) return NOT_FOUND; if (read_whole_file (g, pngfile, &ret, size_r) == -1) return NULL; return ret; }

It’s not all good news though. It’s almost certainly less efficient: a function call is made on every exit path, even ones which you could prove are irrelevant.

It may make the code more obscure, particularly for people who aren’t used to this feature.

It won’t work at all on non-GCC non-LLVM compilers, although I don’t think that is relevant to libguestfs.

There is some scope for error, especially double-freeing or accidentally freeing buffers which are returned from the function.


Categories: LUG Community Blogs

Andrew Savory: Getting vmware tools to work on ubuntu: apt-get in…

Planet ALUG - Mon, 28/01/2013 - 13:30

Getting vmware tools to work on ubuntu:
apt-get install build-essential linux-headers-`uname -r` psmisc

Categories: LUG Community Blogs

HacknTalk – March Event

Planet SurreyLUG - Mon, 28/01/2013 - 12:25
One thing about me is I love to orgnaise anything, be it room, books, tops, filing or conferences, to me this is in fact oddly relaxing.  Yes i appreciate I am rather alone in this thinking. However, I missed organising events so have started up a new venture.  It’s called HacknTalk, a one day event [...]
Categories: LUG Community Blogs

Dean Wilson: Prettier Puppet with Pocco

Planet GLLUG - Sun, 27/01/2013 - 12:10
Back in October Nan Liu announced "pocco - a puppet manifest documentation experiment" as a way of generating much nicer looking documentation for puppet classes (you can see an example and reducing the amount of boilerplate needed to document your classes.

After some issues with the ruby libraries it depends on, I ran it over a couple of my smaller manifests and I have to say the output is very readable and quite presentable. If you write manifests for other peoples use then this is well worth a look.

Categories: LUG Community Blogs
Syndicate content