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?"

14 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. The following contains sarcasm: by RingDev · · Score: 5, Funny

    Thank you for answering the question. A truly informative, well thought out, and highly insightful post. I'm sure with your great advice the asker will make great strides in his project. And following along your high standards more technical solutions and products will be introduced to the market.

    Thank you,

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  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
  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. OpenSuse Vmware Image. by megalex · · Score: 4, Funny

    If you are on windows and have decent ram you can try the mono vmware image. It boots opensuse desktop and has mono and monodevelop ready to go. go here: http://www.go-mono.com/mono-downloads/download.html Click on the vmware image.

  7. Re:Don't. by halivar · · Score: 4, Interesting

    I'm a Windows developer who uses Linux at home.

    As a user, I am philosophically opposed to Mono as an unwanted Windows fingerprint on my completely FOSS system (except for my nVidia drivers; alas, I am not perfect).

    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.

    I'm thinking about developing a split personality to deal with this paradox.

  8. Try SuSE by Ed+Avis · · Score: 5, Insightful

    Mono is developed by Novell, so if that's your main app it would make sense to use their Linux distribution, SuSE. Either as OpenSuSE (or whatever the capitalization is these days; cf NeXTStep) or SLES. It is not minimal but it includes the latest Mono stuff and you can probably pay for support if you want. Since there is some overlap between Mono developers and GNOME developers and some GNOME applications like Banshee, F-Spot and Tomboy are written in C#, it probably makes sense to use GNOME as your desktop environment.

    That said, I'm quite happy with Fedora, Mono packages are included, and if you need something more recent than the last Fedora version you can easily compile it yourself.

    Your job is to be a software developer, not a desktop-customization weenie. So forget about spending time on making or finding a 'minimal' environment. Any modern Linux distribution won't get in your way and will let you get on with porting your apps to Mono.

    --
    -- Ed Avis ed@membled.com
  9. 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
  10. Re:Don't. by Ed+Avis · · Score: 5, Interesting

    Bah. The yardstick is not 'has nothing to do with Microsoft Windows' but rather 'gives you and others freedom to use, share and change the software'. If you just wanted to eliminate Microsoft you could buy a Mac and not buy Office for it. Mono is completely free and open source software. Yes, it is a clone of a proprietary system, just as GNU started out as a clone of proprietary Unix.

    --
    -- Ed Avis ed@membled.com
  11. Look at Debian Live by SeanTobin · · Score: 4, Interesting

    I've been playing around with Debian Live recently and the level of control you have over package selection and customization is impressive. It takes a little work to get used to the build system and how to customize your final image, but after you get through it once it is very simple.

    You also have the ability to build images for CD-Rom's, usb sticks, netboot or hard drive images.

    If you are not familiar with Linux, this route may be like jumping into the deep end. As others have mentioned, you may be better off using a canned distro like Monoppix while you do your development so you know exactly what you need in the end. Once you are comfortable and ready to move toward your final product, look towards Debian live.

    --
    Karma: SELECT `karma` FROM `users` WHERE `userid`=138474;
  12. yeah, it's called... by nguy · · Score: 4, Insightful

    "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?

    Mono is not .NET. Mono is C# with a large number of bindings to FOSS, including Gtk+ and Gnome. So, that means you need a fairly complete complement of all the C libraries. If you want .NET on Linux, you need all of that, plus the .NET compatibility libraries; those are not usually installed. In addition to that, Linux needs its package management, installation, upgrade, system maintenance, indexing, and other tools. Those mean that you have to have a POSIX environment and a reasonable complement of C and C++ libraries.

    So, basically, what you want is one of the basic Gnome or XFCE distributions, with the additional .NET compatibility packages installed. Ubuntu and Xubuntu are good choices.

    Everybody occasionally dreams of getting rid of all the "old stuff" and just replacing it with something "modern" written entirely in the language-du-jour. But there are several reasons against that: (1) the old stuff works well enough, (2) it's not clear that you can do better, and (3) the old stuff has proven that it has staying power; C# may be gone in three years and you have to start from scratch.

    I would also recommend against programming in .NET on Linux; use Gtk# and C# bindings of the Linux native libraries instead. Monodevelop should make it pretty easy to get started, and Gtk# is a reasonable and easy-to-learn toolkit.

  13. 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.
  14. 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!