I've been using Linux for a while now, and there are a few things that have been kind of bugging me about the way that Linux works. These things come from a background of using Windows, because that is how I grew up using a computer. Don't get me wrong, I enjoy using Linux for a lot of reasons, but I thought I would let some of these things be known so that maybe someone can help me find solutions. Beware, this is going to be pretty much a stream of consciousness rant, because that's just the way I write.
First of all, I see a problem in package management, and that is because package management makes it so easy to install a bunch of stuff, I don't really know exactly what capabilities I have on my computer. I don't know where the files for configuration and documentation are. I know that this is partly because Unix sets things up differently than I am used to. Because in Windows you usually have a different folder for each program where you can find all the things pertaining to that program. I have started to be able to use things like man pages, but I find them hard to understand sometimes, I think they're written to be concise for people who really have been using Unix for a long time.
So then we get into having graphical programs that work to configure things for us, but then it feels like we seem to have different programs doing different things to our computer, and I get lost with them. Like I have done a bunch of different things to try to get my computer to stop shutting the screen off, and then I don't really know which thing I did changed which setting that actually worked.
So sometimes I miss having Control Panel, where I knew I could go and just tell my computer never to turn off the screen, or set up things like file sharing permissions. File sharing is another thing I find difficult to set up properly in Linux. There are many different choices, and they are often difficult for me to configure. I think I have SMB working right now on my netbook, but I don't really remember what I did to get it to work right, so I would have to read up on it again if I wanted to set it up on another computer.
I guess the main problem that I keep hitting is that there are too many options and opinions about how to do things, and I sometimes just wish that there was just one easy way to set things up. This is starting to become a really big rant, but I have this idea that has been rolling around in my head for a while and I want to get it out there.
I have used things like YAST, on OpenSUSE, and it seemed like a good idea. But what bugs me, is it comes back to this idea that when things are easy to do, it makes us lose track of what is actually happening on the level of lines in configuration files.
So what would be nice, I think, is a program like control panel, that does a bunch of different configurations, but also, somehow, let's you know how to do it manually. So like there would be a part of it that set up SMB, but it would actually give you some indication of what it was doing to what file, while you're making those changes.
Anyways there is my rant for now. I hope that nobody takes this as Linux bashing because I love this operating system, and I could say a ton of bad things about Windows too, but that wouldn't do any good because of the closed source nature of Windows.
There are standards for where documentation and certain parts of programs go, see http://en.wikipedia.org/wiki/Filesystem … y_Standard. As far as the control panel thing, you mentioned YAST, and gnome, KDE, XFCE, and other DEs have their own control panel-esque systems. If you want to know what these apps are doing, you can just look at the source code that is publicly available.
Hmm that is interesting. I am not opposed to looking at the source code of those programs, but I wouldn't actually know what to look for.
I know that these problems I have with Linux are really my problems. I hope not to ever give the impression that it is someone else's fault. I do hope to be able to some day understand and write code. I am going to school for computer science. I just don't think I am to the point right now where I could solve my problems with looking at that code you're speaking about.
I liked YAST when I found the terminal version of it, which I assume was probably developed first. The GUI version seemed clumsy in many parts.
I still find a lot of things happening in my OS to be really mysterious. I would find it helpful if the software itself was helping me along the way to cut away at that mystery.
Last edited by urata (2012-11-28 08:25:38)
All you need is a forum like this to ask questions in; you will nearly always be shown how to do it for yourself.
Think of KDE, Gnome & the like as different, & you will understand why they use different ways to configure their system.
Underneath all GUI's it is just Linux. I started on the command line & I think it made it easier for me to understand what was going on in the background when using a GUI, so I would suggest you get to know the basics of the command line as soon as you feel ready to learn Linux.
Take a look here for a good free introductory book :-
I agree about the command line being the way to get things done a lot of the time. I am not ignorant of that fact. I have been using linux for over a year as my main OS so I have done quite a bit with the command line. I started with windows back in 3.1/DOS so I even remember using the command line back then for stuff. I am not at all opposed to using the command line to mess with my system. I rarely use synaptic any more, I much prefer apt-cache search and apt-get install.
I will take a look at that guide. I have been reading up a lot on the gnulnix system. I have started but not finished trying to compile a Linux from scratch system for instance. I have also been trying to learn vi/m and emacs (a little). I am the type of person who starts a lot more projects than I will ever hope to finish.
So I am definitely attempting to learn. I hope one day when I do know a lot more about the system I won't forget what it's like to not know. That's one of the reasons I keep a journal. I like the idea of software that can help make things easier without hurting our understanding of what's going on. I don't think that is a goal many software designers shoot for.
I have learned a lot from this forum. I'm finding it useful to just browse the forum, instead of my usual method of searching google for answers to problems. That way I find answers to problems I hadn't even thought to look for an answer for.
I can't really help with the "Control Panel" stuff, since I'm not really a DE user, and honestly, I can't even remember what the Windows Control Panel used to look like.
But with regards to your "Program Files" question; you could read up on dpkg. I'm not telling you to use it to install packages (though there's some good learning to be had there as well), but some of it's simpler commands can be useful.
I know you don't like man pages, but the one for dpkg is decently written
If you want to list all the files installed on your system by a certain package, do
dpkg -L [package]
Try it for openbox;
dpkg -L openbox
Conversely, if you've located a file and you want to know what package(s) brought it in, do
dpkg -S /path/to/file
dlocate is a fast alternative to the above mentioned commands. Install it and check the man page for options.
sudo apt-get install dlocate man dlocate
apt-file is another useful tool. It can tell you which files will be installed by a package before installing it.
I don't think it comes standard in Crunchbang/Debian, so you'll have to install it first.
sudo apt-get install apt-file sudo apt-file update apt-file list [package]
That's all I can recall right now. Sadly, I no longer run a Debian install, so not much else comes to mind right now. My cranium capacity is limited and syntax tends to get overwritten by whatever tools I'm using in my currently installed OS. I'm sure more will come back to me if I install a Debian-based distro again, but I'm not willing to do that at this point in time, for practical reasons.
Point & Squirt
Unfortunately there is no such things like a universal control panel for all DEs, but there are frameworks or recommendations that each of the above mentioned solutions follow (freedesktop). Then the DEs with the used toolkit (gtk, qt, tk, ...) have their own designing guidelines, so I guess there won't be a universal control panel, at least not a one-for-all solution. It's mostly a GUI problem, IMO. The only way to do it with little dependencies is by using the command line, and scripts that can be called through some kind of interface, dialog. If you are interested in a 'home-baked' solution, this is quite 'easy' to solve.
And package management, uhhh. Now that's a topic in Debian-land
Sweaty lads picking up the soap | I love the new "Ignore user" button
Thanks for your responses. I will work on my documentation reading. I actually am starting to get used to doing things in Crunchbang by editing config files in geany. I'm getting more curious about some of the command line programs that have features that I may have overlooked. I guess what bugs me is that I have been using linux for a long time and there are certain things that I feel I should have a better grasp on by now(file sharing is a big one). But the real problem is that I have mostly been scratching around on the surface of a bunch of different distributions without really digging very deep. I am addicted to Distrowatch.
It's about time I settle in to an install for a while, I am going to keep #! as my primary OS, and stick around in this community.