Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
GNOME GUI

Run Gnome -- On Windows 188

Charles Northrup (followed by many others) writes: "After a long battle with the POSIX.DLL from AT&T's U/WIN, we finally have recompiled over 4 million lines of code for the Gnome Desktop running on Windows. We had to change just under 100 lines to do this. Amazingly, the recompilation of Gnome only took 1.5 weeks. Then we had to spend the next 3 months working on the 47,000 line POSIX.DLL to get Gnome working." Here are some screenshots of this odd hybrid, pointed to by reader dimator. (Northrup invites e-mailed comments and questions, too.) And jumbolo points out the discussion about this at The GNOME Project's Gnotices site.
This discussion has been archived. No new comments can be posted.

Run Gnome -- On Windows

Comments Filter:
  • by Anonymous Coward
    I would very much like to develop Open Source programs which would compile on Windows too. Is the Windows GUI (more specifically the Xlibs equivalent) closed or what is preventing people from developing a free GUI toolkit for the Windows?
  • by Anonymous Coward
    I love the irony of this...
    Gnome has been accused of mimicking windows,
    and now they are ported it into ms-land.

    anyways, I've put up a quick mirror here:
    http://www.image.dk/~freak/gnome4windoze

    cheers !
  • by Anonymous Coward
    start x-win32 on your win32 box. ssh or telnet to your linux box. export DISPLAY=10.0.0.1:0.0 (substitute your windows box ip in place of 10.0.0.1) then type gnome-session. Takes less then 1 min.
  • by Pete Bevin ( 291 ) on Saturday December 09, 2000 @05:54AM (#570502) Homepage
    Remember, this isn't a native port to the win32 platform. You'll need an X11 server on your Windows machine - and that's what does all the hard work.
  • Heh? No, the menu bar has nothing to do with X. X doesn't handle menu bars. Widget sets handle menu bars. X's design has nothing to do with menu bars. This is a Good Thing (tm).

    Anyhow, yeah, us Unix types would largely rather use the keyboard than the mouse. Takes longer to learn, but we get stuff done faster. You have something wrong with that?
  • What kind of video card do you have?

    I used to have those issues. Then I bought a Voodoo 3.
  • I work at a Linux company. Nobody in engineering uses anything but linux. Nobody.

    On the other hand, management, sales, marketing and the like use Windows. This is a Bad Thing(tm) because it looks bad for us -- customers come in and see our salespeople giving PowerPoint presentations on our Windows boxen about why we should support their (embedded) linux development.

    We care a lot about migrating those managers to Linux. Right now we're using Win4Lin to provide that path -- but my point is, for us, the need is there.
  • It's a separate thing from this UWIN layer, but coding against straight GTK (without GNOME) and using the Win32 GTK port permits one to make Real Win32 Apps (tm). I've actually done a few that way -- only taken on average a few hours to port and work out the bugs. Not sure what it would take to combine that with this UWIN-based GNOME port.
  • Actualy, on the cygwin website there is a link to the binaries for X-4.0.something. Cygwin has a great web based installation these days (before noted on slashdot). I use Xemacs, compiled for cygwin, but such standard things as printing and font selection are missing.

    I remember posting a picture on #debian of my friends desktop, running gimp, windowblinds, an xterm and other programs (including windows explorer which was the final dead give away) in a mac-looking environment.

    The perl story is interesting, since we are an all Java shop, we actualy had to turn to perl for true crossplatform work. We also run out CVS server on NT (which CVSNT has a cool feature that handles authentication overr the NT domain!) that runs pretty well.

    If I can't use Linux, this is all the next best thing.
  • In case it isn't a joke:

    1.5 week to port Gnome to UWIN (i.e. make the necessary changes to Gnome to make it compile under UWIN).

    3 month to port UWIN to Gnome (i.e. make the necessary changes to posix.dll to make it actually run the (newly compiled) Gnome).
  • by Per Abrahamsen ( 1397 ) on Saturday December 09, 2000 @06:19AM (#570509) Homepage
    Cygwin being GPL'ed and comming from one of large Gnome supporters would seem to be more "politically correct". Is UWIN techincally superior?
  • by Per Abrahamsen ( 1397 ) on Saturday December 09, 2000 @11:17AM (#570510) Homepage
    > If you come from NT, the graphics performance of
    > X is scary.

    When NT was nerd, a fellow nerd tried to show me how much faster it was than X. He took an NT application, moved the cursor back and forward over the menubar, and noticed how NT had no trouble drawing and removing the menus as fast as he could move the mouse. He then took an X11/Motif application, and moved the mouse over the menu bar. You could actually *see* the application draw the menus.

    I was confused, because I had never seen X be that slow, but then again, I mostly uses xterm and Emacs. So I took Emacs, moved the mouse back and forward over the menubar (which I rarely use) and Emacs had no trouble at all drawing and removing the menus as fast as I could move the mouse.

    The difference was that Emacs by default uses its own Xt based toolkit, rather than using Motif.

    The morale is, despite being network transparant, X11 itself is not slow. However some of the toolkits are pure disasters.

    Unless Gtk+ is as bad as Motif, it is unlikely that the performance alone will scare users away. The difference in Look&Feel are much more likely sources for nebie angst.

    Of course, the issue is somewhat convoluted by the fact that X11 servers under Win often are much slower than "bare metal" X11 servers. I use an old version of Exceed, which is acceptable for text and GUI controls, but very slow for displaying images.
  • Erm, if programmers did this, you'd be connecting to a PDP-11 right now through a serial terminal.
  • When you only have to change 100 lines to get it to work under Windows (though, admittedly, on top of an abstraction layer) it says, or should say, "Look, our code really IS portable...and hey, it's portable from Linux to Windows!"

    One has to wonder what's so damned difficult about an IE5 recompile for Linux/BSD/UN*X machines. ;-)
  • "if Linux and Open Source is ever going to win over MS (which is what /. posters at large often cite they want to do) than our focus must be on creating "value" rather than "cool" projects if we are going to win."

    You seem to be applying the feelings of a few /. readers to the general public. The general public, I daresay, just thinks, "make my email work" or such similar statements. They don't care about Free Software/Open Source ideology. They don't care what OS is under the hood. They want a system that runs somewhat smoothly and that they don't have to mess with.

    IMHO it's The Press(TM) who's tried to set community policy--we've helped identify Microsoft as the Evil Choice and Linux as the L33t Hax0rs and now we want you to take over! Now mainstream press expects unpaid, volunteer programmers, instead of producing software they WANT to produce, to produce the replacement for Microsoft Word. Sorry, guys; thanks for playing. If you really want to see it happen, support efforts like the Gnome Foundation, KDE League, and other efforts to produce end-user software. Let the for-fun developers do their for-fun projects. :-) If all you do is bitch and moan about someone doing a for-fun project, hell, I see no reason to develop *anything* for you. You're not paying me, I'm not making any money off of your usage of my software, and you don't seem to appreciate my work. Go away, please, and I'll just develop my for-fun software for myself and not release it. (Come to think of it, that's what I do and why I do it. :-( )
  • Check Cygnus [redhat.com] for XFree for Win32. Apparently it only works on NT, ME, and 2K at the moment.
  • If anyone manages to replace an entire operating system, capable of running on a humble 8088, with a Unix shell... THAT would be unbelievable.
  • What's next? Linux distributions that will run on a fat32 partition?

    ::WWWWolf tries hard not to vomit when thinking of people who thought UMSDOS filesystem was a Good Feature::

    A win32 binary of emacs?

    Oh, I've seen XEmacs running quite effortlessly under Windows... =)

  • by maynard ( 3337 ) on Saturday December 09, 2000 @06:39AM (#570517) Journal
    Look, as soon as the CYGWIN folks release XFree 4.0 for Windows (which they're about to do), Windows folks will have a high quality free X server available. From there it's a simple jump to Gnome and KDE applications on Windows. That's the migration path.

    A large IT shop can't afford to simply dump Windows and move their entire userbase to Linux in one fell swoop. There's training costs to consider, application testing for internal conformity within the organization, plus security and productivity issues. If you're managing several hundred to a thousand desktops you can't afford to segment off a department just to try out a new OS, nor can you afford to just move everyone in enmasse given the potential risks involved; what if it doesn't work? You need a migration path whereby both systems can be tested and either junked in case of failure. Successful IT shops plan for failure otherwise they experience failure.

    Microsoft has done a good job at killing off potential migration paths away from Windows by either buying up competitors or squashing them with anti-competitive means. See: Netscape. This is a major threat to Windows because within a year or two it will allow an IT manager the possibility to deploy GNOME and its applications on the desktop and test them without being dependent on their success. Combine this with OpenOffice and Gnome-1.4/2.0 and the Free Software community will have provided a safe migration path off of Windows. Most IT organizations are risk averse, but they're not stupid about unnecessary expense. If they can get away from the Windows tax without affecting productivity, watch the world dump Windows.

    Cheers,
    J. Maynard Gelinas
  • by Dr. Evil ( 3501 ) on Saturday December 09, 2000 @06:06AM (#570518)

    If you teach people Gnome applications on Windows, you can then slip the OS out from under them without complaint.

    Personally, I think the requirement to have an X server is terribly flawed... but then I hate this "desktop war" too. I bet they'll eventually be able to do it without relying on Exceed. Ethereal is a Gnome app and it works o.k. on Win32 without one. (http://www.ethereal.com/ [ethereal.com])

    If you're using an X server why not just run X over the network?

  • People (well, this person at least) aren't annoyed at the Lotes Notes interface just because it's different, but because it's also bad.
    --
  • Nothing is preventing it. The correct Win32 api is called GDI and is well documented in older Windows programming books. Newer books do not talk about it because MicroSoft is very interested in stopping any such portable libraries and running MFC everywhere, but since they need to run older programs the interface remains.

    It is so similar in capabilities to Xlib that I really am suprised that fewer toolkits are not ported. A large number of calls have 1:1 correspondence. The biggest problem is that their event model sucks, while Xlib's fonts suck, requiring a portable kit to use the worst of each.

  • Actually, most widget sets in X also create a separate window for each widget (button, menu, ...). I'm pretty sure Xt, Motif, GTK+, and Qt all use windows for most widgets. I recall that Xt/Motif called windowless widgets gadgets instead of widgets, but they were rarely used.
  • While running Gnome on Windows is a novelty -- you probably won't find a lot of apps that will make it worthwhile.

    I know this is a technology demo, but you still have to ask yourself what could you do with such a setup? Most Windows X display servers do not support everything you'd get on Linux. It's been a while since I ran X on Windows, but a lot of apps had wierd repaints, and other subtle misbehaviours. While this is minor, other problems exist such as the desktop... you can't exactly discard the MS Toolbar (Start button) for the ole Gnome foot.

    What WOULD be cool is if this could run without Windows... just run it on top of DOS, like Windows 3.1 did (and Windows 98 still does, though it's deliberately more difficult to run a non MS DOS 7 underneath the GUI).

    Why run this on DOS when you could use Linux? DOS is simpler to install, runs on very old hardware (286's), and while lacking memory protection and multitasking... DOS was rather stable. Many older NT admins cut their teeth on DOS (course, the new ones think a system log is mouse turd behind the rackmount).

    Anyone try this in Windows under VMWare? Heh.
  • Actually, this is probably more due to the priority you are giving your X server. I reniced my X server, window manager, and panel to -20 and got _really_ nice results.
  • after starting X, do

    ps eafx

    look for PIDs with the names "panel", "X", and "sawfish"

    then, su to root, and for each PID, do

    renice -20 PID

    replacing PID with the process's actual PID.
  • Why bother? Because it's there. Because someone got an itch and decided to scratch it real good. Because if it's stable it'll be a good way to get some Windows users used to the L&F and features of Gnome without needing Linux installed first.

    Just because.

    (BTW, telling someone their pet project is stupid is guaranteed to get you ignored or worse, especially if you're not the one funding it.)

    Even having read ./ for the past several years, it still amazes me that people can get so upset about something that affects them in exactly zero ways. Be calm, no one is going to break into your house and force you at gunpoint to install this thing. You don't have to use it.
  • Thank You for Your truly insightful advice, O Wise Ruler of All Things Technical.

    Surely this proves You are best suited to decree what projects should and should not be completed -- how can the community remain blind to that fact? For You are the One True DevGod, and Your omniscience is staggering.

    If it pleases You, tell us what other pointless activities are we mere mortals wasting our time chasing? Enlighten us, O Master of Project Management!

    [sarcasm mode off. - a hint for all the numbnuts who won't otherwise understand the point of this post]
  • GNOME is not a good reason to switch to Linux, period. Neither is KDE, neither is any window manager or X-windows desktop environment. They all suck compared to Windows. That is not where Linux ecxells, and it never will be unless someone with an incredibly large Usability & Design team donates a shitload of time, money, and efforts to make an X-windows Desktop Environment that duplicates the visual appeal and *PRODUCTIVITY* of Windows.
    • _____

    • ToiletDuk (58% Slashdot Pure)
  • Whatever. Whenever I close workman, the tasklist_applet just "goes away". I ended up adding a button down there to restart it, otherwise I can't bring my windows back once I've minimized them.

    --Joe
    --
    Program Intellivision! [schells.com]
  • On my windows machine, I really dislike explorer.

    I also dislike Explorer in my computer. I'd rather have it in me [vinsprit.se]. (Not high-profile like Absolut [absolut.com], but just as good, and cheaper.)
  • Actually most of GNOME should use Glib rather than the standard libraries. Since Glib is already ported to Windows it should make porting GNOME a lot easier.
  • by cjn ( 8665 )
    The whole point of doing this is to show that you can select aix/bsd/linux/solaris/unix systems as the primary development platform and still target the windows market. While a kernel develop may not necessarily care, an application developer should.

    There is no doubt that linux is great! We have about 12 different releases here, and we use them.
    We also use BSD.

    But I am really tired of the notion that commercial shops, needing to maintain a high ROI, must select windows as the development platform of choice, at the expense of the Unix base market.

    Porting code from Win32 to Unix is a nightmare. Yes, there are tools available, but they are expensive and they let you maintain your Win32 API.

    I want to write unix based applications, and not have to rewrite them for Windows. It is just too expensive to maintain multiple code branches. The cost of duplicating design, development, maintenance, and support is high enough that many companies will develop exclusive for only one OS market segment.

    Why did we select GNOME? Mostly because it was there. We could have ported KDE just as easily (I hope:)

    We also ported many of the other applications, such as gnucash, which does not need gnome to run.
    In fact, most of the applications included can run without the GNOME desktop even being started.
    It was more the point of software portability.

    I have posted more info about the X11 off of our download page. Hopefully, the Cygwin X11 server will be available soon, and it can be used instead.

    As for U/WIN itself being a commercial application, the answer is, yes it is. And yes, we do sell it. However, you can download it from the AT&T Research site under the research or educational license, and there is no fee.

    The effort to compile the GNOME code did take 1.5 weeks. A fair portion of that was just trying to find the right source code. The supporting environment (i.e., glade, gtk, swig, and others) were easy to port as well. It was also nice to see gnu-cash port so easily.

    Tools such as gnumeric did not port because we could not get the header files straight. Specifically this relates to the font headers.

    The package I really wanted to port was screem. We had problems with the callbacks and signals. Hopefully we can get that straightend out.

    --charlie northrup

    PS. We are a very small company and have been working with u/win for about 2 years now. Early adaptors had mixed success. For quite awhile, we were going through the release of the day. This was troublesom. When u/win 2.2 baseline came about, we forked the code from the AT&T release so that we could work on the terminal line drivers, while David and his team worked on other areas. We are now working to integrate all those changes.
  • U/WIN does not include an X11 server. There are multiple choices here, though for open source servers, and commercial servers. If somebody can provide an open source version, we will gladly point to it, or even host the project from our site.

    --charlie northrup
  • This first release should be viewed as a beta release. To run, simply start a kornshell console window, and then type in:
    $ gnome-session

    You will need the X11 server running. For test purposes, we linked the commercial X11 server to:
    /usr/X11/bin/X

    So we first run
    $ X &

    and then start gnome-session.

    The U/WIN code is a win32 application providing the console screen. From the kornshell prompt, you can type in any of the supported commands, or, start win32 applications.

    One thing that was pretty cool was being able to type in the pathname for the netscape.exe from the gmc run applet.

    --charlie northrup
  • The reason it took 1.5 weeks was that I had no prior experience in building gnome or the applications like gnucash, glimmer, gmanedit, and others.

    It took a fair amount of effort to find all the source code we needed, download the code, and run the configure script. Then make, make check, and make install.

    when I would port a specific app, I then had to go fetch and build a supporting tool, such as swig. I never even heard of swig before this:)

    The whole point of doing this was not to show off Gnome, but to stress to the industry that you can, and should, develop applications on unix based systems and then port to windows where appropriate. Commercial app developers too frequently go the other way. They start by developing for Windows, and then say... ohh.. the cost of porting to unix based systems is too prohibitive. Then get a clue... develop for unix based sysems first! That was the whole point of doing this.

    If we had more time and money, I would have ported KDE so as not to favor one abstraction over the other.

    --charlie northrup
  • The source code was downloaded from the net. I used ./configure --target=i686-pc-sysv4 --host=i686-pc-sysv4 to generate the makefiles.

    The I ran make, make check, and make install. That is how I got all the code to compile.
    The unix api calls go to the posix.dll, which then uses standard win32 api calls to provide the functionality.

    gnome requires an X11 server, which we did not have. We purchased a commercial server so that we could test out our implementation. We use their X server, but the xlibs and headers from www.x.org.

    --charlie
  • The point of doing this is to show that developers, both commercial and non-commercial, can and should use unix based systems as their primary target. The code, in most cases, can be easily recompiled on Windows and thus, you do no eliminate that market segment for your applications. That is the point... clear and simple.
  • It is indeed an impressive feat that they were able to get gnome to compile under the UWIN Posix library.

    I suspect that Interix would have made the job much easier.

    Interix (formerly OpenNT) was a posix-compliant subsystem for NT that provided many utilities and for all intensive purposes, a mostly complete unix subsystem for the NT platform. I managed to port WindowMaker and AfterStep, among other things, to run under Interix. Some of you may remember, but the people at softway systems once ran an add in a Linux magazine, announcing a 'bounty' system for people who could port certain things to their subsystem. Gnome was one of them, but I guess no one took up the challenge.

    Unfortunately, Interix (Softway Systems) was bought by Microsoft last year some time last year. Microsoft said that they were going to roll the Interix package in with their "Unix Services for Windows", but I have not seen anything come of that. I often wonder if Interix was bought just to stop their progress?

    I have some screenshots of the two window managers I managed to port, running in NT via Exceed:
    http://billimek.com/interix/ [billimek.com]

    I will never forget the ignorance I was met with when I went into efnet's #linux asking about porting a window manager to interix. All of the people in there ridiculed me and told me I was stupid. Some even said such clever things like 'man X' and other such nonsense. Thanks to their zealotry, I was determined to prove them wrong. And when I posted the first screenshot of a successful port for them to see, all I got was stunned silence.

  • There's an easier way...

    Here is a screenshot of gnome running on my wife's windows box (remote x-session on my Linux box). She has a icon on her desktop and with just a double-click she can fire up a remote gnome session and run all things Linux. :)

    screenshot [bossig.com]
  • First of all, the existing Windows interface is alright, you can virtualy do anything you can with Gnome, and it does look and run sleeker.

    Bah. How about multiple desktops? Yes, I know there's a zillion of those I can find off nonags, and they're all buggier than a Bangkok summer. The one on the resource kit is actually the worst one yet. A DOS box with less than completely crappy terminal handling would be nice too (try running w3m or just emacs over win2k's telnet). I wouldn't mind being able to move windows with alt-drag also.

    --
  • Please, could someone correct me on this, if I am wrong, but it seems to me that this adds another layer on top of the existing UI of windows,

    In what sense ? MFC also adds a "layer of abstraction". Or maybe you're confusing GNOME with a Window manager. Repeat after me:

    GNOME IS NOT A WINDOW MANAGER

    The point is that if you want GNOME applications to run on Linux, you've got to port the GNOME development platform (yes, GNOME includes a development platform, it is NOT a Window manager)

    How many of your professors run GNOME applications on their Windows desktop ? WOuldn't it be nice if they could do so, given that GNOME/KDE have all the momentum at the moment ?

  • No you haven't. You displayed it on the Windows box, but it was running on your Linux machine. The difference here is that the application is running on the Windows machine, so one can try out GNOME applications without needing to install Linux.
  • I see recurring problems with desktop replacements and modification for the windows gui environment. When you change the way ms intends things to be, native applications start to fail. One example of such was illustrated by a friend of mine that ran litestep on winnt4 and was told to punt when installing certain applications because there was a problem making a call out to the common dialog library (comdlg32.dll).

    Another real problem I can see with X desktop ports is the difference in the base functionality of gui. X is a very powerful client/server mechanism for serving applications to a user with a minimal (comparitively) requirement on comformity while the windows explorer seems to be nothing more than a threaded graphical version of command.com riddled with an intricate web of undocumented calls and dependancies (aka by ms: integrated...)

    If a new desktop environment for windows is keeping you from easily installing and using windows software, why bother? If you use free software thats available for multiple platforms and want an X style interface you may as well use an operating system and ui that was meant to handle it.

  • Uhm, that's a shell replacement, too.

    -
  • Personally I think the native GTK+ port to win32 is cooler than the CYGWIN one. You don't need an X server. Granted GNOME would be a huge task to port since you don't have the POSIXness. Check out the Gimp [gimp.org] and GTK+ [gtk.org] ported to Win32 [user.sgic.fi].
  • While the end result of this project is "cool" I fail to see the "value" that the end user will get from it.

    Screw "value"... Open source developers don't have to do _every_ project with an altruistic mind. If things were like that, coding would be just like work without pay. You've just gotta have the fun factor.

    Folks, call me crazy, but as long as Linux and the Open Source community keep there focus ENTIRELY on "cool" and technical-only-oriented projects, we will never be able to convince the Windows user to switch nor are we going to win new users.

    Linux is hardly about being entirely on "cool". Only a small share actually ends up with "useless but cool" products.

    Just because these projects end up getting a lot of publicity on Slashdot it doesn't mean they take up development manpower. Consider this port was done in 1.5 weeks by ONE PERSON.

    And even then, I don't really care about convincing Windows users to switch anymore. It's already obvious that Linux is better and probably every person that I know that uses a computer, no matter how uninitiated at it, has heard of Linux.

    Normal users will change to Linux when it's time to change, not when you want them to.

    Flavio
  • by Flavio ( 12072 ) on Saturday December 09, 2000 @05:46AM (#570546)
    This may be successful with people who are interested in WMs like Litestep [litestep.net], Darkstep [darkstep.net] and other less known ones.

    Having tried most of them, I'd say that they're usually buggy and quite beta. Usability is limited, mostly because you lose most of Windows' native functions (which are dependent on explorer.exe, the WM) and only implement a limited number of new ones.

    This feature implementation is usually done by using plugins and modules, which are in theory a good thing. In practice it means that you usually get a slow manager that can crash or behave badly just because of one buggy plugin.

    I've managed to use Litestep for a few days, but eventually went back to explorer.exe because features like file managing and printing were still tied to the latter, making the whole idea somewhat flawed.

    I hope Gnome works as one would expect. If it does, I'll probably change for good.

    Flavio
  • Although I'm sure it'll be useful for someone, this strikes me as a really bad idea. One of the few things Windows has going for it is (gasp!) a common look and feel, something *NICes have never had. I can't picture any Windows users deciding they want to have a bunch of uglier widgets right next to ones that look totally different, just so they can run...um, gnumeric? Gaim? Gftp? What exactly would be someone's motivation to run this? Certainly Gimp would be ok, but in that situation the program itself should be ported.

    I'm no fan of Windows, polluting it with the *NIX world's fragmentation seems counter-productive.

    -lx
  • Without any kind of stepping stone, people will never want to switch to Linux (say your boss wants to see what it's like without trashing his box completely), this way they can get kind of used to the look/feel of it, so the step to Linux won't leave them in the dark.

    It's a necessary step in taking over the world.
  • Cygwin has a large based of Linux/GNU utils and programs that have already been ported. I recompiled GTK+ and gimp for cygwin without having to change a single line of code - so cygwin is a relatively mature environment.

    -josh
  • ...figures it'd be the 47 [47.net],000 line.
    ----
  • Gnome is not just a desktop. It is also an application framework. I personally think it would be very cool to be able to run the Gnome apps I love in Windows. x-chat [xchat.org], for example, is the best IRC client I've found, for any platform. However, I don't like the idea of having to use a commercial tool like U/WIN and an X-server.
    ----
  • It wouldn't be difficult at all to theme the apps to look like Windows. The framework is all there.
    ----
  • Nothing is preventing this. GTK+ [gnome.org] uses an abstraction layer called GDK [gnome.org] which sits between the widgets and the underlying windowing system (Windows, X, etc.). To get GTK+ working in Windows, you port the GDK to the Windows windowing layer. This has already been done (though not perfected, IIRC). You can, for example, run a Windows native version of the Gimp.
    ----
  • There are many good reasons for wanting Gnome applications to work in Windows. The first one that comes to mind is that it would be nice to be able to run the Gnome applications that I have come to absolutely love, in Windows. Also, this would make the GTK+/Gnome platform much more attractive to developers that are currently on the fence. If they know that an application they develop using the GTK+/Gnome platform can be made to run in Windows, that is very exciting, because Windows is already the platform of choice for 90% of the world. Having said that, I don't think a proprietry application like U/Win and an X-Server is the right answer. The right answer, IMHO, is to perfect the portability in the GTK+/Gnome platform itself. The Windows port of GDK, is coming along nicely, and I expect that with time, porting a GTK+/Gnome application to Windows will become as trivial as a recompile.
    ----
  • That and more has already been done. Check out the Cygwin Tools [cygwin.com]. I installed them on my Windows 2000 box at work and now I have bash, vim, grep, sed, awk, and many more Unix tools working on my Windows machine. It's a very powerful addition to a Windows development environment. When I'm developing in Visual Studio, I can click on a button on the toolbar, pull up the source file I'm hacking on in Vim, do powerful search and replaces using regex's. Or I can pop up a bash session and do greps or run bash scripts I've written. I love it.
    ----
  • by Grond ( 15515 )
    here [uark.edu]
  • There are plenty of ways that you can do this now. I use MixNT to run X apps on a windows machine across a network. I've also used xceed to do this as well, its not all that hard.
  • I think your mistake is assuming it's necessary to "win".
  • by Mr. Piccolo ( 18045 ) on Saturday December 09, 2000 @09:28AM (#570559) Homepage
    There's a Java one:

    WeirdX [jcraft.com]
    It's monochrome, last I tried it, but it's better than nothing :-)
  • by Mike Schiraldi ( 18296 ) on Saturday December 09, 2000 @06:03AM (#570560) Homepage Journal
    Finally: The stability of Windows meets the application base of Gnome!

    --

  • Windows folks will have a high quality free X server available. From there it's a simple jump to Gnome and KDE applications on Windows. That's the migration path.

    Why would a Windows user want an X Server? Why would a Windows user want to migrate to Gnome? IT departments support Windows applications and no "migration" would realistically aim to dump those. I don't see the benefit for Windows users. They don't care about the GPL. They care about their hard work and data.. which happen to be in Windows apps.

  • The VALUE??? I saw the value in 1 second. I want to write some open source cross platform software... really, I do, this is not just a rhetorical example. Now that Gnome has been ported to Windows, I have a way to do my development under Linux with GTK and Gnome as the main target, and easily recompile my application to run under Windows-with-Gnome for users who can't or won't switch. I suppose that was already possible with QT, now that it's GPL, but for programmers who prefer the Gnome programming model, this can be very convenient.

    My second problem with your post is that you think that there's too much focus on "cool" and "technical" projects. Well, most of the people working on that stuff are not working for some big company that tells them what to do. They like it that way, even though a lot of them are working for free. They probably won't be interested in working for free on what you want them to do.

    A lot of Linux users don't care if we "win the war" against Microsoft. Why should they care?

    Torrey Hoffman (Azog)
  • One problem with this is that GNOME for Windows requires an X server presence on the Windows machine. Because of this, the port, while still pretty cool, loses some technical merit. Using an X server means that they had all the standard X libraries available on UNIX systems; they didn't need to port any low level Xlib stuff to Windows.

    Because of this, I find that the Windows port of Gimp [user.sgic.fi] has more technical merit; it does not require an X server - it is a full-fledged port of the GTK library to the Windows platform.

    Now I'm not a GNOME expert, but aren't most of the graphics aspects of GNOME built on top of GTK? Why not port GNOME to Windows using this available library? This way, an X server will not be required. (Of course, I'm assuming that non-graphical libraries, ORBit, glib, etc, that GNOME uses are easy to port to Windows).
  • > Why in the hell would I want to replace my superbly useful Windows Desktop with GNOME???

    It's not just the desktop, it's the ability to run software written with GNOME. I'd imagine you can disable most of the visible GNOME stuff and just run the apps.

    I'm in two minds as to whether this is a good thing or not.

    Good: Makes it easier to write apps that work on Windows and Linux.
    Bad: Makes it easier to write apps that work on Windows and Linux.

    - Muggins the Mad
  • by Muggins the Mad ( 27719 ) on Saturday December 09, 2000 @05:42AM (#570572)

    I thought that their claim of how easy it was to change the gnome source to get it to work was a sure sign of a hoax until I saw the list of requirements...

    An X server...

    :)

    - Muggins the Mad
  • I certainly haven't tried (and am not likely to try) anything as bizarre as running Gnome on Windows, but I've tried both CygWin and U/Win (in several versions over several years.) These are the tools that make life in Windows-land bearable, and even productive.

    In general, this is partly a matter of personal preference: I think U/Win is much more like "real" Unix than Cygwin, which has that annoying GNU aftertaste that many of us raised on Unix dislike. This is hardly a surprise, since U/Win came out of the AT&T crowd. Oddly, this means that the real Korn shell in U/Win (written by David Korn himself) is better than any of the ersatz Korn shells available for Linux, meaning Windows is now a better platform for my scripting code (which is generally written for ksh) than is Linux.

    In general, I find U/Win to be more stable and complete, and it has from the beginning aimed to be the much-needed Posix susbsystem that Windows lacks. Also, it just flat works when you install it, while Cygwin generally requires several hours of non-productive fiddling and building just to get it working. This is non-trivial, because I would feel that almost any user could deal with scripts and U/Win installation, but only programmers could get those same scripts running on Cygwin. As always, YMMV.
  • Ok, folks, no one really understanding how thing works here, eh?

    Xt is a OO framework for developing objects in C and for managing message queues. Point. It does no rendering. At all. It's a library for developing toolkits, and it has some design problems. Did you know that when you set a property on a widget using Xt calls, a full copy of the structure representing the widget is required, thus affecting performance? Commercial widgets vendors implement specific calls for their widgets just to avoid the inefficiency of using applicatively the Xt calls to set properties on their widgets.

    GTK+ is NOT based on Xt, it has its own object model. Want a proof? Take any GTK+ app, and do "ldd filename" on it to see what shared libraries it uses. Do you see libXt in there? No. QED.

    Qt is NOT based on Xt, it doesn't need to be since it's a C++ toolkit. Another proof? Take any KDE app, do "ldd filename" on it, and search again for libXt. You won't find it.

    GNOME libs actually are mostly utility libraries for what concerns GTK+. They avoid 300+ programmers writing the exact same code across all the applications that make up GNOME. This gives consistency, (and less bugs btw). It's not really another abstraction layer.

    At the bottom there may be XLib (GDK is an abstraction layer for the drawing engine, and it can be ported to non-X platforms. Look at The Gimp for Windows). This is required, since it provides only the minimal functionalities to talk with an X server, and you'd have to reimplement all of it by yourself if you wanted to talk with an X server without using Xlib.

    Finally, I'm wondering myself why the Windows port of GTK hasn't been used, since it's there and works fine. Perhaps some Gnome developer wanted raw access, and did raw XLib calls instead of GDK ones just to be "faster"? Well, now you need an X server until that "smartness" get fixed with appropriate GDK calls.

  • Actually, it says:

    What makes this effort unique is that we did this in 1.5 weeks, and changed less than 100 lines of the original source code used in building GNOME for Linux.

    Just another case of /. misquoting/representing and noone being able to check to see what really got said.
  • by QuantumG ( 50515 ) <qg@biodome.org> on Saturday December 09, 2000 @06:29AM (#570589) Homepage Journal
    I don't get it, I've written a lot of programs using GTK+ and they recompile flawlessly on windoze using VC++. Occasionally I've had to do a #ifdef WIN32 here and there, but really it's about coding the thing portably in the first place. Hell, you can even get precompiled dll's for GTK from the web site! I guess GNOME has a lot of posix specific stuff in it. Whenever the requirements state that the program must run identically on windoze and *nix I always use GTK. Sometimes I'll do the actual development on the windoze box using VC++, sometimes I'll do it on linux, but I'll always make it a habit to do a compile on the other OS after I add each feature (every day or two). I mean really, that's the idea of the toolkit isn't it?

  • by 1010011010 ( 53039 ) on Saturday December 09, 2000 @07:37AM (#570590) Homepage
    Interestingly, you can just make windows look like it's running gnome:

    http://www.dtop.org/outsider99/img/sshots/gnomesid erbig.gif [dtop.org]


    ________________________________________
  • by account_deleted ( 4530225 ) on Saturday December 09, 2000 @05:48AM (#570594)
    Comment removed based on user account deletion
  • No, it would scare people off. If you come from NT, the graphics performance of X is scary. Second, its not like that much *NIX GUI software is better than their Windows counterparts. Nope, concentrate on making a quality OS, and let people adjust to the poorer software library. Don't try to use a poor(er) software library to bring people to the OS.
  • I'm pretty sure that GDI only applies to the graphics system, not to the Window manager itself. (Kinda like X)
  • How can you tell you're calling the GDI? (For non-Win32 programmers, Win32 functions are not prefixed, and the system has one big API)MessageBox(), for example, isn't a call into the GDI. The GDI stands for graphics device interface, and it deals with lines, splines, points, etc. I think the Window manger is somewhere in USER.DLL, but I'm not terribly sure.
  • If you use WinNT for five minutes on decent hardware (PII 300+) you'll notice how much smoother the graphics are. Your cursor never jumps, your window rarely flicker, NT suffers from less of the "wiping the window clean" effect that seems to plague some GNOME apps.
  • Well, the problem is that nobody has the balls to code for Xt. GTK+ might not be as bad as Motif, but it is pretty bad, compared to NT at least. Of course, NT's graphics run in kernel mode, but on my computers at least, its stability has never been that bad. My NT-only machine hasn't crashed in the 3 months since I've built it.
  • Except, GTK isn't designed for speed, its designed for features. If you take a look at the current software map, it looks like this...

    A Gnome application runs on top of the GNOME libs, which run on top of GTK+, which call into GDK, which call into Xt, which finally cajole X into doing something. That's bad.

    There should be one, easy to use, simple layer, on top of which features and bloat can be piled on. That allows people to use the simple layer for most things, and only use heavy-set libraries when necessary. This is contrary to the current model, where people use GTK and Qt because Xt is too bloody difficult.
  • RivaTNT, using NVIDIA's drivers. If you take a look at Anandtech, the NVIDIA drivers blow everything else (including the Matrox G400) out of the water for 2D performance.
  • Been there done that. My renicing is in my xinitrc. Still doesn't solve KDE2's problems, everything takes at least a second or two to start up. It's my view that the system should never use more than 5% of the user's resources. Bloat should be put in applications, not in the system layer. I don't mind it if 3D Studio takes up 50MB of RAM and 50% of my proc, but when my OS does that, it's just disgusting.
  • My point is that the GDI simply doesn't do window management. I don't know where window management is, but it is certainly NOT in the GDI.
  • I stand corrected, though I still think there are too many layers of software on GNOME. What is in GNOME-libs that requires 15MB of libraries?
  • Consider..

    I use gnome on X all the time. I also have a windows machine for those annoying apps that just refuse to be ported, and that I am not comfortable enough with the X-ish alternatives.

    On my windows machine, I really dislike explorer. It crashes regularly, and doesnt react the way I would like.

    This is directly why you can choose to replace your shell with another one. I tried with litestep, but it was somewhat buggier for the things I did (YMMV), and still wasnt 'what I was looking for'.

    With this, I can have a more linux-oriented desktop, showing my truer colors and spreading the word, and at the same time, allowing me to have a more consistent feel from (windows) desktop to (linux) desktop.

    I think it kicks BUTT!
  • I really wish you would use the new not-W3C compliant tag, it would make it so much easier to tell if you were +1, funny, or -1, troll.

    :)

    To respond seriously, just in case..

    I have used windows (sadly) since OSR2. In that time I have built, configured, and lived with explorer (and Iexplorer) for a very long time.

    I was a computer tech for many years, and now I do software engineering.

    From a position of experience and knowledge, I must emphatically state that you are wrong.

    Windows' explorer is horribly prone to crashing, even 'with the latest patches' which in my experience come out on less than once a month. (hoorah for that, without THOSE, I dont even want to think of how bad it would be).

    On one hand, with apps installed, explorer ends up having all kinds of problems within about 5 months, in my experience.

    On the other hand, with no apps installed, it runs great for a very long time.

    but its the GUI shell, damnit. You have to install apps. Now, if the apps themselves were the ones crashing, like it does in gnome/X, that would be understandable.

    But noooooo, its explorer itself that crashes. That makes so little sense.

    Anyways, enough of ranting..

    In several years of experience, a properly configured and setup gnome/X system will hands down stay up, and working ALOT longer than a properly configured and setup explorer system.

    YMMV.
  • ....or how about creating a standardized, free platform on which to build apps that runs on all unices as well as Windows?

    Look at projects like Eazel, or Helix. If we have a standard gui and things like bonobo across all of the unices *and* MS machines, then we've just nailed pretty much the entire market. With the BSD core of the new MacOS, it's a hop skip and a jump from here to having Gnome capabilities on every major computing platform. I don't see the down side.

    As for the car dealer analogy... If there's anything that the "technology age" is going to be remembered for, it going to be bad analogies. We're not talking about cars at all here, we're not talking about anything like them. Cars started out in a standardized atmosphere, and since then have become more and more and more proprietary.

    We're talking about going in the opposite direction -- bringing a common, free shell/development environment to, once again, *all* of the major computing platforms.
  • I think that all the people asking about why this is cool should have their slashdot logins revoked.

    This is the coolest thing I have heard in a long time...

    1.5 weeks!!!!

    It's mind boggling. Charles Northrup will go down in my books as one of the great hackers of our time.

    Just the sheer audacity to look at those bazillions of lines of code and say, "Dang it. Today I'm going to port those things to windows." A lesser man would have died on the spot at the prospect of such a tremendous undertaking. I would have died if someone had even shown me that much code, let alone told me to port it.

    Mr Northrup, you are one crazy dude...

  • by garoush ( 111257 ) on Saturday December 09, 2000 @05:52AM (#570624) Homepage
    OK folks. While the end result of this project is "cool" I fail to see the "value" that the end user will get from it.

    I mean, do you think the Windows user is willing to learn yet-another-UI that sits next to the Windows UI?!!! Yes the technical group will be excited about this (as I am) but we make up only the very small % of the users at large.

    Folks, call me crazy, but as long as Linux and the Open Source community keep there focus ENTIRELY on "cool" and technical-only-oriented projects, we will never be able to convince the Windows user to switch nor are we going to win new users.

    Beside, the war is no longer againts MS's OS, it is now with MS's application as well as AOL's content offering.

    -- George

  • They needed an X server and a commercial unix emulation package to do this.

    KDE too started out relying on proprietary software but (with Trolltech's help) phased it out. Once XFree86 4 begins to work around buggy 16-bit code in Windows 9x (it already works fine on NT/2K) or Whistler is released, we will have our free X11 server for Windows. And it shouldn't be too much work to move from Uwin to Red Hat Cygwin [redhat.com], another POSIX layer for Windows.

  • XFree86 4 already works on Windows NT and Windows 2000; however, there is buggy 16-bit legacy code in Windows 9x's kernel and GDI that keeps the X server from working properly (according to the XFree86 for Windows FAQ [redhat.com]). This should be less of a problem once Windows 2000 Personal (codename Whistler) is released.

  • by yerricde ( 125198 ) on Saturday December 09, 2000 @08:46AM (#570632) Homepage Journal
    The Windows equivalent of Galeon (i.e. a stripped-down web browser using the Gecko engine from Mozilla) is k-meleon [kmeleon.org] (no, despite the K, it has nothing to do with KDE).
  • by ca1v1n ( 135902 ) <snook.guanotronic@com> on Saturday December 09, 2000 @07:02AM (#570635)
    If I had my guess, I'd say that the author is already familiar with U/WIN. It does say that Cygwin should work in the long run.
  • by ca1v1n ( 135902 ) <snook.guanotronic@com> on Saturday December 09, 2000 @07:17AM (#570636)
    I noticed that in all the screenshots it reads 12:00 a.m. or 0:00:00 anywhere that time is displayed. Window names also appear to be replaced with 5 asterisks. Doesn't really look polished yet.

    I also find it funny that they had issues with GIMP. I have no problem running GIMP native on my windows machine.
  • They needed an X server and a commercial unix emulation package to do this.

    What exactly was the point? Prove that Gnome is not portable?

  • Let's clear this up right good.

    The article says it took a 1.5 weeks to:

    a) Make the code Windows-playable
    b) Compile the code

    They had to hunt throught 4 MILLION LINES OF CODE to locate certain disparities between Microsoft's idio(t)syncracies. They changed only 100 lines, which is pretty good.

    Now, yes, you do need another package for it to properly work.

    Big deal.

    I can use Gnome (though I am a KDE man ;) as the window manager for now and, when the next upgrade of Windows comes out, I can slip in Linux on the backend and no one outside my skull would know the difference. World domination, one company at a time?
  • by Alien54 ( 180860 ) on Saturday December 09, 2000 @05:51AM (#570654) Journal
    I could enjoy this. It reminds me of the fogers coffee commercial:
    "we have secretly replaced this computer users shell program with Gnome. Will they be able to tell the differance?"

    (user calls up MS Tech Support ....)

    [user] - "Hello, MS? Something is very wrong with my system ..."

    [MSTS] - "sounds normal to us, sir"

    [user] - "oh, okay ..."

    but maybe it is just me ...
  • Ok, that's a flame of some sort. But don't you guys think that is kind of pointless? Why support Windows?? Why bother?? Linux stuff running on Windows.. oh my God! I can't imagine KDE doing the same thing.

    First of all, the existing Windows interface is alright, you can virtualy do anything you can with Gnome, and it does look and run sleeker.

    Second, why bother with porting code to Windows platform? What is the intention of this? Who are the possible users? Are those Linux zealots that have to work on Windows (NO WAY!!!) and customize native applications to support Linux shortcuts/commands?

    Now moderate me down.


  • by djocyko ( 214429 ) on Saturday December 09, 2000 @06:54AM (#570661)
    Now I don't need to reboot to linux just to play Gnibbles! Say buhbye linux.

    er..no.

  • by rabtech ( 223758 ) on Saturday December 09, 2000 @10:10AM (#570667) Homepage
    Explorer.exe isn't the window manager -- its the shell.

    GDI32 is the window manager. On a Win9x system, it can be found mostly inside of GDI.EXE. The 32-bit GDI32.DLL just thunks most of its calls across to the 16-version, because its just faster drawing for most things.

    On an NT system, The kernel provides only ~200 native APIs (called the Executive), upon which various subsystems run (Including POSIX and OS/2 ones, among Win32, Win16, and DOS.) One of the subsystems is Win32, which provides a version of GDI which is compatible with the Win9x implementation, but its fully re-entrant and 32-bit.

    I think it would be more effective in terms of resource usage and functionality if someone were to whip up a X-window server that communicated with the kernel directly via the Executive. In that regard, it would be a completely separate system from Win32 and could provide its own services any way it pleases. As a matter of fact, if you set a callback in the keyboard kernel module, you could intercept your favorite Key Combo (let's say ALT+1, 2, etc...) and use that to switch control of the display output to a different subsystem. Of course, the video mini-driver interface should be fully re-entrant as well, so having multiple subsystems display their interface on the screen at the same time would be no problem.

    There is a lot of unexplored functionality in Windows NT/2000 .... people assume that because Microsoft doesn't do it, it can't be done, which is pretty self-limiting IMHO.


    * its been a bit since I reviewed the docs, so if I made a mistake I apologize :)


    -- russ -- Senior Forum Admin, Ihateapple.com


    -----
  • by dasunt ( 249686 ) on Saturday December 09, 2000 @07:03AM (#570676)
    Here is a link to a guide that explains the major ones : http://www.filemine.com/showDig?id=37 [filemine.com]

    Litestep crashes on me and conflicted with a program or two I had, it looks good, but it didn't work in practice, and I went fleeing back to explorer. Although, I recommend all windows users who are interested to try it, it might work for you. Geoshell is the nicest shell I've tried, and, with a few more features, would be my shell of choice. I haven't tried darkstep, but I'm told its supposed to be good. The problem with most shells is that they look better at higher resolution then lower, unfortunately, I'm trapped at 640x480. :(

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...