You are not logged in.

#1 2009-07-19 18:17:26

gaudencio
Member
Registered: 2009-03-30
Posts: 33

making the cli better

hello all,
I have fallen in love with the cli, and now rarely load up X, since I am far more productive wihout it. In fact, my laptop doesn't even have X installed, which makes it so much easier to concentrate when I have to really work. However, it took a lonnng time to set everything up and get it working the way I wanted, so, I was wondering if anyone has ever thought about creating a bundle of packages with included scripts and config files that would serve as a complete cli "desktop" environment? Something that could be installed with a single command after installing the arch base. Is there anything out there already?

I know the best thing about the cli is the ability to customise the hell out of everything, but it would be nice to have SOME standards, because for software like mcabber and rtorrent that I only use occasionally the keystrokes have never burned themselves into my memory and I have to keep referring back to the man pages every time I want to use them. What I'm imagining is an environment based on screen, with a unified, sensible set of config files (with vi keybindings.....), a centralised help system and perhaps a few other things to make life easier. I won't list all my ideas for it unless anyone's interested, but one thing that would be realllllly nice is a command line launcher like GnomeDo.  I know someone's going to reply that bash/zsh can emulate gnome do with a bit of tweaking and half a dozen scripts, but I'm not a programmer unfortunately, and I can't figure it out myself. All I really want from the app launcher is the ability to load up a document in vi without having to hit tab twenty times (my documents are nested ridiculously). Ctrl-R search almost does it, but only if it's already in memory.

Any thoughts?

Offline

#2 2009-07-19 19:37:58

smurnjiff
Member
Registered: 2007-06-25
Posts: 211

Re: making the cli better

You may want to consider text based indexing: recoll.

Offline

#3 2009-07-19 20:17:33

jbusch
Member
Registered: 2009-01-27
Posts: 20

Re: making the cli better

Is Viper Window Manager anything like what you are thinking of?
http://vwm.sourceforge.net/index.html
http://bbs.archlinux.org/viewtopic.php?id=59572

As for not being able to remember commands, you might want to look into creating aliases in your .bashrc.

Offline

#4 2009-07-19 21:24:57

pauldonnelly
Member
Registered: 2006-06-19
Posts: 776

Re: making the cli better

Maybe you're looking for Emacs?

Offline

#5 2009-07-19 21:26:02

gaudencio
Member
Registered: 2009-03-30
Posts: 33

Re: making the cli better

thanks for the replies
viper window manager is interesting, but pretty much the exact opposite of what I want! I hate windows - love screen. I was really thinking more of a "desktop environment" - really nothing more than a set of already existing files, but with config files and scripts that linked them all together. Basically, a system that can be used efficiently without X. As I said, I already have one set up on my laptop, but it could be soooo much more efficient ifonly I had the time and the skill to configure it properly.

as for the bad memory - I didn't mean with commands. I meant more along the lines of having the same command to quit a program - but that's a really obvious and stupid example. I really just mean a unified "feel" to all the software, in the same way that most X programs all use a similar menubar that allows you to quickly get to grips with new software without having to memorise commands.

nvm - is that nvm virtual machine? I can't really see how that would help.

recoll looks interesting, but needs seems to need x which defeats the object, and appears to be more of a back end - but I haven't had the chance to look at it properly, so sorry if I'm mistaken. Basically I wasn't really expecting indexing of the contents of files, just the names so I could type "vi xxx" and it would bring up some matching files and let me select, same as gnomedo.

I guess it's an odd request, asking for a complete system without X, but I find my concentration is improved enormously. Ratpoison is great, but it's still too easy to get distracted. Yeah, I know, I should just work on my discipline.....but it's not just that. I can actually work a great deal faster just using screen, vi, elinks and mutt. All I was wondering was if anyone had ever gone down the route of a complete system without X, made easy for people who don't want to spend masses of time fiddling with rc files.

thanks

Offline

#6 2009-07-19 21:28:55

gaudencio
Member
Registered: 2009-03-30
Posts: 33

Re: making the cli better

haha, no, I'm pretty sure I'm not looking for emacs. I like having all the applications separated, and I love vim way too much.....

Offline

#7 2009-07-19 21:43:11

gaudencio
Member
Registered: 2009-03-30
Posts: 33

Re: making the cli better

sort of off topic question - I mentioned my laptop is super minimalist - no X, very, very few applications, just the bare essentials. So why is it that when I just went to do pacman syu it says "total installed size 350mb" !!! Do I really need all that stuff? Just for text editing and email? Seems insane since I only updated a couple of weeks ago.

Offline

#8 2009-07-19 21:54:48

jbusch
Member
Registered: 2009-01-27
Posts: 20

Re: making the cli better

Arch relies on a rolling release model, which means that updates get pushed out as soon as they are available.  As such, I wouldn't be surprised if you found an update for one of your 'few' packages every single day.  And since pacman grabs pre-compiled binaries, when something changes, you can't download just the change; pacman grabs the entire thing again.

Offline

#9 2009-07-19 22:05:05

gaudencio
Member
Registered: 2009-03-30
Posts: 33

Re: making the cli better

okay, that makes sense now you';ve reminded me it has to download the whole pre-compiled package. I'm too used the rsync meaning of "update". But I presume when it installs that 350mb it deletes whatever packages were there before, right? It's only a little netbook with 4gb of storage

Offline

#10 2009-07-19 22:35:43

jbusch
Member
Registered: 2009-01-27
Posts: 20

Re: making the cli better

http://wiki.archlinux.org/index.php/Pacman

You probably have an archive in /var/cache/pacman/pkg
sudo pacman -Sc
sudo pacman -Scc

The first removes all package caches of packages that aren't installed, whereas the second one removes all package caches.  The drawback is you won't ever be able to downgrade packages.

Edit: If you want to know how large your cache is
du -hs /var/cache/pacman/pkg

Last edited by jbusch (2009-07-19 22:40:05)

Offline

#11 2009-07-19 22:57:51

Lexion
Member
Registered: 2008-03-23
Posts: 510

Re: making the cli better

I don't know of any, but it seems like most of it can be encompassed in a simple PKGBUILD.


urxvtc / wmii / zsh / configs / onebluecat.net
Arch will not hold your hand

Offline

#12 2009-07-19 23:16:13

tomk
Forum Fellow
From: Ireland
Registered: 2004-07-21
Posts: 9,839

Re: making the cli better

No, you can't put this kind of stuff in a PKGBUILD. The OP is talking about dotfiles in the user's $HOME, and Arch packages can't touch that.

Offline

#13 2009-07-20 01:19:26

crouse
Arch Linux f@h Team Member
From: Iowa - USA
Registered: 2006-08-19
Posts: 907
Website

Re: making the cli better

Sounds to me like the OP needs to become intimately familiar with alias's, find, grep, and bash (or some other shell).
There is no standard which you speak of, and Arch (to quote someone here) "is what YOU make it."  smile  Something like gnome-do could be done with find/grep/alias's, and perhaps a config file. 

personally, I am at the command line most of the day, but i'd hate to be locked into that, as several things come to mind that require X. OpenOffice, Firefox, Konqueror, Konsole and a few other apps I use everyday. Hard to replace graphics in a command line browser wink 

Interesting idea though..... a command line only system.  wink

Offline

#14 2009-07-20 01:59:55

plurt
Member
Registered: 2008-10-16
Posts: 88

Re: making the cli better

crouse wrote:

Hard to replace graphics in a command line browser wink

links -g

links with graphics(framebuffer),  try it out wink


When everything's coming your way, you're in the wrong lane I say.
FAQ / Beginners Guide / The Arch Way

Offline

#15 2009-07-20 05:10:03

SpeedVin
Member
From: Poland
Registered: 2009-04-29
Posts: 955

Re: making the cli better

plurt wrote:
crouse wrote:

Hard to replace graphics in a command line browser wink

links -g

links with graphics(framebuffer),  try it out wink

links -g/links are very good browser but don't have java script support do you know any cli browser that have js support that will be good wink.


Shell Scripter | C/C++/Python/Java Coder | ZSH

Offline

#16 2009-07-20 09:36:39

gaudencio
Member
Registered: 2009-03-30
Posts: 33

Re: making the cli better

Ok, seems I didn't make it clear exactly what I was looking for, which isn't surprising since I'm not really sure myself. Basically, I've just found that using a system without X makes me much more productive for all sorts of reasons. However, it took a long time to learn and set up. I'm not talking about the Arch side - that's all straight forward and very, very well documented. I'm talking about the fact that there is no unity between all the different bits of software I use, and, while I enjoy the eccentricity of it, sometimes it would be nice to have a set of standards.
The real problem is exacly what someone pointed out here - I need to become more familiar with bash, grep, find, and many other commands. I'm not averse to learning, the problem is that the level of knowledge you need can be prohibitive when you just want to do a few simple tasks. The fact is I'm never going to become a real cli whiz. As I said, I'm not a coder nor a network administrator, I just prefer using cli tools because everything works so much smoother - plus, I can go and sit in a cafe with wireless and use my home pc over ssh (yeah, I know you can do X forwarding, but it's slooooow). All I was wondering is if anyone had ever considered creating a command line distibution of linux (based on arch....I would never want to leave arch) which had a slightly more intuitive system - still using the same commands, mind you. It might be nothing more than a set of config files. I'll give you an example of why:
my netbook setup, as I said, doesn't have x. It uses keybindings in screen for ctrl-w and ctrl-d to very quickly move back and forward between screens. (I know ctrl-d is a bash command, but I never use it so I don't mind not having it) So, all works smoothly until I get to a piece of software like rtorrent (I think) which uses ctrl-d for a fairly important command (I forget what). Then, I have two options. Either I go and try and find out how to tweak the rtorrent rc to set it to something else (which I'll likely forget, as I rarely use it) or I have to change the screen keybinding. This may all seem rather trivial to those who've been using linux for years and know how to dive straight into an undocumented rc file....perhaps it is all rather trivial. I was just wondering if anyone had ever created a modern distribution with a set of standard files - rather like fish is designed as a "friendly" bash (though I confess I had more problems with bash and switched back)

by the way, I'm not against X. I realise it's essential for many things. But I tend to find I prefer loading up a single application in X when necessay, rather than a whole DE.

Offline

#17 2009-08-01 22:07:24

jeff story
Member
Registered: 2009-05-31
Posts: 237
Website

Re: making the cli better

Have you looked at INX Linux.

http://inx.maincontent.net/announce-inx-1.0.html

I played around with it about a year or more ago....

Although it's Ubuntu based and primarily designed to teach command line, I thought you may get some useful info regarding the "usability" issues you seek.


Check out my website for info on the Arch Linux Installer

Offline

#18 2009-08-02 01:27:45

Arm-the-Homeless
Member
Registered: 2008-12-22
Posts: 273

Re: making the cli better

jbusch wrote:

Is Viper Window Manager anything like what you are thinking of?
http://vwm.sourceforge.net/index.html

Woah how have I not seen that before?

Offline

#19 2009-08-02 18:24:55

Hrod beraht
Member
Registered: 2008-09-30
Posts: 186

Re: making the cli better

gaudencio wrote:

I guess it's an odd request, asking for a complete system without X, but I find my concentration is improved enormously. Ratpoison is great, but it's still too easy to get distracted....All I was wondering was if anyone had ever gone down the route of a complete system without X, made easy for people who don't want to spend masses of time fiddling with rc files.

Is it X that you actually find distracting or is it the GUI apps you can run under X?
My situation sounds quite similar to yours, and I also run all of the apps you mentioned, like screen, vim, rtorrent (via screen from my server), ssh, etc. I also don't care for distractions and prefer to do almost everything from a command prompt. However, I don't shun X altogether, as it's useful for some programs. I found the best solution was running Ratpoison, but also limiting the GUI apps that I run. With Ratpoison's lack of any eye-candy and un-anything-ness, it totally stays out of my way and it's like not even being under X. If it's the GUI app bloat you really don't care for, you can run X and Ratpoison and still remain very command-line focused. For instance, I don't have any file manager loaded on my system at all (GUI or otherwise), but simply use Bash in a terminal. I guess my point is that even though you're running X, it doesn't mean you have to automatically tend towards GUI app bloat. Only use GUI apps if and when they're appropriate. Otherwise, Bash and command-line apps all the way, which, even when running under Ratpoison, hardly gives you desktop-environment bloat, especially since there are no icons, no window decorations, etc. Just a solution that works extremely well for me. smile

Bob

Offline

#20 2009-08-02 21:43:08

ArchArael
Member
Registered: 2005-06-14
Posts: 504

Re: making the cli better

Hrod beraht wrote:

For instance, I don't have any file manager loaded on my system at all (GUI or otherwise), but simply use Bash in a terminal.

I am also a CLI lover but I use thunar from time to time. Obviously you don't have files named with chinese/japanese/korean/cyrilic chars. How would you mange them in bash? With mc?

How about the auto mounting, are you using udev rules for that?


Sorry for the off topic. The argument is very interesting. But although I like CLI approach better then GUI sometimes the latter is better. There aren't  textual browsers that are supporting javascript/java and flash. Gimp would be another good example. ImageMagick is good for scripting but it is quite unusable for drawing.

Two suggestions for you.

You could simplify your archives managing by using atool: http://www.nongnu.org/atool/. There is a package in community repository.

I would suggest you also (midnight commander) as file-manager. You can do many things from mc. I prefer coreutils and thunar for file managing but many people like mc.

Last edited by ArchArael (2009-08-05 08:17:30)

Offline

#21 2009-08-02 23:10:10

Hrod beraht
Member
Registered: 2008-09-30
Posts: 186

Re: making the cli better

ArchArael wrote:
Hrod beraht wrote:

For instance, I don't have any file manager loaded on my system at all (GUI or otherwise), but simply use Bash in a terminal.

I am also a CLI lover but I use thunar from time to time. Obviously you don't have files named with chinese/japanese/korean/cyrilic chars. How would you mange them in bash? With mc?

Thunar is probably my favorite GUI file manager. I used to use it a lot, but as I transitioned to less of a GUI environment (Gnome -> LXDE -> Openbox -> Evilwm -> Ratpoison) I started using Thunar less and less and finally got to a point that in the time it took to start it up, I could have done what I wanted to do in Bash. Especially the more mundane tasks like mv or cp. So, since I wasn't actually using Thunar, I just went minimal and freed up the disk space and uninstalled it. And no, luckily I don't have any file names with Chinese/Japanese/Korean/Cyrillic characters. I'm not sure how I'd handle them, other than to change the name tongue Bash auto-completion?

ArchArael wrote:

How about the auto mounting, are you using udev rules for that?

I don't auto-mount anything (I think I'm still scarred from 10 years ago when bad Windows automount things used to happen big_smile ) For things like USB memory sticks, which I use rarely, I just do it manually. I've always got a terminal open, so don't really miss automount. But most of my mounting is network-related mounts, where automount wouldn't be all that helpful. A few are automated via fstab, but most I just do via a quick sshfs command using a key.

ArchArael wrote:

Sorry for the off topic. The argument is very interesting. But although I like CLI approach better then GUI sometimes the latter is better. There aren't  textual browsers that are supporting javascript/java and flash. Gimp would be another good example.

I agree that GUI is sometimes better. In fact, I use the Gimp as well, and my browser is GUI, although minimally so since I use Conkeror which has no buttons or mouse-y menus, but lots of nice keyboard control (highly tweaked and personalized keybindings for maximum speed).

ArchArael wrote:

I would suggest you also (midnight commander) as file-manager. You can do many things from mc. I prefer coreutils and thunar for file managing but many people like mc.

I never quite grepped the "in-between" types of file managers. I can understand the full GUI file managers and the enticement of a nice drag-and-drop of an icon at one end of the spectrum, as well as the 'un-file-manager' aspect of Bash at the other end of the spectrum, but was never quite happy in the middle cool

Bob

Offline

#22 2009-08-03 00:11:19

alterecco
Member
Registered: 2009-07-13
Posts: 152

Re: making the cli better

gaudencio wrote:

Any thoughts?

A few thoughts:

I think what you want is difficult to achieve as an easy "unpack and run" solution. I consider tuning my machine a labour of love, and the more years I have worked with linux, the better things are running. Every time I do a reinstall, things end up tuned better, because I learned from previous actions. It is a bit like asking for a perfect directory layout. It is so very much an individual taste. That being said, there are things one can learn from others, and sharing these is a good thing.

Personally, I have spent a lot of time trying out software available for linux. Every time i come across a new task that requires it's own software, I spend the time to look at the alternatives available. After choosing one, I spend the time learning what it can do and how to configure it, and then configure the things that immediately jump to attention, and the rest slowly as I find a pattern of how I use the software. Sometimes I am not satisfied with the program, and if it is not something that I can change myself, I keep my eyes open for alternatives that I have not heard of before. As an example, i was using rtorrent, but like you, I was not happy with it. Now I use transmission-cli, and I consider that base covered. I had a config file for rtorrent with a few settings, and keep that around in case I end up going back.

I also guard and organize my configuration zealously. It is the fruit of labour. Personally I have a `dotfiles` directory where i replicate my directory structure, and then symlink the actual files to their propper location. This dotfiles directory can then easily be backed up, and on reinstall I have a complete overview of what I use.

A few comments:

gaudencio wrote:

I was wondering if anyone has ever thought about creating a bundle of packages with included scripts and config files that would serve as a complete cli "desktop" environment? Something that could be installed with a single command after installing the arch base. Is there anything out there already?

Yes. The bundle that I install, that serves as a complete cli environment, is my own. I know what programs I use, and what configs I use with them. Getting set up after a fresh install, takes ~20 minutes (on a known hardware configuretion). I know that this is not the answer that you were looking for, but in the long run, I think it is the only one that will satisfy you.

gaudencio wrote:

a centralised help system

IMO, the man pages serve that purpose, and none do it better. Between --help, man *, and google, I find it hard to imagine a better more effective help system. I would be open to alternatives though

gaudencio wrote:

one thing that would be realllllly nice is a command line launcher like GnomeDo.  I know someone's going to reply that bash/zsh can emulate gnome do with a bit of tweaking and half a dozen scripts, but I'm not a programmer unfortunately, and I can't figure it out myself.

I am not sure if anybody said it, but here it comes again smile. Bash/Zsh is really capable of being what gnome Do is. Even if you call yourself a non-programmer, I believe that if you are comfortable using the cli, you could also end up being comfortable using bash, and some of it's more advanced features. You really don't need to learn much to make excellent use of it. Start scrathing your itches. If you find yourself calling the same command line, with options you have to look up over and over, then make an alias for it. If you often run one program before another, then make a small script of it. Stuff like that will quickly teach you how to control your cli environment. One day you will even find that you can write scripts in it.

gaudencio wrote:

All I really want from the app launcher is the ability to load up a document in vi without having to hit tab twenty times (my documents are nested ridiculously). Ctrl-R search almost does it, but only if it's already in memory.

As for navigating deep directory structures, I really recommend something like cdargs or apparix. Personally I use apparix, but again, it is a matter of taste and requirements. For Ctrl-R I suppose making your bash history huge would help smile

To sum it up:

Using a computer, using linux and using the cli, is a skill. Consider it one. Plan your approach, and your daily use. Do not feel frustrated that getting something to work the way you want it takes time. If you do it, and safeguard your knowledge, you will reap the rewards. Hopefully you will be using linux and the cli for many years to come, so every ounce you pour into reaching cli zen, will be worth it. For me, patience and dilligence are keywords in this approach. Hope that helped...

.]

Last edited by alterecco (2009-08-05 08:40:31)

Offline

#23 2009-08-05 08:21:56

ArchArael
Member
Registered: 2005-06-14
Posts: 504

Re: making the cli better

ArchArael wrote:

Two suggestions for you.

You could simplify your archives managing by using atool: http://www.nongnu.org/atool/. There is a package in community repository.

I would suggest you also (midnight commander) as file-manager. You can do many things from mc. I prefer coreutils and thunar for file managing but many people like mc.

Sorry, Hrod beraht, this was intended for gaudencio. Thank you for your interesting replays for automounting and filenames.

gaudencio, try atools, I suspect you will like it/them.

alterecco wrote:

I also guard and organize my configuration zealously. It is the fruit of labour. Personally I have a `dotfiles` directory where i replicate my directory structure, and then symlink the actual files to their propper location. This dotfiles directory can then easily be backed up, and on reinstall I have a complete overview of what I use.

Interesting approach. And by the way thank you for suggesting apparix. Quite useful. wink

Last edited by ArchArael (2009-08-05 08:30:43)

Offline

#24 2009-09-15 21:25:27

gaudencio
Member
Registered: 2009-03-30
Posts: 33

Re: making the cli better

Hello all, I know I shouldn't really reply to a dead thread, but I wanted to say thanks specifically to alterecco - gave me a different perspective on it, and probably the way I'll end up going. INX looks interesting...promising even...though it wasn't really for learning that I was interested in going Xless. It comes down to simply being more productive. However, the productivity comes at a price - learning the ropes - and the investment in time may actually end up being counter productive if you only have very modest requrements like me. All I was really after was some sort of unity - e.g. the f1 key would show keyboard shortcuts in all programs. But alterecco is right, sadly, it just needs more time on my part put into configuring things and learning bash scripting. It will come with time. I just discovered .bashrc functions this week....so much more useful than simple aliases.....so on I go

Thanks for all the replies

Offline

Board footer

Powered by FluxBB