
Babun – A new Windows shell - blearyeyed
http://babun.github.io/
======
ihnorton
Another ^nix -> Windows package system is the pacman port available in msys2:
[http://sourceforge.net/projects/msys2/](http://sourceforge.net/projects/msys2/)

msys2 has an impressive package list [1] and is almost [2] an amazing solution
for mixed-platform projects.

[1] [https://github.com/Alexpux/MINGW-
packages](https://github.com/Alexpux/MINGW-packages)) [2] The one caveat is
that it is still susceptible to the Cygwin BLODA problem whereby under certain
conditions and software combinations, Windows becomes dangerously unstable
after too many calls to _fork_.

~~~
bitwize
And this is why I can't hate Microsoft. They've vastly improved over the past
20 years! Why, I remember when Windows became dangerously unstable when you
did not properly release a GDI resource or passed the wrong things into
RegisterClass...

~~~
jhasse
What has Microsoft to do with MSYS2?

~~~
paulfurtado
I think he was referring to this bit: > Windows becomes dangerously unstable
after too many calls to fork.

------
brandonhsiao
While part of me still wants to tell would-be hackers to just switch to OS X
or Linux, I've realized recently that a lot of hackers are bound to Windows
because they use various software that only works on Windows, like games, or
because of social limitations.

I have no clue how good Babun is, but I have no clue how I ever got anything
done on Windows without a Unix shell. Cygwin is not out-of-the-box enough, and
the package manager is buggy. If Babun really works, I think it will matter a
lot.

~~~
doorhammer
I'm a self-taught programmer. I've basically been using linux 99% of the time
for the past five years, and just have a partition that runs windows if I need
it. Funnily enough, the first real programming gig I landed is a full time job
doing full stack .NET development, so now it's sort of flipped around. I do
miss the command line. I'll have to check this out. I've been looking for a
good windows shell replacement.

~~~
Already__Taken
You should take a serious look at using powershell, they've aliased a lot of
commands to what you expect on linux so you're not completely foreign and it's
got a similar workflow mentality you're used to i.e pipe commands.

And you can work with .NET natively.

That said it is NOT to imitate linux, it's conceptually not the same which is
good because Windows isn't either.

Here's a 101; commands are `verb-noun -parameter value` these pipe |
objects(!) not strings. The first thing you should do is win+R powershell
type: get-alias and after that `get-help ls` just drop in powershell wherever
you used to calling cmd and see how it goes.

~~~
ygra
Another word of advice: Try to use the pipeline as much as possible. Passing
objects through the pipeline is a core concept of PowerShell for a reason.
Don't try writing C# with PowerShell syntax (as I see so many people do on
Stack Overflow).

Some answers I have written on SO that exemplify that:

•
[http://stackoverflow.com/a/7394766/73070](http://stackoverflow.com/a/7394766/73070)

•
[http://stackoverflow.com/a/1046291/73070](http://stackoverflow.com/a/1046291/73070)

•
[http://stackoverflow.com/a/14481495/73070](http://stackoverflow.com/a/14481495/73070)

~~~
doorhammer
I just glanced at the top post you have linked here (I'll definitely take a
look at the others later). At first glance it reminds me of unix pipes,
clojure's thrush operator, and F#'s pipe forward operator. (they're all
different from one another, of course, but the general idea of threading data
through pipes/filter/transformations to get what you want)

If I'm not totally missing the mark there, and that's the idiomatic way to do
things, I'm glad. I really prefer dealing with scripting/command line stuff
that way.

Really appreciate the information!

------
jmspring
Lost me at "based on Cygwin".

Yes Cygwin brings some unix goodness, but it has enough warts that I avoid it.

~~~
jhasse
Can you give some examples?

~~~
gareim
I almost got a 0 on a programming project for an intro to CS class because it
compiled and ran perfectly fine on Windows, but segfaulted on Linux.

~~~
mattdeboard
Which is much less a Cygwin problem than a poor understanding of the tools
problem.

~~~
gareim
How is it not a cygwin (well, technically gcc for cygwin) problem? The port of
gcc was bad, that's all there is to it. When I found a bug where a certain
version of clang on ARM wouldn't compile a program everything else was
compiling, was it a problem with my understanding or was it a bug with clang?

cygwin's ports aren't going to be 100% perfect, not sure why you would claim
that if there's a problem with it, it's MY misunderstanding that's the
problem.

------
viraptor
I was actually expecting a new GUI shell for the recent windows versions. I
used to run bb4win in the w2k times, but it doesn't look like win 7/8 have any
popular alternative shells available. Does anyone know of those?

~~~
math0ne
Blackbox is working on windows 8. If you head over to deviant art you can find
some shots of working setups on the Blackbox group:
[http://blackboxdesktop.deviantart.com/](http://blackboxdesktop.deviantart.com/)

~~~
voltagex_
LiteStep seems to be active with development much easier to follow than
BlackBox -
[https://github.com/lsdev/LiteStep](https://github.com/lsdev/LiteStep)

~~~
616c
I ran a whole lab of Litestep customized for a library once. I loved it. Later
on, when I got into Linux, I fell in love again with the more exotic WM's
largely because of my experience with Litestep.

I have to admin Winboxen all day, so I should try it out with Windows 7. I
have not used it in ages. What is said is, last time I had this inclination,
they lost part of their CVS/SVN history (after a recent upgrade) in part due
to lapsing hosting or something.

I think I begged for a copy of the repo for nostalgia and got it from a newer
dev.

Long live Litestep! Try to have a student hack into a Windows kiosk running
Litestep, and boy oh boy will they (and so did I) find it difficult to get
into system tools on the spot!

------
gosukiwi
I've been using
Cmder([http://bliker.github.io/cmder/](http://bliker.github.io/cmder/)) for
quite some time when I'm on Windows, normally I just develop on Vagrant or
Nitrous using Nitrous Desktop, so when I develop I'm always using an UNIX
terminal, Cmder allowed me to do so on Windows, it depends on Console2 and
it's quite nice, but oh-my-zsh is actually way more awesome, if this works
nicely I'll consider switching. Babun seems to be much more serious than Cmder
though, the fact that you can update it using 'babun update' and you can
create plugins and such makes it so much potent.

~~~
sc00ty
Just a note: Cmder uses ConEmu, not Console2 :)

------
creepr
I immediately recognized the `pact` tool to be a clone of `apt-cyg`. Did a
search on the repo source to confirm
([https://github.com/babun/babun/blob/45484c55a3b017248329ddd5...](https://github.com/babun/babun/blob/45484c55a3b017248329ddd5eb6bfbfa437821d3/babun-
core/plugins/pact/src/pact#L52)). It seems as if the author of Babun is trying
to pass off apt-cyg as his own creation.

~~~
meandthebean
Going down the list of Babun features, it doesn't look like much more than
repackaged cygwin. I thought pact was the biggest innovation, but as a clone
of an existing project it seems misleading to call this "a new Windows shell."

It isn't without value, as others have said cygwin could be made more usable
out-of-the-box, but a little more credit should be given where credit is due.

------
Artemis2
A more mainstream alternative is cmder:
[https://bliker.github.io/cmder/](https://bliker.github.io/cmder/)

~~~
ihnorton
That looks like mostly a skin for conemu, no? I've desperately wanted to like
conemu, but every time I use it something ends up broken in weird ways (hung
tabs, garbled output).

~~~
bmj
I agree. I really want to like it, but moving through history with the arrow
keys can often crash that tab.

------
malkia
I tend to install absolutely the whole cygwin (32-bit and 64-bit in two
different folders). Always use the stable, and install the debug, since it's
easier this way. It's quite big (~20 gb each install - but that includes all
debug symbols).

I'm using all the time Far Commander calling cygwin commands. Some of the
commands are not "callable" since I'm not running Far Commander through
bash.exe/sh.exe (it's possible but a bit unstable). For such cases when the
cygwin command does not have .exe/.com/.bat extension I run it "sh -c cmd
blah", or create shortcuts for most used commands:

    
    
      gitk.cmd (somewhere in my PATH)
    
      @start /B ash -c "DISPLAY=:0 exec /usr/bin/wish /usr/bin/%~n0 %*"
    

I also have this in the Startup folder:

    
    
      startxwin - 1>nul 2>nul
    

Tig is also awesome for git browsing.

------
midnitewarrior
No PowerShell integration makes this useless to me unfortunately.

~~~
gcb0
Everyone who would be satisfied by Cygwin is already using cygwin. so this
will not help them.

and people using CMD must use CMD for some reason, and even though that crowd
would be please by just being able to maximize their windows, this does not
offer any improvement for those people.

sadly, i'm in the second group.

~~~
jamesbritt
Have you looked at Console2?

~~~
gcb0
thanks!

------
a_bonobo
This looks great, but still has one no-go bug: Spaces in directory names don't
work.

[https://github.com/babun/babun/issues/74](https://github.com/babun/babun/issues/74)

and it looks like they don't really want to fix it: >We need an install.bat
fix to stop the installation in such cases.

The problem is, especially on older Windows machines there are always spaces
in directories - XP and 2000 have 'Documents and Settings' in their
%USERPROFILE%, so installation will always fail on these (?!?), others will
have problems with having a space in their user-name.

This seems to stem from Cygwin.

------
username42
VirtualBox with a shared directory is also a way to have all the niceties of
unix without installing MinGW or Cygwin.

~~~
nikatwork
Unless your asshole infra team configure the SOE to actively bork vbox
installs because everything is a "security risk". (But are still running EOL
WinXP).

------
agorabinary
I don't mean to sound like a prick, I'm just genuinely curious as to why
someone would use windows for some CLI work. Are you using some software that
isn't available on more developer-friendly operating systems?

~~~
Lifescape
My situation is I have a Windows machine I game on and don't like rebooting
all the time to get into my arch partition. It'd be nice to have a good shell
to do some dev work on if I wanted to fix something really quick without
rebooting. Right now I just boot up a vm and work on that. Shells I've used in
the past (ConEmu, Console 2, Cmder) have all been good, but not good enough.

~~~
agorabinary
I know from personal experience that Steam works slightly better on windows
than linux, so I see your point there.

~~~
hetman
Never mind the plethora of games which are Windows only.

------
maikklein
I love you. I was thinking how awesome it would be to use tmux on my windows
machine so I tried pact install tmux and it worked.

Thank you so much, that's pretty awesome.

------
chintan39
Great Work. Brings windows more closer to linux

------
reddit_clone
>Would you like to use a linux-like console on a Windows host without a lot of
fuzz?

s/fuzz/fuss ?

------
liveoneggs
The first thing to install with cygwin is rxvt, which runs native (not in X)

~~~
kasabali
I thought rxvt doesn't support Unicode?

------
ilaksh
Can this completely replace git-bash? Does it have ssh and ssh-keygen?

------
owenversteeg
I find it kind of funny how the first thing I wanted to see about this shell
was screenshots. That said, it does feature syntax highlighting so that's not
entirely ridiculous.

------
brokenparser
From the video:

> There's also a rich syntax highlighting

> _invokes vim_

Durrrrr

------
levosmetalo
Stopped reading after cygwin was mentioned.

------
pantalaimon
I wish something as nicely preconfigured as this was available on Linux

------
felipesabino
"on top of Cygwin"... So does it mean still no copy&paste?

~~~
runjake
Copy and paste work here.

~~~
sundvor
Yes! Select the ctrl+shift+letter option in Keys, and you'll even have
ctrl+shift+c and ctrl+shift+v working. That, and the console window auto
adjusts to resized window makes for a great start for me. Not to mention the
ctrl+scrollwheel or plus/minus for changing the font size. Kudos to the devs.

------
hiphopyo
So apart from the package manager, Babun is basically for people too lazy to
install Cygwin, copy over their dotfiles and set a custom font?

