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?"
If you want to use Linux, don't plan to develop for it in a Windows-bound way, and don't expect Linux developers to support Windows infrastructure on their system.
Mono is Miguel's pet project, and no one outside Novell and Microsoft cares about it.
Contrary to the popular belief, there indeed is no God.
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.
I mean, it's like if an icecream maker would like to make icecream on an refrigerator inside an oven. Hell, I am a Windows developer, so I develop on Windows. But, hey, whatever move your train....
It's time to realise that Abble's products are the biggest abomination these days. Just say NO to the dumb iAbble way!!
Monoppix perhaps?
I haven't tried it yet but the description sounds about right.
1 (short ton / firkin) = 89.1432354 slugs / keg
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
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
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!
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.
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
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.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
The first thing I do after Fedora install.
Use Qt4 and forget about MONO and .NET. You won't regret it.
Death is life's great reward. R. Hoek
You can also try the live CD for opensuse its available in the download section http://www.go-mono.com/mono-downloads/download.html
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;
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?
There are a dozen different distributions that would fulfill any of the possible permutations of the above requirements. Coupling that with giving you the smallest possible distro that's as full featured as you need, we could narrow it down to one (or two, or three, depending on the cooperation of the Linux geeks in question) solution(s).
I know this does not answer you question per se, but I would recommend you take a look at solid alternatives to Mono for Linux.
Hold the Mono, Please
Goodbye Slashdot. You've changed.
I had this exact requirement for building my point of sale device. My solution was to go with something like Damn Small Linux 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.
They called me mad, and I called them mad, and damn them, they outvoted me. -Nathaniel Lee
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:
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!
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
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.
Dewey, what part of this looks like authorities should be involved?
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 in mind that these are arguably "nicer" distros for daily use than the ones I'm about to suggest. Something like Gentoo gives you a lot of customizability, and works on lots of hardware (possibly a plus if you plan to put your media center on exotic hardware). Easier to use, but still lightweight, is Arch Linux, which would be my personal preference for a project such as this. It's very lightweight, and relatively easy to use. You still need to be comfortable with command-line, config files, man pages etc., but it's better than Gentoo or LFS. The only isssue I can see is that it's 686-optimized, so it might not fit your hardware.
#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 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?
.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.
.NET compatibility packages installed. Ubuntu and Xubuntu are good choices.
.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.
Mono is not
So, basically, what you want is one of the basic Gnome or XFCE distributions, with the additional
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
If you want to use Linux, don't plan to develop for it in a Windows-bound way, and don't expect Linux developers to support Windows infrastructure on their system. Mono is Miguel's pet project, and no one outside Novell and Microsoft cares about it.
.NET applications don't run on Mono out of the box.
.NET apps, you need to install the .NET libraries for Mono. I can't think of any Mono desktop app on Linux that actually uses those.
Mono has little to do with a "Windows infrastructure". Standard Mono installs on Linux contain the ECMA C# runtime and libraries, plus Gtk# and a lot of other FOSS libraries.
If you want to run
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.
Klingon Software is not released, it escapes, inflicting terrible damage onto the enemy as it does
Doesn't matter how you spin this. Mono is
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.
Preach it, brother! I don't know how long it took me to figure out how to import (you have to *select* the thing that's *already* selected in the menu!), and then... there's no fucking UNDO button! Whoever is behind F-Spot should take up gardening instead.
Myth is a bit of a nightmare though, and personally I don't think the media player side of it is that great.
If you don't need PVR then I can heartily recommend XBMC, it's awesome.
http://xbmc.org/
> I'm thinking about developing a split personality to deal with this paradox.
I think both of you already have. =)
Why?
the purpose is better filled with MythTV
I would agree if it wasn't for the fact that you yourself have said in the past it's a nightmare to get running correctly.
Vista's DRM makes media a headache
Agenda much?
no way M$ will share enough information
Ah, the "M$ will kill Mono" meme. I'm not sure what good it would do if I even try to address that. People who are smarter than me have tried and gotten nothing but ridicule and abuse from people like you.
The twitter monologues. Click on my homepage and be amazed.
You can build your dreambox this way with a Debian based system:
- install the "barebone" distribution => "server" or "cli"
- apt-get the most high-level stuff you need => all the dependencies will be installed
for example, just:
sudo aptitude install monodevelop
next you can fetch a pretty window manger / desktop environnement
From http://www.ibiblio.org/pub/linux/docs/HOWTO/Advocacy
Unless you're recommending it as a packaged solution already installed on the box, I'd recommend you STOP pushing MythTV. It's bloody impossible for 99% of people to install and configure correctly.
That and the fancy "M$" thing pretty much tell me you're just peddling it because of extremism - not functionality, convenience or reality.
Wait until things actually work (and I mean end to end) before you go advocating their use. You'll be much more helpful to FOSS that way. Joe Public is not going to be happy when he tries your solution, and in the end he's just going to to a commercial product anyway. He doesn't care about freedom, Linux, apple pie or your hatred of "M$". He just wants to record TV shows.
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
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 have a distro bash party like slashdot only can, I don't know that the poster will find a decent answer...
---- I am certain of only one thing : I know nothing else.
Windows seems to satisfy this person's requirements:
.NET quite well
* Very barebones - doesn't even come with an ssh client
* Good hardware support (usually)
* Should run all of
* Exceptionally simple window manager
It's not Linux, granted, but it's close enough and very simplistic.
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.
Don't thank God, thank a doctor!
Patents.
And yes, they exist on elements of the ECMA-334 and ECMA-335 specifications.
Lightweight? Don't no nothin' 'bout Linux?
You want Xubuntu. 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.
We suffer more in our imagination than in reality. - Seneca
The posts suggesting you don't re-invent the wheel are wise, especially since there are already packages out there to get you where you want to go with negligible overhead. Check out xubuntu for a pretty much out-of-the-box barebones GUI without spending a week or two (or more) learning the minutiae of Linux inner workings, or if you really want to sink your teeth in, get Gentoo running and only include packages for xfce and mono. Gentoo is pretty much a build-your-own-distro kit (at least last I used it over a year ago).
The only thing I found Gentoo could do reasonably better than Windows or a pre-built distro or even GNOME/KDE on Gentoo, ever, in months of messing with it, is that I could run a Playstation emulator (ePSXe) with no "hiccups" due to background processes kicking in every now and then. Even then I likely just am not configuring something right or I could have solved the problem with a newer and speedier processor. Believe you me, I was looking for applications of "barebones" setups--I had a huge nerd-on for only running the bare minimum of what I needed and thought it would be this vastly superior experience. It's really not.
Really, the minimalism thing is only for learning how things work, very specific situations with limited hardware power, and embedded systems. For a media center with most hardware made in the last like 5 years (or longer, depending), xubuntu will be more than enough minimalism.
Why go with slapdash hacks? Just buy an AppleTV and go with something that works perfectly out of the box. Same with Linux. Mac users never have to worry about the sheer onslaught of malware attacks that Linux, BSD or Windows users have to guard themselves against and hope that a new zero day doesn't trash their boxes.
Make Your Own Ubuntu Live CD/DVD or Distro with Remastersys
/etc/apt/sources.list file.
I'm surprised this isn't more well known, Ubuntu + Remastersys is very nice and easy:
http://www.remastersys.klikit-linux.com/
Official Remastersys forum, here's where you ask and learn:
http://loscompanion.com/forums/index.php?board=58.0
http://en.wikipedia.org/wiki/Remastersys
http://lifehacker.com/software/linux-tip/make-an-ubuntu-backup-live-cddvd-with-remastersys-330181.php
http://klikit.pbwiki.com/Remastersys
http://www.ubuntu-unleashed.com/2007/09/remaster-and-clone-your-ubuntu-install.html
http://www.ubuntugeek.com/creating-custom-ubuntu-live-cd-with-remastersys.html
http://www.howtoforge.com/ubuntu-linux-mint-livecd-with-remastersys
For those that don't already have it handy, here is the repo info for you
# Remastersys
deb http://www.remastersys.klikit-linux.com/repository remastersys/
Please MOD this up if you find it useful, I think it is, but it gets buried with time and people don't see it because I'm posting as anonymous coward, thanks!
Instead of taking that route, I will ask if you can link to a more independent source than Miguel de Izaca, and link to actual content instead of the front page of a blog.
Hey Twat ... er ... Twit. How's it going?
He's a developer. He wants to develop. He wants to use Mono. Legal issues aside, Mono allows quick development of full-function applications. Why do you believe that Mono would have MS's DRM? Why would something written in Mono be required to listen to the broadcast flag?
You're even less coherent than usual today.
Put identity in the browser.
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.)
Apple has capitalized on that train. Heard OSX?
Why not try Exherbo?
OK, I Want to Try Exherbo
No you don't.
Yes I Do
OK, maybe you do, but we don't particularly want you to try it because we don't want to deal with you whining when you find that absolutely nothing works. Exherbo isn't in a fit state for users. We might get there one day, but it's not a priority. Right now, all we care about is getting it into a fit state for a small number of developers.
I've been using Mono for about 5 months now. I develop windows GUIs and web-services in Visual Studio on Windows and so far everything has run very smoothly in Linux. In fact I was shocked by how well its worked.
Not sure what you mean about the 'Mono Operating System' though.