The Latest And Greatest Console Applications?
An anonymous reader writes "While the 'Linux on the desktop' battle has yet to be won, KDE and Gnome are making great progress. There are too many apps to list on the cutting edge of software development for the X environment. But what about those of us stuck with old machines? Or who just want to work with the console? What console-based apps, that are undergoing just as much development as their X counterparts, do you use? Things like instant messengers and bittorrent clients, for example..."
Nethack.
It's a slick little console mp3 player with playlist support. It is quite nice to have when I do something to b0rk X.
that was too easy. was this a trick question?
.sigs are for post^Hers.
I PuTTY tha Fool!
When it comes to IRC gotta love BitchX. :)
This space is not for rent.
Man, how many times has screen saved my butt? Multiplies the usefulness of any console appplication by five.
The version of ls that comes with Fedora Core 2 is 5.2.1. Incredible software! Would use again! A+++++!!!!
One of the most under used console app is Screen. http://www.gnu.org/software/screen/ I am not a sys admin but Screen is still pretty handy.
Not exactly under development but a mature and good irc-client. http://www.irssi.org/
I asked this on the Gentoo forum a while ago and never got a straight answer, so I'll ask it again here: why? Why, except in a few rare cases, would you regularly use a command line IM client in favor of a graphical one? It seems terribly inconvenient.
... that I wrote - PQA - runs only from the console. I could write a Ruby/Tk or a WxWidgits GUI for it... but why bother? As it is, I can feed in all the necessary parameters at the command line and not have to click around a GUI.
At the same time, it's best to write the code in such a way that a GUI could be put on top of it... but for me, a console interface is good enough for now.
The Army reading list
naim is a great, free, GPL'd instant messaging client. Very featureful, intuitive, and in my opinion one of the best examples of ncurses programming out there.
Eschew Obfuscation
gnut, a console nutella app which appears to be a dormant project these days, was pretty cool as far as real applications.
Method of processing duck feet
web: links or lynx
ftp: ncftp
media: mplayer, mpg321
And the mighty fdisk & cfdisk pair cure all wounds.
... some folks start X from the command line, soo ...
Well, I do not quite use console, but since switching to ION (http://modeemi.cs.tut.fi/~tuomov/ion/ ) I have been much more productive in my dual display environment. I run unclutter to hide my mouse, and use naim for instant messaging, links for some browsing, and mp3blaster for music. Oh, and of course xdaliclock to tell me the time.
I maintain a fedora-based server which of course is much better connected than my home machine. At times I browse remotely with lynx to get to sites that require registration before making downloads.
___
internet, productivity blog
This continues to be my port scanner of choice; although it has a pretty front end, it really doesn't need one.
#!
Centericq rocks. I use it for icq, and occasional peep at irc channels. No need to stress the mousehand, and it also has a very small footprint. It's apt-gettable, so there's no excuse to not try it :).
One advantage of text based apps is the fact that no window management is required, so minimal keyboard driven window managers like ion and ratpoison can be used optimally.
Save your wrists today - switch to Dvorak
My old linux text-only boxes exist do do my bulk downloading for me.
Bittorrent itself is the best client, the btdownloadcurses.py script. Building just the ncurses app without needing the bloat of X to link against was a bit annoying. Thankfully emerge can pull it off with "-qt -gtk -gnome" use flags.
Another good client is called ctorrent, written in C, a console app. It segfaults when the d/l is > 2gigs (I think thats why), and sometimes doesnt redownload failed segments.. I had to drag some downloads to a windows box and finish them up with the real client. Shame about the bugs, it's a very light and fast app, I hope it's finished.
An old P200/MMX, a big hard drive, and all my downloading is done via ssh, and my real computer is never bogged down with such tasks. wget, bittorrent, ncftp, etc..
Also, it makes throttling it easy. At the gateway, I just throw all traffic from my "grunt boxes" IP's into a lower queue. Torrents no more grind my connection to a halt, it's much more effective than trying to mark packets for other reasons (size, etc).
dircproxy is a cool lil app too, I can keep connected to IRC and bounce from machine to machine. It doesn't handle DCC's all that well, it always seems to clip them.
I don't need no instructions to know how to rock!!!!
I'm working on a Java plugin, a Flash plugin, and a google bar - as well as a popup blocker and an anti-spyware plugin.
cd, ls, cp, rm, mv, ln, head, tail, tee, grep, find, awk, sed, cat, more, vi, ps, kill
:-)
Gnome is fine to watch pictures or lauch some useful apps like FireFox, Thunderbird and the like but my most useful graphical app is XTerm... lots of XTerm
isn't that what stdin is for ?
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Really with suitable macro you can make vi to do all these things like e-mail, IM, bittorrent and web surfing. Really a great editor.
One of my favorite tools taking care of things when I'm not around! ;-)
Hey - who you calling a Luddite? :-)
Alison
"It is a miracle that curiosity survives formal education." - Albert Einstein
The world's premier pr0n-leeching tool.
To be fair, I'm not sure how much development is happening with this tool. How can you improve perfection?
And then use the 101 glories of emacs,
.el files
multiple screens, shell buffers, getris,
web browser, doctor, oh and editing text.
I am not sure what the most worked on emacs extensions are, or where new ones sprout from,
maybe I should just look for new
between releases.
Maybe it is already perfect and complete.
Be Free: Free Software Tuition
is quite good as well with support for icq000, yahoo, aim, irc, msn, gadu-gadu and jabber
CenterICQ
How do you take a screen shot of tty1 !?!
Pardon me, I'm a WordStar cripple from way back in the early '80s. Got my start coding asm in WordStar on a CP/M machine for a while, then cut my teeth on Turbo Pascal and Turbo C.
The main draw of the WordStar keystrokes? Your hands never have to stray far from home row. It's incredibly sane.
Joe's Own Editor (JOE) perpetuates the sanity in the 'nix world.
For P2P, the giFT frontend giFTcurs does the job well. Look, pretty screenshot. All-in-one package for OpenFT, FastTrack, Gnutella and OpenNap.
I shall go and tell the indestructible man that someone plans to murder him.
A quick check through my history, and a look at open terminal windows, tells me that most of what I do with the command line is directly related to what I would consider the Operating System. I see a ton of ls, cd, more, dig, tar, gzip, etc. I also see myself using ssh to do OS-type things on other *nix machines. The second place for frequency, though probably first for amount of time using, goes to all of those vim sessions. Lastly, I see a lot of Perl and gcc.
Essentially, I don't use a lot of newly developed tools - or even, for that matter, tools that are still being heavily developed. I don't use the command line to browse, and I don't use it to check mail (though there are a few pines in there). The core of my user experience still feels like it's commands, but in fact, the mindless things that take most of my time are done in a graphical environment (like typing this post). The only tools I see myself using that aren't older than me are tools used for security work (a wonderful list of which you may find here), and the occasional bout of StreamRipper.
Somehow, after this post, I feel less like a console jockey than I thought I was. A better question might be: what do console users need?
Paper Pusher
I'm a linux newbie really, but even I can answer this...
1. I might not have a 256M+ of RAM on my system needed to make the current linux GUIs run well.
2. I might have 256+MB, but since my linux box runs as a webserver, I might not want to bog it down with a GUI.
3. I might just PREFER CLIs.
4. And finally, I am a 1337 h4x0r and don't want to use anything that you n00bs might be able to understand.
I'm being serious so if you were going to mod me funny, don't mod me at all!
I meant to say this link.
I guess you could deduce it, but anyway.
Save your wrists today - switch to Dvorak
Midnight Commander...
When doing some rough copying stuff or space-cleaning. I intuitively remembered the commands from 'Norton Commander' from many years ago.
If you mod this up, your slashdot background will turn into a beautiful sunset!
vi
I know, I know someone else got modded as flamebait, but its just not right to list emacs without vi.
screen - to keep lots of applications running that i can access from anywhere.
pork - a console aim client
w3m - a sweet console web browser with optional image support
bittorrent - the standard bittorrent client runs on the console
mutt - powerful and configurable email client
giftcurs - command line client for gift which can share files on the kazaa network
mplayer - console/graphical media player that can play anything
ncftp - an ftp client with tons of features
I always keep a shell window open and no matter how good the editor/IDE I work with, I could not live without grep. Especially as I can pipe output from one grep to the next and refine (-v) the results till I locate some specific result.
And for all my downloading needs I use wget. Besides being way out useful for downloading movies (annoying pages that embed movies and controls that don't allow you to save those movies for later enjoyment), flash animations, PDFs, being able to see the dialog with the server (-S) helped me more than once to figure out what was I doing wrong with my web apps.
__________
Don't belong. Never join. Think for yourself. Peace!
along the whole "ssh to the home linux box to do things they won't let me do at work", mutella is a kickin' gnutella client. it also has a nice web interface which is a bit easier to use ... perhaps it could use the ncurses treatment, but it still rocks.
speaking of consoles -- i wish Ximian would enable a console-only mode for Evolution, which they say is doable. if they did it would be THE killer app on this list.
I guess vi and some other editors have caught up in the visiting-many-files-at-once game, but I really only have to leave when I want to use a browser. And I don't even have to do that--it's just easier.
In no particular order.
1. irssi - really great, Perl-scriptable, user-friendly curses-based IRC client. HIGHLY RECOMMENDED.
2. vim - The best editor on Earth, hands down.
3. w3m - The best console web browser ever. Firstly, it has advanced capabilities for rendering tables. It doesn't do frames as well but those are really hard to do anyway.
4. pork - An ircII themed AIM client. Great for when you're on the road and only have PuTTY...
And, who can forget (although many may contend that this does not count...)
5. apt and dpkg! Dependency-resolving, self-upgrading, cow-mooing, ass-kicking package management system tag team! This is why I swear by Debian.
is called 'tdl'. Short for to do list. You can get it here
After several attempts to live solely on the console, here are the best apps I've found:
Links: a superior web browser alternative to Lynx that formats things correctly on your screen.
Mutt and Pine: Two great email clients that allow you to work much more quickly than with any graphical client.
Nano: My favorite text editor. I refuse to feel guilty that it's easy to use!
Micq: a very nice ICQ client that works much better than the various AIM console clients that are out there.
Finally, last, and well yes, basically least, Seatris: This is the best -- the best! -- of all the console tetris games. It takes me back to wasting hours in the various UC Santa Cruz computer labs.
Um, Go Banana Slugs! Go Stevenson College! I think that takes care of this year's quota of school spirit.
Check out my blog: My Galaxy is Milky Way Adjacent
The best command line tool is startx. It gives you all the power of a full graphical environment within the console.
All the console apps are perfect the way they are. There is no possible way to improve them. GUI apps are just now getting the same functions that console apps have had for the last decade. The little improvement that is happening with GUI apps is mainly with the GUI itself. All they've been doing it tweaking the design and look/fell of their apps.
"People demand freedom of speech as a compensation for the freedom of thought which they seldom use." - Soren Kier
Besides the obvious (and ridiculously awesome) nethack, one of the most important and continuously updated CLI programs I use daily is transcode.
It converts between video formats, and does so quickly and with very good quality. I use it to make XVID backups of my DVDs to play on the road or in my XBOX running MythTV. It's very scriptable, which is why I like it. It also has a great perl-gtk frontend called dvd::rip. You can crop and zoom, as well as browse the various video and audio tracks before you encode. It even supports subtitles.
"He's more machine now than man, twisted and evil."
Or you can just use mpd, which supports most popular formats (MP3, OGG, FLAC, AAC/MP4). Use kmp, phpmp, or mpc to control it depending on your mood (and whether or not you have X started).
LOAD "SIG",8,1
Not to mention, it's easier to do through a ssh session and not get busted talking to your wife or doing something useful for the company. Beware corporate keyloggers though. If you are that far into a big dumb company, you probably can't have Putty and you might as well give up.
Friends don't help friends install M$ junk.
I've found snownews to be a great RSS aggregator, and prefer using it to any of the GUI-based aggregators I've tried. Your mileage may vary, but I'd say it's one of the most useful console applications I've recently discovered.
mc gives you eyes in the deep dark console caves...
The classics never get old.
kill
killall
init
Both these scripts take an argument of where your .torrent files are located, and will continually check the directory to add/drop torrents... they both list all the torrents that you're downloading, which is more convenient than opening many windows, IMO...
The usefulness is that I can run one of these scripts from home, ssh to my home machine from work, and download .torrent files directly to the directory, where they'll be picked up by the script...
The btlaunchmany.py script can be set up as a background process so that once you kill your ssh session, the process won't terminate...
My dog ate my sig
I have a batch script that runs killall and starts playing the metallica album.
Well.. maybe. Or Maybe not. But Definitely not sort of.
You can detach a process, logout, login again, and the process is still running as you left it. This is handy when doing a long compile over ssh.
the best part of 'screen' is that it's detachable from the physical console (or virtual terminal). here are two good uses for screen:
1: i start a large calculation at work in screen, detach it from the terminal, then when i go home i re-attach it to the terminal on my home computer to check the status.
2: my friend only has a weak wireless connection at home, it's not stable enough for him to keep a terminal open for a while. so he runs screen, and starts his work there, if anything craps out on him, he can just re attach and go on as if nothing were different.
both cases are nice for us computational chemists who just write quick and dirty programs that do hard number crunching. most of our programs are tied to the terminal and if the terminal closes, we can easily lose days of computation. i know there are ways around it, but it's just easier to use screen and put all our effort into the chemistry part of the programming.
Lftp is the uncrowned king of ftp clients! Lots of features, RFC-compliant and rock solid; in its property of being text-based it's very easy for the operator to use in a quick and easy way. Using lftp with FISH is damn cool, no more tricky "ssh-combined-with-sftp". Other nice features include FXP, mirror/reverse mirror, scripting, parallel downloading, "Copying of files between two servers, e.g. between FTP and HTTP." etc. More features to be found here.
Truly a prerequisite for a breeze in FTP-land.
"The only clear view is from atop the mountain of our dead selves." - Peter Carroll
Damnit, do not mod me as funny. I am completely serious.
MC, as it is know to those of us that have known the love of Midnight Commander, is a a tool of incompareable power. From its assorted views, to its many tools and commands, it is a diamond in the muddy rivers of linux console apps.
Plus it uses F-keys, F-Keys are cool.
"They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety" - BF
twin gives you all the goodness of X, without the X-ness :) ... X-lite ... low-carb X ... or something like that.
It's like diet X
It was covered on slashdot back in 2001, but it's so cool for streamable media.
I guess there's guis for it, but who cares! If it's streamable media (audio/video) then you can take it from anywhere (internet, hard disk, line input, cd player) do anything to it (volume normalization, decoding, encoding, anything you have a plug-in for) and put it anywhere (internet, hard disk, line out).
I can't believe people don't rave about this!
And, yes, I've lost quite a few months myself... :-(
On the other hand, real life is for users that can't handle nethack. If it wasn't for another console application that has hooked me, I'd reinstall!
My real favorite console application is Perl.
Both incredible power/expresiveness -- and with the syntax, crazy extensions and humour in the Perl tradition, it's like playing a game! :-)
Yes, yes, Python fans -- my adventure is someone elses horror game. :-)
Karma: Excellent (My Karma? I wish...:-( )
snownews is a great console RSS reader.
Granted, this is not strictly a console application, but bitlbee is perfect for those of you who like to use various IM accounts along with IRC. It acts as an IRC server relay to Jabber, AIM, MSN, ICQ, etc. What this means is you set up your favorite IRC client (if it's not irssi it should be ;) and connect to the bitlbee server. There's only one channel there, #bitlbee, and @root will help you set your accounts up. Once you've done so, your contacts will join the channel. To talk to them, you /msg them. It's pretty cool.
"The Almighty tells me he can get me out of this mess, but he's pretty sure you're fucked."
I want a new world. I think this one is broken.
Stupid preview.
Should be "kibitz <username>" and "type 'kibitz -number' to kibitz with <username>".
How on earth could you forget bitlbee, cplay and mplay!?
That allows you to use your irc console of choise, be it bitchX/irssi to connect to msn/aim/yim/icq/jabber -- I use irssi in a detacheable screen session connected to bitlbee to talk to those few people still on msn, and all my pals on jabber.
Also, what about the nicest console audio player? -- my choice is cplay at the moment, but mplay is getting close.
The advantage of mplay over cplay is that it uses mplayer instead of splay. I did a test, and found out splay takes nearly twice the CPU load as mplayer, so a console player based on mplayer is a clear winner, but it needs some more polish first.
Anyway, shame on you!
I'm a huge fan of iftop, a Curses-based interactive network load monitor.
Similarly, there's also ApacheTop, which does something similar based on monitoring of the Apache HTTP server's logs.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
Just wondering, how can you be "stuck" with an old machine these days? I've seen working, name-brand P3/500-class systems sitting by dumpsters at my old apartment complex, a year and more ago. I've got people wanting to give me ~300-400Mhz laptops they have no other use for these days (I have a contact at a South American school which needs all they can get). A friend of mine recently contracted a persistent virus on an Athlon 850 and decided to buy a new Dell rather than call me up to fix it, so he's got a spare he'll probably put out by the curb.
Believe me, I know what it's like not to have any extra cash - but if that's the only reason you're stuck with a computer incapable of running a GUI, then one of us is overlooking something...
Perfectly Normal Industries
Yes, nohup works, but you have to know that you are planning to detach before
you run anything, screen will allow you to handle disconnects (intentional and
otherwise) gracefully.
SealBeater
-- Its survival of the fittest...and we got the fucking guns!!!
I think a lot of people who use console apps don't realize that you can get high resolution text consoles using the framebuffer support, and that it is even possible to get high resolution, accelerated graphics modes without using X.
I find the framebuffer console to be the ultimate interface, period. I am especially fond of the 160x64 character mode, and sometimes use higher resolutions than that. However, in recent kernels, that is, since 2.5 and all through 2.6, the framebuffer support has been very broken for all three video devices where I need it, Radeon 8500LE, Trident Cyberblade/A1, and NForce2.
On some of these, I can compromise and still use vesafb, but not on the NForce. The kernel developers do not seem concerned at all with this problem, and 2.6.x kernels continue to be released with broken framebuffer console drives marked as stable.
I think too many people think of 80 column screens when they think of the console, and that I am very much in the minority in that I greatly prefer the native console in linux, together with fbconsole for wider screens, to ANY X terminal solution.
Nevertheless, I don't understand how such a significant feature makes it into a stable kernel without being marked as experimental, when it is clearly broken.
In particular, the device for the Radeon really bothers me, because it worked perfectly in 2.4, and then broke for 2.6, and remains broken despite my persistent reports.
-fb Everything not expressly forbidden is now mandatory.
OK, here's a very serious question. I swear, this is not flamebait. My question is, what really is attractive about the console over using a mouse and a GUI? I mean, I understand there's repeatablility in scripting and such, and in some cases typing a command is faster than clicking an icon, but isn't almost everything else more tedious and difficult? I'm talking things like looking at the contents of multiple windows at once. Drag n Drop. The ability to move the cursor anywhere in a document with a click rather than a series of keystrokes. I mean, even the super-popular editors like emacs and such just imitate a window using ASCII art. So for serious. Why do so many of us insist on using console apps wherever possible?
Pizza Party
http://www.beigerecords.com/cory/pizza_party/
You can still get it, at least as source code, from here. I still use it and it works reasonably well.
It has a nice, friendly Configure script that'll get it to build on modern Linux systems without any fuss.
The main problems with it are that the Q00L new features are poorly documented, as is how to turn them off, and the that the source code is terrifying. Remember, this was the program that Larry Wall was going to rewrite just before he got distracted by Perl, after which it switched maintainers before finally being (apparently) abandoned.
Still, for all its problems, I haven't found a better news reader. I considered XEmacs GNUS for a while but configuring it is harder to do than just writing your own news reader.
Freshmeat had an article on The Antidesktop a while back that was a good read.
mc for messing around with files.
"It's too bad that stupidity isn't painful." - Anton LaVey
I live in text mode. Here's a selection of my preferred apps. Most of these are still in active development (though some are more active than others).
screen. Simply indispensable. It slices and dices console sessions. Pretty much everything I do, I do in screen. I've a page elsewhere that describes everything screen does for me.
zsh. My shell of choice. Think of all the good features of bash, ksh, and tcsh rolled together. (Without much of the ickiness, particularly the csh heritage.) Personally, the killer application of zsh was that fact that not only did it have context-sensitive completion but (unlike tcsh) it shipped with hordes of completion definitions right out of the box. Type 'dpkg -L fo<tab>' and zsh will autocomplete on the Debian packages currently installed on your system. With an ssh-agent running, type 'scp otherhost:fo<tab>' and zsh will ssh to the other system and autocomplete on the files available on that host.
irssi. The best IRC client I've come across, certainly beating out IrcII, BitchX, and even epic. Multiple windows, extensible, tons of plugins available.
bitlbee. This is actually an IRC-to-Instant-Messaging gateway. It allows me to use irssi and the IRC environment with which I am so familiar to also deal with those of my friends and family who insist on using the various IM services.
snownews. curses-based RSS aggregator. I shopped around a bit before finding an aggregator that I liked. snownews does everything I need.
mutt. Possibly the best mail client around, GUI or not. While pine is okay (and simpler to use), mutt is much more customizable and scales better to large volumes of email.
procmail. Again, not exactly command line, but essential to my email usage.
Emacs. My text-mode editor of choice. Feel free to substitute XEmacs or vi (preferably vim) at your own preference. I prefer emacs to vi, though I know a decent amount of vi, as any sysadmin should. I actually like XEmacs a little better than GNU Emacs, but GNU Emacs has better UTF-8 support.
w3m. There's also links; I'm not tremendously familiar with it because w3m fills all of my needs and it used to be the case that w3m had better HTML support than links, but I don't believe this is any longer the case. Of note is the fact that w3m can do tabbed browsing, though it's not multithreaded, so you can't read one tab while another is loading. Also, if you run w3m with a valid $DISPLAY, it can even show images in the pages it displays.
moosic. This is a music jukebox. The features that distinguish it from other such programs are twofold. First, it runs as a standalone server; you interact with it via a command line client. (In theory, a curses or GUI client could be written, but to my knowledge none yet has.) Second, it's customizable with regards to how it plays music. It has a config file where you tell it what programs to use to play various music formats (it does come with reasonable defaults). Someone elsewhere in this article pointed out mpd; I'll have to look at that, but it at least doesn't appear to support the various MOD formats.
mplayer. It does more or less require some graphical output (X, framebuffer, whatever), but it's run and displays it status in text mod
355/113 -- Not the famous irrational number PI, but an incredible simulation!
Then what are xmove and xNest? Both work fine, for single apps or a screen like virtual terminal you can move around.
--
Evan "I don't use either, but I do seriously use screen... several of my scripts [ "$TERM" == "screen" ] && do things"
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
Let's look at a typical novice's session with the mighty ed:
l o
:)
golem> ed
?
help
?
?
?
quit
?
exit
?
bye
?
hel
?
?
eat flaming death
?
^C
?
^C
?
^D
?
---
The full mind-blowing reasoning on why to choose ed "Ed is the standard text editor." available from http://gammatron.novarese.net/txt/ed.html
Have fun.
http://codeandlife.com
Ecasound is the best recording application you can get, and it's all console, baby. Wow. ;)
Like what I said? You might like my music
xmove is buggy and crashes on even simple things like xclock. the fact it hasnt been updated since 1996 probably contributes to that. it doesnt know how to handle any of the newer x11 protocols.
also, it doesnt work _at all_ if your display depth doesnt match.
you can't redirect xnest, nor detach/reattach. you _can_ use xnest to run 'tiny' xservers resized to your application's window and then vnc to them, but that's not quite the same thing.
All console aplications are wrapped inside GNU Screen
- shell: bash
- editor: vim
- email: mutt
- audio playback: cplay front-end
- mixer: aumix
- irc & im: irssi
- im/irc gateway: bitlbee
- web browser: w3m
- p2p:
- client:giFTcurs
- daemon:giFT
- news aggregator: raggle
Why did I ever begin? The list could go on forever. grep, ssh, scp, ncftp, perl, sed, wget,