brainsik Quick Linux Notes

This is where I place notes regarding problems I have solved but had no luck in finding help for via web searches. My hope is that this page will be indexed and subsequently become useful for others.


cvs: Permission denied (21 September 2000)

Problem: Executing 'cvs update' from a remote machine results in a single line that says "Permission denied". However, updates locally on the cvs repository machine work fine as well as remote updates to directories containing no subdirectories.

Solution: You need write access to the directory $CVSROOT/CVSROOT/EmptyDir

I accomplished this by temporarily making $CVSROOT/CVSROOT writable by me. I then did a `cvs update` and found that a directory called "EmptyDir" was owed by me and group owned by the $CVSROOT/CVSROOT group owner (the group sticky bit is set on the directory). I then chowned EmptyDir as 'root' and made sure it was group writable by a 'cvs' group i created for people who have read/write access to cvs. I then made $CVSROOT/CVSROOT owned by root.root (for security) and everything seems to work fine now.

linux/modversions.h: No such file or directory (14 August 2000)

Problem: You try to compile a program but if can't find the file linux/modversions.h. Friends of yours have no trouble since they have the file, but you used the SAME SOURCE TARBALL!!!

Solution: Configure your kernel.

Use make menuconfig, make xconfig, or make config in your /usr/src/linux directory (the expected location for your linux source tree). Saving your kernel configuration causes several files to be written, one of which is the linux/modversions.h file.

MP3.com, Netscape, XMMS, x-mpegurl (January 2000)
Streaming MP3 files from MP3.com into XMMS while browsing with Netscape.

I'm sure this can be modified to work with other browsers and mp3 players, the perl script is barely 5 lines of code.

Perl Script
*) download
*) place in desired directory (such as /usr/local/bin or ~/bin)
*) check top line

Setting up Netscape
*) Preferences->Navigator->Applications
Create a new type with the following info:

MIMEType: audio/x-mpegurl
Application: /path/to/x-mpegurl.pl %s
Don't forget to make the perl script executable (chmod u+x x-mpegurl.pl), and make sure the top line of the perl script points to your perl.


X-Window Screenshot via Remote Console (26 November 1998)
On the Turkey Holocaust I was proselityzing my mom about Linux. She mentioned that she liked having all the color and windows in Windows. Apparently she was under the impression that Linux was a tty only OS. I wanted to grab a screenshot of my desktop at home, here is how I did it.

% startx -display mold:0 &
% xwd -display mold:0 -root -out screenshot.xwd
% convert screenshot.xwd screenshot.jpg

Description:
% startx -display mold:0 &
1) I started X to my console at home. (I was telnetting off a 28.8 modem connected to a Win95 machine). The '-display mold:0' tells X to open up the window on the machine name mold (my machine) on device 0 (my monitor). The '&' tells it run in the background.

% xwd -display mold:0 -root -out screenshot.xwd
2) XWD stands for X-Windows Dump. Basically, it dumps out the contents of a window to an XWD file. The '-root' tells XWD to grab the root window (my desktop) and '-out' tells it what file to dump to. With all the input it needs specified on the command line, XWD runs non-interactively.

% convert screenshot.xwd screenshot.jpg
3) I just discovered this program 'convert', WOW, it handles everything! A flawless conversion to JPG (i let it use its default compression level). [I was running RedHat 5.1 at the time]

4) Now I put it in a network accesible location. Particularly, I dropped it off in my web directory for viewing in a browser. You can see it here if you'd like.

Note: Your X-session may look a bit bare in the screenshot. If you want some progs to be visible, just start them up using the '-display machine:0' or '--display machine:0' argument.

Go to Home Page