Slashdot Mirror


A Bare-Bones Linux+Mono+GUI Distro?

nimble99 writes "I am a computer software engineer, focused mainly on the Windows platform — but most of my development time is spent in .NET. I would like to move my .NET development to Linux in the form of Mono, in an attempt at building a media-center type of device. All I require, is a base operating system with simple hardware support, Mono, and a window manager that (preferably) does nothing but act as a host for mono applications. Is this available? I dont know a lot about Linux, so I thought I would ask if there is already something like this available. Obviously a 'Mono Operating System' would be the cleanest solution, but a similar thing could be achieved with the barest minimum of Linux distros right?"

20 of 158 comments (clear)

  1. Gentoo by armanox · · Score: 4, Informative

    You could build a Gentoo install to satisfy this. With Gentoo you build the system to fit what you want out of it.

    --
    I'm starting to think GNU is the problem with "GNU/Linux" these days.
  2. Monoppix? by dreemernj · · Score: 4, Informative

    Monoppix perhaps?

    I haven't tried it yet but the description sounds about right.

    --
    1 (short ton / firkin) = 89.1432354 slugs / keg
  3. Re:Don't. by jsrlepage · · Score: 2, Informative

    Did he ask you your opinion on the .net Framework/Stack? I am pretty much against Microsoft as much as anyone, but given the fact that their .net is pretty-much-fkinly-successful, maybe Mono can get some .net programmers to cross the bridge.

    Also, Mono TECHNICALLY isn't a Windows infrastructure. It's heavily based on a Microsoft-created execution and "vm" stack (vm not so much, but i disgress), but it's a reimplementation of .net. Therefore, it is NOT a microsoft product. It's more akin to Wine than Windows.

    --
    This is my opinion. Everyone has a right to my opinion.
  4. Ubuntu Server Edition by Ngarrang · · Score: 4, Informative

    Ubuntu Server edition installs as just a command line without all the fluff. From there you could add Mono and any GUI of your choice.

    --
    Bearded Dragon
    1. Re:Ubuntu Server Edition by bsDaemon · · Score: 2, Informative

      Without all the fluff, how is it not just Debian?

    2. Re:Ubuntu Server Edition by croddy · · Score: 2, Informative

      ubuntu's APT repositories are separate from debian's, and many packages are at different versions due to the way in which ubuntu is periodically synchronized with sid and then bugfixed by ubuntu people. ubuntu's metapackages also differ from those found in debian.

  5. Debian by Hatta · · Score: 4, Informative

    Just install a basic net installation of Debian. You'll get nothing but a console. Apt-get the GUI of your choice. Apt-get Mono. You're done.

    --
    Give me Classic Slashdot or give me death!
  6. Qt... by ninevoltz · · Score: 5, Informative

    Use Qt4 and forget about MONO and .NET. You won't regret it.

    --
    Death is life's great reward. R. Hoek
    1. Re:Qt... by pembo13 · · Score: 2, Informative

      I like everything I've read about Qt4. But you can use Qt4 with .NET

      --
      "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
    2. Re:Qt... by losinggeneration · · Score: 2, Informative

      Or maybe they could check out Qyoto

    3. Re:Qt... by qbast · · Score: 2, Informative

      Yeah, it allows to use single binary on multiple platforms as much as .NET: you just compile it for windows and run it with wine on non-Windows. I don't see much difference between win32 app running on 'alternative' win32 API implementation (wine) and .NET app running on 'alternative' .NET implementation (mono). Well, except for the fact that wine is more mature and more likely to work properly. Miguel may argue otherwise, but all we got from mono is another windows subset emulator doomed to always play catch up and never actually get close.

  7. Re:Don't. by Anonymous Coward · · Score: 1, Informative

    I don't see how this is a flamebait. Astroturfing is real.
  8. Damn Small Linux by pavon · · Score: 2, Informative

    DSL is also a good choice for a set-top box - only 50MB of disk space required, and it is based on Debian so pretty much any application you want/need is already packaged and available in the repository.

    That said, if you are going to be doing Mono development you will want a full desktop environment - for that any distro will work fine. I'd go with a full Debian install on your development machine so you have the same library versions/builds on both systems.

    For the final media center PC, you don't actually need a window manager - you can run X11 applications without a WM, and if all you are doing is running a single fullscreen app that is often preferable. I used to do that when running quake on memory starved systems. Do a search for the xinitrc file to learn how to set that up.

  9. Re:Don't. by 0xABADC0DA · · Score: 4, Informative

    As a developer, I am so completely convinced of the superiority of the .NET model and the C# language (Anders Hejlsberg has been my hero ever since he developed Delphi during his Borland years) that I cannot help but prefer its usage, even in a Linux environment. If .net took away your free will it doesn't sound like you had much of it to begin with.

    After reading the interviews on artima.com with Anders it's pretty clear that he's mostly a blowhard -- like Beck, all style and no substance. Take this for example:

    Bill Venners: ... you said: "We can observe that as people write code in Java, they forget to mark their methods final. Therefore, those methods are virtual. Because they're virtual, they don't perform as well." ... Another thing that happens in the adaptive optimizing JVMs is they'll inline virtual method invocations, because a lot of times only one or two implementations are actually being used.

    Anders Hejlsberg: They can never inline a virtual method invocation.

    Bill Venners: My understanding is that these JVM's first check if the type of the object on which a virtual method call is about to be made is the same as the one or two they expect, and if so, they can just plow on ahead through the inlined code.

    Anders Hejlsberg: Oh, yes. You can optimize for the case you saw last time and check whether it is the same as the last one, and then you just jump straight there. ...

    Not only is Anders being handed his hat by the interviewer, but he doesn't even realize that for almost ten years all Java methods have been effectively final until overridden, doing exactly that which he says is impossible. There is no 'same as last time' check since it is compiled as if there was one function. There is no 'jump straight there' when the method is inlined, and no performance lost from virtual methods that are not overridden. In contrast, .NET could not even inline more than one method deep, or methods with over 32 bytecodes, or methods with any flow control whereas Java was inlining virtual methods as much as 5 calls deep.

    None these guys on the core C# team were anywhere close to the same level as say Joy or Bracha, and it shows. Yeah, if you're coming from Win32 and MFC then C#/.net seems pretty awesome, but it's not. They made a lot of really bad design decisions that make it really suck compared to what it could be and what they ripped it off from. So it kind of depresses me a little bit when people gush quixotic about how great .NET is and how awesome the designers are -- it isn't, and they aren't.
  10. Look at LFS by ComputerSlicer23 · · Score: 2, Informative

    It's not for the feint of heart, but you might look at using LFS to build such a minimal system. I don't really see the harm in using a "full" Linux machine for the development environment, and then using LFS to build the embedded image that you deploy to "real" devices. We do this where I work.

    http://www.linuxfromscratch.org/

    It'll get the job done. If your totally new to Linux, it might be a bit much, but the folks on the lists are quite helpful.

    Kirby

  11. Re:Don't. by AppleOSuX · · Score: 3, Informative

    Wow, you took a miscommunication about a very complex technical feature and turned it into "getting his hat handed to him"?

    Furthermore, Anders is actually correcting the interviewer because the JVM isn't "inlining virtual method invocations", it's optimizing them.

  12. Re:Don't. by Actually,+I+do+RTFA · · Score: 4, Informative

    For inlining a function to mean anything, it cannot be virtual. An inlined function is in essence a macro.

    And Anders is more accurate than Bill. What Bill says translates to: you can turn a virtual function into an inline function with a if ( this_class__is_not_X_or_Y ) jump_to_virtual_function_table type structure. What Andres says translates to: Sure, in that case. But it's an optimization.

    I see that you get the best of both worlds in that situation, but Andres is right in his unequivical "You cannot inline a virtual function." Because you cannot. You can inline exactly one version of a virtual function with an if at the top, or more if you use a bunch of ifs/a switch. But the latter removes the benefits of inlining. So, a clever compiler can have a sometimes inlined response.

    And the begining of your critique is just as poor. He said that it was impossible to inline a virtual function. Stating that most functions are not virtual attacks the fact, not the logic. He said "this [disproved emperical condition] results in poor performance because of [insert logical rule] makes it impossible." Disproving the emperical condition does not disprove the logical rule.

    --
    Your ad here. Ask me how!
  13. Re:yeah, it's called... by nguy · · Score: 2, Informative
    That must come as a surprise to the Mono developers who claim "Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix" and "The Mono Project is an open development initiative sponsored by Novell to develop an open source, UNIX version of the Microsoft .NET development platform.

    Not really. It's really not that hard to understand:
    • The Mono project as a whole produces a large superset of the Microsoft .NET platform. So, the entirety of Mono is not .NET.
    • Linux distributions (even SuSE last I looked) only install the ECMA libraries and the Linux libraries; .NET is a separate install. So, the usual Mono installation on Linux neither "is" .NET, nor does it even contain the .NET libraries.


    I think Novell and Miguel are hurting the Mono project by conflating Mono and .NET. But just because they are stupid doesn't mean people like you should be spreading FUD about Mono on Linux.
  14. Re:Don't. by Daengbo · · Score: 2, Informative

    Banshee, one of the really popular audio players, is based on Mono. When Banshee-1 comes out, a lot of people will be using it. Trust me.

    F-Spot, the default photo app for ... ahem ... Ubuntu 8.04 is a Mono app.

    Beagle is Mono.

    Tomboy Notes is Mono.

    The way I see it, most of the brand new, quickly developing application software is based on Mono.quickly

  15. OpenSuSE by oliderid · · Score: 2, Informative

    I develop in Mono. I have chosen OpenSUSE over other distibutions because it's Novell behind and I thought that Novell would be the best company to packaged correctly MonoDevelop, Mono and everything else.

    The OpenSUSE installation lets you remove unwanted apps. But well I have never removed anything...Quite the contrary, You always needs specific tools.

    Oh...And well you are going to develop pro applications right? So I wouldn't advice to take the last little distribution...Somes are maintained by one person mostly...If this person gets sick or is fed up by the maintenance...You are in trouble. For pro the best thing is to wait until the distribution becomes mainstream (Ubuntu, Gentoo, etc.)