Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming IT Technology

A Bare-Bones Linux+Mono+GUI Distro? 158

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?"
This discussion has been archived. No new comments can be posted.

A Bare-Bones Linux+Mono+GUI Distro?

Comments Filter:
  • Gentoo (Score:4, Informative)

    by armanox ( 826486 ) <asherewindknight@yahoo.com> on Tuesday May 27, 2008 @11:16AM (#23556607) Homepage Journal
    You could build a Gentoo install to satisfy this. With Gentoo you build the system to fit what you want out of it.
    • Another similar choice would be Linux from Scratch. Choose whichever one you like. They can be quite a hassle to set up, but the reward is that you have a completely customized system, with complete control on what's installed.
    • by nurb432 ( 527695 )
      Or perhaps a minimal install of Freebsd + mono

      I know he said linux in the question, but installing a minimal Freebsd box is much easier. And if he mostly cares about mono, does it really matter what OS its running on?
  • Monoppix? (Score:5, Informative)

    by dreemernj ( 859414 ) on Tuesday May 27, 2008 @11:19AM (#23556637) Homepage Journal
    Monoppix perhaps? [monoppix.com]

    I haven't tried it yet but the description sounds about right.
    • Re: (Score:3, Insightful)

      by Otter ( 3800 )
      That's an interesting link but it doesn't sound like the minimalist setup he wants.

      Doing it himself seems like the best bet. Certainly if he's planning to develop a commercial product based on this, it's worth figuring out a custom distro that does exactly what he wants.

      • given that he's new to linux, he may consider that a year down the line but for now monoppix is his best bet
        • by Otter ( 3800 )
          I understood his question differently than most of you did: I thought he was asking about a platform for the device he plans to build, not just a personal development platform.

          If the latter is correct, I'd suggest whatever distro his friends or coworkers can best help get started with (Ubuntu, Fedora, Gentoo, whatever) and not worry about Mono-specific wrinkles.

          • by hey! ( 33014 )
            Well, I think you make a really good point.

            When you are developing, you are a user. Which means you are a pain in the ass to somebody.

            Once the box goes out the door, it means it's in the hands of users, who will be a pain in the ass to you.

            The way to make money in tech is to find something that people will pay money for (duh), but the important point is that it doen't have to be much money, so long as they never ever call you for support. I know a guy who launched possibly as many as a dozen commercial
  • by Ngarrang ( 1023425 ) on Tuesday May 27, 2008 @11:24AM (#23556681) Journal
    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.
    • Re: (Score:3, Informative)

      by bsDaemon ( 87307 )
      Without all the fluff, how is it not just Debian?
      • It has all of Ubuntu updatedness in the kernal that might not be present in the general Debian release? I have no freakin' idea, actually. The majority of my linux experience is Ubuntu. I have a learner box that is just running Server edition on which I have installed and uninstalled different GUI's and been learning the command line.

        I do know the server edition is tuned to give background tasks more priority.
      • Re: (Score:3, Informative)

        by croddy ( 659025 ) *
        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.
      • Re: (Score:3, Funny)

        This one has screaming Linux fangirls and fanboys throwing their panties and bras on stage at your feet. And something about going to 11. Petrified.
      • by nuzak ( 959558 )
        Ubuntu iterates through stable versions much faster than Debian -- even the "long term support" versions come out faster than Debian Stable.

        I run Sid myself, but you can't get your security updates separate from your "might break all your dependencies" functionality updates. For my single development box, that's fine, but when you've got multiple production deployments, that's really bad.
    • Just grab the Ubuntu Alternate install CD, or start from Debian. Same principle, but no real point in getting Ubuntu Server -- you probably want the generic kernel anyway, not the server kernel.
  • Debian (Score:5, Informative)

    by Hatta ( 162192 ) on Tuesday May 27, 2008 @11:25AM (#23556689) Journal
    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.
    • Damn Small Linux (Score:3, Informative)

      by pavon ( 30274 )
      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
  • by megalex ( 761610 ) on Tuesday May 27, 2008 @11:28AM (#23556737)
    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 [go-mono.com] Click on the vmware image.
    • Anyone care to explain why this is '+2 funny'? It seems a pretty useful idea for the initial development stages at least.
      • VMWare emulates a fixed (and $deity-awful) set of hardware, it's completely unusable for any development targeted at embedded platform.
  • Try SuSE (Score:5, Insightful)

    by Ed Avis ( 5917 ) <ed@membled.com> on Tuesday May 27, 2008 @11:29AM (#23556753) Homepage
    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.
  • No you probably don't.
    What about a web browser for research? An IRC client for asking questions?
    Ubuntu is will do what you want. It may have a few extras you don't need so uninstall them.
  • Qt... (Score:5, Informative)

    by ninevoltz ( 910404 ) on Tuesday May 27, 2008 @11:31AM (#23556801)
    Use Qt4 and forget about MONO and .NET. You won't regret it.
    • by nawcom ( 941663 )
      agreed.
    • Re: (Score:3, Informative)

      by pembo13 ( 770295 )
      I like everything I've read about Qt4. But you can use Qt4 with .NET
      • Re: (Score:3, Funny)

        by Alex Belits ( 437 ) *
        You can also bake cookies on a space station, however that would be neither an efficient way to bake cookies, nor a good use for a space station.
    • Re: (Score:2, Informative)

      Or maybe they could check out Qyoto [qyoto.org]
    • Oh, so Qt4 allows for complex runtime code generation? It allows you to deploy a single binary on multiple platforms? You're not just comparing comparing two completely different things here, you're comparing two completely different classes of things.
      • Re: (Score:2, Informative)

        by qbast ( 1265706 )
        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 cat
  • You can also try the live CD for opensuse its available in the download section http://www.go-mono.com/mono-downloads/download.html [go-mono.com]
  • Look at Debian Live (Score:5, Interesting)

    by SeanTobin ( 138474 ) <byrdhuntr AT hotmail DOT com> on Tuesday May 27, 2008 @11:35AM (#23556861)
    I've been playing around with Debian Live [debian.org] 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 [monoppix.com] 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.
  • There are an infinite number of solutions to this problem. Everything from Gentoo to Knoppix to Puppy Linux (for the love of God, avoid the last).

    Do you:

    ( ) Intend to use it as a liveCD?
    ( ) Want disk tools in the installer to allow you to keep a windows partition?
    ( ) Want to avoid significant configuration?
    ( ) Have no Linux experience whatsoever?
    ( ) Want it to exist in a partition WITH Windows?

    ( ) Have better things to do than sift through the inevitable 2541 comments?

    Th
  • I had this exact requirement for building my point of sale device. My solution was to go with something like Damn Small Linux [damnsmalllinux.org] and modifying it. Basically, I altered it to be apt enabled yet again instead of using their package management and then pointed it at the debian repos. One apt-get install later and I had everything I needed to host a .NET GUI application. You could probably get away with a minimal debian install as well, but DSL and its brethren generally have good package selection for smallness.
  • its the simplest and lightest windowmanager that I have seen. Ofcourse, tthere are probably other options. Generally, the packages are available for most distros but I would advise you to use gentoo since you can make it as lightweight as you want depending on your requirements, but gentoo requires you to know a thing or two already about linux.
  • OK, I'll bite... (Score:3, Interesting)

    by Noryungi ( 70322 ) on Tuesday May 27, 2008 @11:56AM (#23557199) Homepage Journal
    I don't know why, but this question sounds really, really weird to me: if you are doing .NET development, why move to Mono and Linux? Why not just stay under Windows, especially since you say (and I quote):

    I dont know a lot about Linux, so I thought I would ask if there is already something like this available.

    Anyway, here is my suggestion, but, as another poster has already pointed out, any Linux/GUI permutation would probably work just as well:

    1. Slackware [slackware.com] for trhe Linux distribution.
    2. Fluxbox [sourceforge.net] for the GUI.
    3. Then, you can use either the Gnome Slackbuild [gnomeslackbuild.org] or the Slackbuilds [slackbuilds.org] files to compile Mono on your Slackware machine.


    Some people would argue that using Slackware for this is crazy, but (a) Slackware is a lean and mean developement platform, and a very lean Linux distribution and (b) it will teach you a lot of things about Linux, and UNIX in general.

    I hope this helps!
    • I tend to agree. I started with Slackware, and it taught me most everything I know. Wait a minute ... don't use Slackware. (Just kidding on that last part.) If you were more experienced, I would recommend Gentoo to roll your own distro, since it's easy to just install only what you need. Besides, the install process was pretty fun. Too bad I never had to reinstall it in the last three years (I know, right?). I remember trying to install a links+ package in Ubuntu without an internet connection and it
    • Re: (Score:3, Interesting)

      by akadruid ( 606405 )

      I don't know why, but this question sounds really, really weird to me: if you are doing .NET development, why move to Mono and Linux? Why not just stay under Windows, especially since you say (and I quote):

      I dont know a lot about Linux, so I thought I would ask if there is already something like this available.

      I can answer this, being in much the same postion.

      Like a lot of Slashdotters, I get paid for coding, and so I use C# and .NET at work, but I love my Ubuntu setup at home. Mono lets me use a language I am comfortable in for pet projects.

      Linux is perfect target environment for the kind of (ambitious) pet project he has in mind, it's far more suitable than Windows for repurposing older kit or scratch building, it has no cost or licensing hassles, drivers are built in, and everything is open.

      Of course the sam

  • Tell us more (Score:3, Insightful)

    by Just Some Guy ( 3352 ) <kirk+slashdot@strauser.com> on Tuesday May 27, 2008 @12:01PM (#23557281) Homepage Journal

    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?

    Is that exact arrangement pre-made? Probably not. Why don't you let us know what you're trying to accomplish so that we can steer you in the right direction?

    I'm a KDE guy, but my first suggestion would be to install Ubuntu with the stock Gnome desktop. Just because you can run other applications doesn't mean that you have to.

  • AFAIK, there is no such thing as a Linux-based "Mono OS". You'll probably need to modify an existing distro. Since you claim not to be a Linux expert, Ubuntu might be a good choice, but it's a bit of a heavyweight. You'd need to spend a lot of time disabling features to trim it down, which requires quite a bit of Linux knowledge, so it doesn't really help you avoid learning Linux. Same applies to Fedora, SuSE, etc. If you intend to develop on a platform that closely resembles your target platform, keep
  • by hlt32 ( 1177391 )
    #1 Download debian netinst or ubuntu server.

    #2 Install distro.

    #3 aptitude search mono

    #4 sudo aptitude install etc.

    #5 sudo aptitude install xorg fluxbox

    #6 ???

    #7 Profit.
    • I wouldn't go for a server distribution for a multimedia GUI project without checking that it doesn't have a kernel tuned for throughput rather than latency (eg. 100Hz ticks, no preemption). Just use any old desktop distribution and turn off what's not required. It's not like a couple of gigs of disk space matters much on a box that will be storing digital video.
  • by nguy ( 1207026 ) on Tuesday May 27, 2008 @12:16PM (#23557517)
    "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.
    • by Scaba ( 183684 )

      Mono is not .NET.

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

      • Re: (Score:3, Informative)

        by nguy ( 1207026 )
        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 en
    • Can't you just use windows.forms with Mono?
      • by nguy ( 1207026 )
        Can't you just use windows.forms with Mono?

        You need to install the winforms libraries; they are not installed by default.

        The only applications on Ubuntu that use Winforms are monodevelop (port of Sharpdevelop), IronPython (Microsoft open source software), and IKVM (JVM emulator). None of the actual mono desktop applications use winforms, hence it isn't installed by default.

        And if you're developing new software for Linux with Mono, it would be foolish to use winforms: Gtk# is better and better supported (an
  • If you are looking for a barebones distro, try gentoo (gentoo.org). For a barebones window manager, perhaps try something like fluxbox or blackbox. Pretty much, gentoo will give you a base system and it will be up to you to set everything up.
  • Look at LFS (Score:3, Informative)

    by ComputerSlicer23 ( 516509 ) on Tuesday May 27, 2008 @02:18PM (#23559549)

    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/ [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

    • Linux From Scratch would be a good fallback position if building what you want on top of Gentoo or Arch didn't turn out to be as comparatively easy as it was supposed to be. It'll make you do a lot more work, but overcomes the snags through brute force of documentation, assuming little foreknowledge.

      For a distro you can actually work in, the minimalist boot options [uni-kl.de] of Knoppix [knoppix.com] would let you do a quick restart of X and see what your apps do in something like what your final release image is like. If nothing

  • As much as it makes sense to ask the question here, I'm afraid of the thunder of distro bashing this is going to start.
    This is slashdot. We're not always rational, and we argue our tastes in linux distributions and other functionally equivalent software.

    That said, someone suggested gentoo, and while as a gentoo user I applaud the suggestion, I cannot help but think that it is a little steep in the learning curve to fulfill these (relatively simple) goals. While I don't think anywhere else would like to
  • Lightweight? Don't no nothin' 'bout Linux?
    You want Xubuntu [xubuntu.org]. The official Ubuntu variant using the XFCE Desktop. Monodevelop will use quite a bit of GTK stuff though, IIRC.
    Anyway, it's faster then Windows, so no downside here. But if Mono isn't enough, then I'd recommend staying with Windows. Unless, however, you want to learn more of Mono to slowly shake lose of MS. Monodevelop looks a very fine and dandy OSS IDE and even makes me curious about this Mono stuff.
    Good luck and welcome on board.
  • OpenSuSE (Score:3, Informative)

    by oliderid ( 710055 ) on Wednesday May 28, 2008 @10:47AM (#23570625) Journal

    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.)

"What man has done, man can aspire to do." -- Jerry Pournelle, about space flight

Working...