Maybe you can help me out here. I'm looking for a unix/linux tool that logs everything I do. I often install software and make system changes only to forget what I did a few months later. What I want is a tool that would create a new file everday. The contents of the file will contain separate entries for each file I view, each file I change, each file I execute, any directories I visit, etc. Of course it can't just work throught the shell prompt. If I visit a file in EMACS, I want that to get recorded as well. But I only want files to get recorded if there is user interaction. For example, if I type make foo, and foo needs 600 source files to be built, I only want foo recorded.
Another useful tool would be a way to highlight text from anywhere, right click, select google, and have the text sent to a google search box in an open browser. Finally, I'd like to be able to send a file to an EMACS buffer right from the shell prompt. Something like - /home/todd> toemacs myfile.
These tools would be useful to me. If you know of such a tool, or want to make one, or even have an idea of how it could be done, send me an email. I will post a link.
Now here is what I really want. Have you ever tried to install a new package only to have an incredibly useful error message such as "can't find resource foo" ruin your state of new software euphoria? This is generally the cause of most of my installation troubles (after that comes configuration issues). After spending 12 hours searching the internet, and experimentally placing foo in various directories and trying to reinstall (if necessary), I might get it working, only to learn that it now can't find resource boo. Wonderful. It would be great if the error message said something like: "can't find resource foo - check /var/log/foo/res_err" Then I could check res_err and it would have some useful information in it like: "Looked for foo in /usr/lib,/usr/local/lib,... according to configuration file /etc/foo/conf"
What I'm proposing is some kind of standard way of looking up resources (files,libraries). The important part is that the executable always tells you exactly what it's looking for, where it has looked for it, and where it got the rules for its search. Once you know these three things, it should be easy to fix the problem yourself (so long as you can find the resource). In order to make sure what the executable is telling you is never out of sync with what it's actually doing, the lookup path should be generated (or returned) by the exact same code for both reporting and searching. There could even be a tool (similar to ldd), call it query, that could be used to ask an executable where it's look for foo. Like, /home/todd> query foofinder foo. And it would tell you: "Looked for foo in /usr/lib,/usr/local/lib,... according to configuration file /etc/foo/conf"