Penguin
Note: You are viewing an old revision of this page. View the current version.
  • strace(1) is your friend :) It shows all the c library calls made by a process - this is very useful for debugging or just casual snooping.
  • In a similar vein, you can get the dynamic linker to show you how external symbols in executables get resolved. This is very useful if you get segmentation violations or aborts for a program - this can be caused by linking against the wrong version of a library. This is also a really good way to understand what happens when you run any program! Start off by doing "LD_DEBUG=all ls 2>&1 | less", see ld.so(8)
  • while we're on the copious debugging information track, try ltrace(1)? sometime. it shows all library calls made (consider how often you call strcmp, then ponder how much information this is going to churn out :)
  • netstat(8) shows active connections, including tcp(7), udp(7) and unix(7) socket connections. "netstat -anAinet" shows all IP ports that are open on your machine - very handy.
  • depending on the permissions on certain executables, you can start another X server as a normal user. (default Slackware lets you, Debian doesn't). To use virtual terminal 8 (which is normally unused), do "xinit /usr/bin/X11/xterm -display :1.0 -- /usr/bin/X11/Xwrapper :1.0 vt08". Now if you run X programs with display set to :1 instead of :0, they go to the server running on vt 8. see xinit(1), Xwrapper(1)?
  • Store all your data in cvs(1). it's great. if you're bored, store /etc in cvs too :)
  • use make(1) files to build everything.
  • learn m4(1) to write macros in. If you're a programmer, m4 is the language used by autoconf for creating portable configure scripts.
  • learn latex(1) for documentation, or if you're lazy, use lyx(1) instead. You can use pdflatex (which is normally included with the "tetex" package that provides latex for linux distributions) to create PDF files in any style that normal latex allows you to. This is very handy for making portable slide presentations as well as the "more typical" reports and articles.
  • For pure eye-candy, your desktop's "background picture" doesn't have to be a picture at all. You can amaze windows users by running one of the xscreensavers in the root window. I personally like atlantis ; if it's not in /usr/bin, it's probably in /usr/lib/xscreensaver. Start it by
    "$ /usr/lib/xscreensaver/atlantis -root &"
    If you have hardware accelerated OpenGL graphics, it takes negligible CPU usage.