Showing posts with label Xubuntu. Show all posts
Showing posts with label Xubuntu. Show all posts

Thursday, January 15, 2009

Easy Remote Linux Logins with FreeNX

With my having to fuss with networks at school and having a couple of machines at home, there have been a few instances where being able to remotely log into another machine has been a significant convenience. There aren’t many options out there unless you want to pay money:

  • RDP (aka Windows Terminal Services) – Free only for the client. As far as my limited experience has been, this is quite nice, fast, and it even supports audio. The only problem is that the licensing is quite draconian and it only is available on the server editions of Windows or a pay-for version for *NIX.
  • X11 – X was designed for network-transparent sessions. The only problem is that it’s not secure and setting it up over SSH is a pain.
  • VNC – Lots of good things here – free servers and clients for just about any platform you can think of and setup is pretty easy in most cases. The problem? It’s a bandwidth hog.

Enter the Italian company NoMachine, which offers its commercial NX Server for remote access under for Linux and its ilk with open source libraries. These libraries implement the NX protocol, which is more or less a way to both secure and speed up remote login connections.

As far as my experience has taken me, it hasn’t seen anywhere near the popularity that VNC has. I find this strange – VNC tends to be slow – even with compression – and is not secure on its own. It can also be a little weird to set up sometimes, as was the case for me setting up UltraVNC on a Windows box at school yesterday.

Perhaps it’s just me, but FreeNX deserves more limelight than it has received, if my setup experience from earlier today is any measure. Part of the ease of installation was thanks to http://www.drtek.ca. The main part of the site seems to be in French, but one page was both in French and English. Compliments of its author, I received listings for the repositories that I needed and was able to install the server with one command. Because NoMachine offers NX clients for both Windows, Linux, OS X, and Solaris, I went to NoMachine’s download page and grabbed the Windows and Linux versions. Just to test to see if things worked, I installed the Linux client on the server machine and tried to log into a regular terminal login and it worked – a little too easily for Linux, in my opinion. I tried a GNOME login from my windows box with the same results. I’ve come to accept the amount of tweaking that Linux requires in most cases, so when it just seemed to work, I was a little suspicious, but everything works as expected.

For a short summary, here’s the entire install process:

  1. Open up /etc/apt/sources.list and add the following lines to the end:

    # Ubuntu FreeNX Repository for Hardy
    deb http://ppa.launchpad.net/marceloshima/ubuntu hardy main
    deb-src http://ppa.launchpad.net/marceloshima/ubuntu hardy main
    deb http://ppa.launchpad.net/freenx-team/ubuntu hardy main
    deb-src http://ppa.launchpad.net/freenx-team/ubuntu hardy main

    # Ubuntu FreeNX Repository for Intrepid
    deb http://ppa.launchpad.net/marceloshima/ubuntu intrepid main
    deb-src http://ppa.launchpad.net/marceloshima/ubuntu intrepid main
    deb http://ppa.launchpad.net/freenx-team/ubuntu intrepid main
    deb-src http://ppa.launchpad.net/freenx-team/ubuntu intrepid main

  2. Update the list of packages kept on your machine by hitting Reload in Synaptic or sudo apt-get update from the Terminal
  3. Install the freenx-server package, either from Synaptic or from the Terminal using sudo apt-get install freenx-server .
  4. Grab the necessary clients from NoMachine’s download page and install on the machine of your choice.
  5. Marvel at the lack of work required.

There is still the ability to tweak the configuration until the Second Coming of Christ, as is typical of Linux, but this is only needed if you want remote printing (which I haven’t tried… yet), sound, or certain other things like setting up a remote login cluster or something. If you just want to be able to log in, you’re done. Ain’t that nice.

Sunday, March 2, 2008

Well, here goes nothing

I've been off the BeOS / Haiku radar for some months now. I still am not officially active in it anymore, but that doesn't mean that I don't keep thinking about Haiku or coming up with ideas that could make it better. Computers are still quite an active part of my life, but finding time to do anything that I used to classify as "productive" is a difficult proposition right now -- mostly limited to the weekends. I've decided to start a blog which is still Haiku-oriented, but not limited to Haiku or even necessarily computers in general. Yep, this is my own little, relatively-insignificant corner of the Web.

To start things off with some actually useful content, I'll start with a project I've been twiddling with for the last couple of weeks that has actually increased my productivity under Linux somewhat. You might have heard of a person who made Xubuntu look like Windows Vista and then later, OS X Leopard. Well, that got me to thinking about how it could possibly help something that I'd done: work on designing the 3D-accelerated desktop experience for Haiku R2. The experimenting led somewhere, and I can't say that I didn't learn anything, either.

Xfce 4 is Really Tweakable

I've heard it mentioned that the Xfce desktop environment that Xubuntu is based on is quite configurable. I'll agree with that. I could have done most of this stuff in GNOME, but if you asked me, Xfce is like a good compromise between GNOME and KDE after going on a diet. The big thing was the panel. Originally, I thought that completely getting rid of the Deskbar was the way to go. I was wrong. Instead, what really needs to happen is expand its capabilities to enhance the desktop's needs. The panel concept common to Xfce, GNOME, and KDE fits the bill: small, useful widgets which are useful, but not visually distracting.

Believe it or not, the panel was quite carefully thought-out. First of all, it is in the bottom left corner to allow people to keep a habit from Windows: throw the mouse to the bottom left corner and click to open the main menu. It also allows the user to develop habits for other items in the panel because it only grows in one direction.

Beside the main menu is a visual separation between it and the next section... Places. One thing that this feature is missing is Tracker's filesystem menu. A proper Places item for Haiku would utilize Tracker's filesystem navigation menus or an appropriate replacement. It should be divided into two sections and the bottom section is dedicated to the Recent [Documents / Applications / Folders] menus, user bookmarks, and for a menu item to allow the user to edit the bookmarks.

The fast launcher sits beside Places. In the screenshot, there is just FireFox, but obviously, there could easily be others. The weather applet is just there for fun, and the timer is for helping me maintain good computing habits and stave off RSI issues. The CPU graph is good feedback for the user in knowing how hard the computer is working, and the clock.... well, no one likes to have to look down at their watch. ;-)

One other tweak that only the more perceptive readers would notice is the bigger icon sizes. By default, Xfce uses some tiny icon size for its menus. I think it's 16 pixels, but it might be 20. My computer is runs at a resolution of 1280 x 1024. At that resolution, it's hard to navigate the menu because of the small size. While I have experimented with as large as 32 pixels, 24 seems to be much easier for higher resolutions. Even the largest menu (Settings) doesn't take up more than about 75% of the vertical screen size. Perhaps there should be something about a possible method for computing menu item size based on screen resolution, so that people with smaller screens don't have massive menu items, but better equipped computers don't require users to have the coordination of a 3D-shooter tournament champion in order to run a program.

Compiz Fusion...Meh

The main driving force behind the 3D desktop on Linux is the whole Compiz / Beryl thing. I have a hard time following the different soap opera that go on, but Fusion is the result of the reuniting of the efforts of the Beryl and Compiz teams. Their efforts are promising, but at the moment, buggy enough to not be useful on the desktop at the moment.

Some of the desktop effects, such as painting on the screen with fire, are just novelties, but some have the capacity to be really helpful. They're not overly complicated, either. Here's a list of the desktop effects that I put into place:

Desktop Wall: This adds a slide transition when switching workspaces and additionally shows the location in the workspace grid along with the direction travelled. This is really helpful for keeping context for power users.

Expo: A keypress zooms out to see a live overview of all workspaces. If a movie is playing -- you guessed it -- you could theoretically watch it from this overview. You can select a new workspace just by clicking on one or using the arrow keys and Enter. This would make a good workspace switcher for more novice users.

Show Desktop: This plugin is a direct copy of the same feature in OS X. Quite helpful, especially when you have applications minimized to the desktop.

Animations: A multi-effect plugin. Even though there are some neat ones, most of them are more distracting than helpful. A few were nice to have to provide additional feedback on the actions of a particular window -- a curved fold on close (window folds in on itself and disappears), a fade effect when a window is brought to the front of the stack, and some zooming effects for minimizing and opening windows.

Window Snapping: This is also called Edge Resistance, originally named "Snap and Go" and mentioned in my 3D Desktop RFC.

Application Switcher / Ring Switcher / Shift Switcher: These were plugins for different methods of changing between open applications. Application Switcher was the easiest for me to use, but the others could be valid alternatives.

The only feature that I couldn't properly test was Minimize in Place because the Shelf plugin is not currently stable. However, Xfce's window manager has a mode where all minimized apps show up as icons on the desktop. Almost as good.

Just for fun I changed the background, icons, main menu icon, and splash to be Haiku-themed. I only wish that I could've had all the 3D-Accelerated goodness with a BeOS-related window decorator. KDE does have a BeOS-like one, but it's ugly and no amount of tweaking that I did made it look decent... only less ugly. Xfce has a very good one, but, sadly, it can't be converted to a metacity theme and there isn't a decorator plugin for compiz that works with xfwm's themes, though I wish there were.

Was it Worth It?

I'd say yes. While Windows XP is my primary OS out of necessity and being the path of least resistance, after all that tweaking, I found that I preferred to work in Linux because of all the extra niceness. It's difficult to describe in words, but the extra effects impart a feel-good kind of quality that makes working somewhat more enjoyable -- kind of like the difference between a regular just-for-going-to-work beater of a car and the same car with a Bose sound system and leather seats: not absolutely necessary, but it makes the experience nicer. If anyone would be interested in trying this out, too, I probably could post the config files or at least the "recipe" for proper tweaking and the media files.