681 lines
26 KiB
HTML
681 lines
26 KiB
HTML
<!--startcut ======================================================= -->
|
||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||
<html>
|
||
<head>
|
||
<META NAME="generator" CONTENT="lgazmail v1.4F.v">
|
||
<TITLE>More 2 Cent Tips & Tricks LG #81</TITLE></HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000"
|
||
LINK="#3366FF" VLINK="#A000A0">
|
||
<P>
|
||
<CENTER>
|
||
<!-- *** BEGIN navbar *** -->
|
||
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="lg_mail.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue81/lg_tips.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../lg_faq.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="lg_answer.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
|
||
<!-- *** END navbar *** -->
|
||
</CENTER>
|
||
</p>
|
||
<!-- QUICK TIPS SECTION ================================ -->
|
||
<!-- endcut ======================================================= -->
|
||
<center>
|
||
<H1><A NAME="tips"><IMG ALIGN=MIDDLE ALT="" SRC="../gx/twocent.jpg">
|
||
More 2¢ Tips!</A></H1> <BR>
|
||
<!-- BEGIN tips -->
|
||
|
||
Send Linux Tips and Tricks to <A HREF="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</A></center>
|
||
</center>
|
||
<UL>
|
||
<!-- index_text begins -->
|
||
<li><A HREF="#tips/1"
|
||
><strong>Spam comments</strong></a>
|
||
<li><A HREF="#tips/2"
|
||
><strong>Playing CD Music Digital Output</strong></a>
|
||
<li><A HREF="#tips/3"
|
||
><strong>Getchar and loops...</strong></a>
|
||
<li><A HREF="#tips/4"
|
||
><strong>epoch</strong></a>
|
||
<li><A HREF="#tips/5"
|
||
><strong>crypt undefined</strong></a>
|
||
<li><A HREF="#tips/6"
|
||
><strong>diald</strong></a>
|
||
<li><A HREF="#tips/7"
|
||
><strong>Killing GUI applications under KDE</strong></a>
|
||
<li><A HREF="#tips/8"
|
||
><strong>GRUB - Window XP can not load</strong></a>
|
||
<li><A HREF="#tips/9"
|
||
><strong>Kylix</strong></a>
|
||
<li><A HREF="#tips/10"
|
||
><strong>use an .rpm without installing it</strong></a>
|
||
<li><I>Linux Journal's</I> Weekly News Notes
|
||
<a href="#tips/lj">Tech Tips</a>
|
||
<ul>
|
||
<LI>Watching multiple log files at once
|
||
|
||
<LI>Switching to Maildir format mailboxes
|
||
|
||
<LI>Running screen-oriented programs directly
|
||
|
||
<LI>Your running processes
|
||
<li><A HREF="http://noframes.linuxjournal.com/subscribe/lja-sub.html"
|
||
>subscribe</A> to LJWNN
|
||
</ul>
|
||
<!-- index_text ends -->
|
||
</UL>
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips/1"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Spam comments</FONT></H3>
|
||
4 Jul 2002 15:52:02 -0400
|
||
<BR>Karl Vogel (<a href="mailto:linux-questions-only@ssc.com?cc=vogelke@dnaco.net&subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%231">vogelke from dnaco.net</a>)
|
||
|
||
<blockquote>This is in reply to the <a href="../issue80/lg_answer.html#tag/greeting"
|
||
><em>LG</em> issue 80 TAG blurb</a>.</blockquote>
|
||
|
||
<P><STRONG><FONT COLOR="#000066"><EM>
|
||
In LG 80, Heather was rumored to have said:
|
||
</EM></FONT></STRONG></P>
|
||
<P><STRONG><FONT COLOR="#000066"><EM>
|
||
Almost the only spam that escapes Dan's traps anymore are those dratted
|
||
conman scams telling me about how their late uncle <TT>/</TT> business partner /
|
||
revered general or whatever left them a quadzillion dollars <TT>/</TT> francs or
|
||
whatever and they can't get at any of it unless you as a friend /
|
||
distant relative <TT>/</TT> confidant <TT>/</TT> conveniently uninvolved sucker open your
|
||
bank account to help them launder it.
|
||
</EM></FONT></STRONG></P>
|
||
<P>
|
||
Do you use "ifile"? That nails just about all the spam I get, including
|
||
those stupid laundering schemes. The best part is that it gets smarter
|
||
with time; the more spam you feed it, the better it weeds out crap.
|
||
</P>
|
||
<P><DL><DT>
|
||
Source:
|
||
<DD><A HREF="http://www.ai.mit.edu/~jrennie/ifile"
|
||
>http://www.ai.mit.edu/~jrennie/ifile</A>
|
||
</DL></P>
|
||
<P><DL><DT>
|
||
Mailing list:
|
||
<DD><A HREF="http://groups.yahoo.com/group/ifile-discuss"
|
||
>http://groups.yahoo.com/group/ifile-discuss</A>
|
||
</DL></P>
|
||
<P><DL><DT>
|
||
Some tips plus a nice procmail setup and ifile database:
|
||
<DD><A HREF="http://www2.picante.com:81/~gtaylor/spam"
|
||
>http://www2.picante.com:81/~gtaylor/spam</A>
|
||
</DL></P>
|
||
<P>
|
||
My .procmailrc is below.
|
||
</P>
|
||
<P>
|
||
-- Karl Vogel
|
||
</P>
|
||
<p align="center">See attached <tt><a href="misc/tips/vogel.procmailrc.txt">vogel.procmailrc.txt</a></tt></p>
|
||
|
||
<!-- end 1 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips/2"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Playing CD Music Digital Output</FONT></H3>
|
||
Tue, 2 Jul 2002 11:17:04 -0400 (VET)
|
||
<BR>Ernesto Hernandez-Novich (<a href="mailto:linux-questions-only@ssc.com?cc=emhn@telcel.net.ve&subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%232">emhn from telcel.net.ve</a>)
|
||
|
||
|
||
<blockquote>This is in reply to the <a href="../issue79/lg_mail.html#wanted/2"
|
||
><em>LG</em> issue 79, help wanted #2</a>.</blockquote>
|
||
|
||
|
||
<P>
|
||
Hi,
|
||
</P>
|
||
<P>
|
||
Regarding Bill Parks question on the June issue, as to how to play
|
||
CD audio <EM>without</EM> the analog cable usually connecting CD-ROMs to
|
||
audio cards, a similar situation happens if you have one of the latest
|
||
iBooks. There is no way to tweak the sound driver to do what he wants,
|
||
but XMMS can be of help. He should try using the "CD Audio Player"
|
||
Input Plugin (select it via Preferences -> Audio I/O Plugins) and
|
||
configure it accordingly, say have <TT>/dev/hdc</TT> (the "real" CD-ROM device,
|
||
not <TT>/dev/cdrom</TT> which is usually a symlink) and <TT>/cdrom.</TT> Then, put the
|
||
audio CD, and open a "Playlist" in XMMS but instead of selecting a File,
|
||
select the <TT>/cdrom</TT> directory; he'll see the audio tracks there and be
|
||
able to play and listen to them.
|
||
</P>
|
||
<P>
|
||
That's right, the system will be doing CDDA extraction from the CD
|
||
into XMMS, which then plays it through OSS/ESD/ARTS. Ugly, but works.
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br>Ernesto Hern<72>ndez-Novich
|
||
<br>GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3
|
||
</font></code></blockquote>
|
||
|
||
<!-- end 2 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips/3"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Getchar and loops...</FONT></H3>
|
||
Mon, 8 Jul 2002 08:34:35 -0500 (CDT)
|
||
<BR>Jay R. Ashworth, Pradeep (<a href="mailto:linux-questions-only@ssc.com?cc=zaikxtox@yahoo.com&subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%233">the <em>LG</em> Answer Gang</a>)
|
||
<BR>Question by Zaikxtox (<a href="mailto:linux-questions-only@ssc.com?subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%233">zaikxtox@yahoo.com</a>)
|
||
|
||
|
||
|
||
<P>
|
||
Hello. I'm trying to write a very simple C program
|
||
that needs to attend the user input without blocking a
|
||
loop. I have porgrammed many time on pascal, and there
|
||
the code will be something like:
|
||
</P>
|
||
|
||
<blockquote><pre>begin
|
||
while not keypressed
|
||
writeln('hello! i'm still alive');
|
||
end.
|
||
</pre></blockquote>
|
||
<P>
|
||
well... when i use C code i try the getchar function,
|
||
but it waits until a key is pressed blocking the
|
||
program.
|
||
</P>
|
||
<P>
|
||
How can i know if there is a key into the buffer
|
||
without blocking the execution of my programs?
|
||
</P>
|
||
<P>
|
||
Thanks in advance
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
||
height="24" width="20" align="middle">
|
||
Zaikxtox
|
||
</P>
|
||
<BLOCKQUOTE>
|
||
[jra]
|
||
Well, you can, but it's not exactly trivial, and how you do it depends
|
||
on which environment you're coding: raw-C for the glass-tty,
|
||
curses/termcap, X, <A HREF="http://www.kde.org/">KDE</A>, Gnome, etc.
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
This is more generic C stuff than Linux stuff; I'd recommend you look
|
||
into books like The Unix Programming Environment, by (I think)
|
||
Kernighan and Pike, and the Stevens books.
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
[pradeep]
|
||
As the other poster mentioned, it depends on where you want this
|
||
behaviour. Assuming that you want to do this on a console, ncurses is a
|
||
great library to use. It gives you the right abstraction.
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE><DL><DT>
|
||
Read my howto at
|
||
<DD><A HREF="http://tldp.org/HOWTO/NCURSES-Programming-HOWTO"
|
||
>http://tldp.org/HOWTO/NCURSES-Programming-HOWTO</A>
|
||
</DL></BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
Particularly the function <TT> halfdelay()</TT> should help you for non-blocking key
|
||
input.
|
||
</BLOCKQUOTE>
|
||
|
||
<!-- end 3 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips/4"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">epoch</FONT></H3>
|
||
Sun, 30 Jun 2002 02:22:29 -0700
|
||
<BR>Heather Stern (<a href="mailto:linux-questions-only@ssc.com?cc=star@starshine.org&subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%234"><em>Linux Gazette</em> Technical Editor</a>)
|
||
|
||
|
||
|
||
<!-- sig -->
|
||
|
||
<P>
|
||
Recently one of the gang mentioned renaming an rpm file to a much
|
||
higher version number before running alien, so that the <A HREF="http://www.debian.org/">Debian</A> package
|
||
system would not want to overwrite the result.
|
||
</P>
|
||
<P>
|
||
The key to doing that "the right way" is a value that the Debian
|
||
maintaineers call the epoch.
|
||
</P>
|
||
<P>
|
||
Of course people are used to seeing package versions like 1.2 or even
|
||
1.4.3p1.
|
||
</P>
|
||
<P>
|
||
In the Debian world that might be 1.4.3p1-2 meaning that this is the
|
||
second time the Debian maintainer had to build the same version.
|
||
Probably he or she has patches in it.
|
||
</P>
|
||
<P>
|
||
But to handle programs whose version numbers don't go constantly up
|
||
like time goes forward ... a certain typesetting package comes to
|
||
mind ...
|
||
</P>
|
||
|
||
<blockquote><font color="#000066">Must have been some other package. According to its FAQ, TeX's version
|
||
number asymptotically approaches pi, growing digits along the way.
|
||
-- Heather</font></blockquote>
|
||
<P>
|
||
... they invented an epoch. epochs start at the invisible "1"
|
||
and go up to 99.
|
||
</P>
|
||
<P>
|
||
So a version:
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br> 99:1.4.3p1-local
|
||
</font></code></blockquote>
|
||
<P>
|
||
Would be 98 epochs ahead of a mere:
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br> 1.4.3p1-12
|
||
</font></code></blockquote>
|
||
<P>
|
||
and the same number of epochs ahead of:
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br> 2.1.12-1
|
||
</font></code></blockquote>
|
||
<P>
|
||
If you want your package and the Debian one to live together in
|
||
harmony, then rename yours to something before the version number that
|
||
does not overlap:
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br> mtools4flash-3.9.7-1fp
|
||
<br> mtools-3.9.7-2
|
||
</font></code></blockquote>
|
||
<P>
|
||
Of course that's safest if the files inside their file list don't
|
||
overlap either!
|
||
</P>
|
||
|
||
<blockquote><font color="#1F1F1F">That was the problem, of course; the filesets were exactly the same.
|
||
-- Ben</font></blockquote>
|
||
<P>
|
||
Using either of these methods is safer than setting a hold on the
|
||
package, which is sometimes recommended, but which I've seen fail before.
|
||
</P>
|
||
|
||
<!-- end 4 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips/5"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">crypt undefined
|
||
</FONT></H3>
|
||
Tue, 2 Jul 2002 16:48:03 +0200
|
||
<BR>Chris Niekel (<a href="mailto:linux-questions-only@ssc.com?cc=chris@niekel.net&subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%235">chris from niekel.net</a>)
|
||
|
||
<blockquote>This is in reply to the <a href="../issue80/lg_tips.html#tips/8"
|
||
><em>LG</em> issue 80, 2c Tips #8</a>.</blockquote>
|
||
|
||
|
||
<P><STRONG>
|
||
g++ -lcrypt server.c
|
||
Error: 'crypt' undefined
|
||
</STRONG></P>
|
||
<P>
|
||
The order of the arguments matter. You should try:
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br>g++ server.c -lcrypt
|
||
</font></code></blockquote>
|
||
<P>
|
||
The linker links from left to right and is a bit dumb.
|
||
After compiling server.c, the crypt call is undefined. Then libcrypt.a
|
||
is tried, and crypt is defined in there. So it will be resolved.
|
||
</P>
|
||
<P>
|
||
In your case, libcrypt.a doesn't match any undefined symbols (YET!), so
|
||
it is not linked into the executable. Then server.o is linked, and that
|
||
has an unresolved symbol (crypt). The linker isn't smart enough to go
|
||
back to libcrypt.a.
|
||
</P>
|
||
<P>
|
||
The answerer of the questions talks about the name mangling. If you mix
|
||
C and C++ code, you have to tell the compiler what is C. That is usually
|
||
done by doing:
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br>extern "C" void foo(int);
|
||
</font></code></blockquote>
|
||
<P>
|
||
This tells the compiler that function foo takes an int, returns nothing
|
||
and is a C function. But all standard libraries already do that for you,
|
||
so it's very safe to call <TT> crypt()</TT> from C++ code.
|
||
</P>
|
||
<P>
|
||
Greetings,
|
||
</P>
|
||
<P>
|
||
Chris Niekel
|
||
</P>
|
||
|
||
<!-- end 5 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips/6"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">diald
|
||
</FONT></H3>
|
||
Mon, 15 Jul 2002 14:07:38 -0400
|
||
<BR>LF11 (<a href="mailto:linux-questions-only@ssc.com?cc=lf11@naisp.net&subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%236">lf11 from naisp.net</a>)
|
||
|
||
<blockquote>This is in reply to the <a href="../issue80/lg_tips.html#tips/10"
|
||
><em>LG</em> issue 80, 2c Tips #10</a>.</blockquote>
|
||
|
||
|
||
<P><STRONG>
|
||
I've mainly been connecting to the internet using diald, but I've noticed
|
||
that I'm only getting about 3.5 KBps , whereas on W98 I get about 5KBps. A
|
||
little experimentation shows that dialling with kppp gives about 5KBps as
|
||
well.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
kppp seems to use an initialisation string of ATM1L1, but changing MODEM_INIT
|
||
to "ATM1L1" in <TT>/etc/diald/connect</TT>, didn't improve the performance.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
MODEM_INIT started out as "ATZ&C1&D2%C0". I changed "%C0" to "%C3" to ensure
|
||
that compression was enabled, but this made no difference. I can't find an
|
||
option in diald to log exactly what's sent to the modem and I can't see any
|
||
conflicting options in the configuration for pppd.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Any suggestions for how to track down why kppp gets better performance than
|
||
diald would be appreciated.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
The modem is an MRI 56K internal modem.
|
||
</STRONG></P>
|
||
<P>
|
||
Check the port speeds. It's likely that diald is using a port speed of
|
||
28.8KBps or 56KBps. Try to have something well above the actual speed of the
|
||
modem, as the data coming from the modem may be substantially higher in
|
||
volume than the actual modem's capability (due to hardware compression).
|
||
</P>
|
||
<P>
|
||
The only exception to this is with a USR 56k Faxmodem I have when used with
|
||
WvDial; it must be at 56k, and I don't know why. If the computer port speed
|
||
is set higher than that, what comes across the line from the modem seems to
|
||
be escaped characters of some sort, along the lines of
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br>CONNECT 49333/ARQ
|
||
<br>f [18] f [18] `[1e]~[1e]~[1e][06][1e]x[1e][18]x
|
||
</font></code></blockquote>
|
||
<P>
|
||
And pppd says "LCP timeout sending Config-Requests" in syslog. Just thought
|
||
I'd let you know about this problem in case you have it.
|
||
</P>
|
||
<P>
|
||
HTH,
|
||
-cj
|
||
</P>
|
||
<BLOCKQUOTE>
|
||
[Neil]
|
||
Beware, it doesn't read <TT>/etc/diald/diald.conf.</TT> According to the man page
|
||
"diald reads options first from <TT>/etc/diald/diald.defs</TT>, then from
|
||
<TT>/etc/diald/diald.options</TT>".
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
Putting speed 115200 in diald.options gave me a
|
||
throughput 4.9KBps downloading Mozilla 1.1 alpha.
|
||
</BLOCKQUOTE>
|
||
|
||
<!-- end 6 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips/7"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Killing GUI applications under KDE</FONT></H3>
|
||
04 Jul 2002 08:17:43 +0530
|
||
<BR>Ashwin N (<a href="mailto:linux-questions-only@ssc.com?cc=ashwin_n@gmx.net&subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%237">ashwin_n from gmx.net</a>)
|
||
|
||
|
||
|
||
<!-- sig -->
|
||
|
||
|
||
<!-- sig -->
|
||
|
||
<P>
|
||
Here's a quick way of killing a GUI application that has hung or is not
|
||
quitting (or you just want to kill for fun
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
|
||
height="24" width="20" align="middle">. Press Ctrl-Alt-Esc and
|
||
your mouse pointer turns into skull-and-bones. Now, click on the
|
||
offending application to kill it. This works only under <A HREF="http://www.kde.org/">KDE</A>.
|
||
</P>
|
||
<P>
|
||
Of course, "xkill" command does the same thing, but this is much easier
|
||
and faster to use.
|
||
</P>
|
||
<P>
|
||
Ashwin
|
||
</P>
|
||
<BLOCKQUOTE>
|
||
[Ben]
|
||
Good tip, Ashwin! Under IceWM, I have "xkill" tied to "Alt-Ctrl-K" for
|
||
the same functionality:
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE><BLOCKQuote>
|
||
(from "~/.icewm/keys")
|
||
</BLOCKQuote></BLOCKQUOTE>
|
||
|
||
<blockquote><code><font color="#000033"><br>key "Alt+Ctrl+k" /usr/bin/X11/xkill
|
||
</font></code></blockquote>
|
||
|
||
<!-- end 7 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips/8"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">GRUB - Window XP can not load</FONT></H3>
|
||
Fri, 28 Jun 2002 16:43:08 +0100
|
||
<BR>Neil Youngman (<a href="mailto:linux-questions-only@ssc.com?cc=orion982@yahoo.com&cc=n.youngman@ntlworld.com&subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%238">n.youngman from ntlworld.com</a>)
|
||
<BR>Question by Soufian Widjaja (<a href="mailto:linux-questions-only@ssc.com?subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%238">orion982@yahoo.com</a>)
|
||
|
||
|
||
|
||
<P><STRONG>
|
||
I find some info online that we can overwrite
|
||
the boot loader and then install boot loader
|
||
for Window by
|
||
run fdisk <TT>/</TT> MBR on Windows
|
||
If this is the way, how can I do that?
|
||
What to do with my Linux once we overwrite
|
||
the MBR?
|
||
</STRONG></P>
|
||
<P>
|
||
I think what's needed is to experiment with the GRUB command line mode. When
|
||
the menu comes up press 'c' to go to command line mode and try a few
|
||
variations on the command sequence you've got in <TT>/boot/grub/menu.last</TT>
|
||
When you come up with a command sequence that works, then edit your GRUB
|
||
config to match.
|
||
</P>
|
||
<P>
|
||
2 things to try are:
|
||
</P>
|
||
<P><BLOCKQuote>
|
||
1 After the rootnoverify command add the command makeactive.
|
||
2 Try varying the partition numbers in the rootnoverify command.
|
||
</BLOCKQuote></P>
|
||
<P><DL><DT>
|
||
There's lots of handy info in Linux Journal #85, see
|
||
<DD><A HREF="http://www.linuxjournal.com/article.php?sid=4622"
|
||
>http://www.linuxjournal.com/article.php?sid=4622</A>
|
||
</DL></P>
|
||
<P>
|
||
Hope That Helps
|
||
</P>
|
||
|
||
<!-- end 8 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips/9"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Kylix
|
||
</FONT></H3>
|
||
Wed, 3 Jul 2002 20:04:57 GMT
|
||
<BR>Chirag Wazir (<a href="mailto:linux-questions-only@ssc.com?cc=oam@mail.cosett.com.bo&cc=wazir@vsnl.com&subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%239">wazir from vsnl.com</a>)
|
||
<BR>Question by Octavio Aguilar (<a href="mailto:linux-questions-only@ssc.com?subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%239">oam@mail.cosett.com.bo</a>)
|
||
|
||
<blockquote>This is in reply to the <a href="../issue80/lg_mail.html#wanted/1"
|
||
><em>LG</em> issue 80, Help Wanted #1</a>.</blockquote>
|
||
|
||
|
||
<P><STRONG><FONT COLOR="#000066"><EM>
|
||
Does anybody know how to run a program that's compiled in Kylix,
|
||
but without having the Kylix environment around at runtime?
|
||
</EM></FONT></STRONG></P>
|
||
<P>
|
||
If you want to run a compiled Kylix program outside the IDE you need to run
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br> source /usr/local/kylix2/bin/kylixpath
|
||
</font></code></blockquote>
|
||
<P>
|
||
first, or add it to your <TT>/etc/profile</TT>
|
||
</P>
|
||
<P>
|
||
I had the same problem initially - so I presume that's what the question is
|
||
about - my Spanish is non-existent.
|
||
</P>
|
||
<P>
|
||
The alternative interpretation could be about making a distribution package
|
||
to run on machines where Kyilx isn't installed - I haven't tried that yet.
|
||
</P>
|
||
<P>
|
||
Chirag Wazir
|
||
</P>
|
||
|
||
<!-- end 9 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips/10"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">use an .rpm without installing it
|
||
</FONT></H3>
|
||
Sat, 6 Jul 2002 13:40:26 -0500 (COT)
|
||
<BR>RE Otta (<a href="mailto:linux-questions-only@ssc.com?cc=ashwin_n@gmx.net&cc=obob@qwest.net&subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%2310">obob from qwest.net</a>)
|
||
<BR>Previous Tip by Ashwin M (<a href="mailto:linux-questions-only@ssc.com?subject=%20Re%3A%20%5BLG%2081%5D%202c%20Tips%20%2310">ashwin_n@gmx.net</a>)
|
||
|
||
<blockquote>This is in reply to the <a href="../issue80/lg_answer.html#tips/18"
|
||
><em>LG</em> issue 80, 2c Tip #18</a>.</blockquote>
|
||
|
||
|
||
<P>
|
||
It is simpler to use Midnight Commander. Click on the rpm file like you
|
||
would a directory and transverse the rpm as you would a branch of the
|
||
directory tree. Locate the file or files and copy them to an actual
|
||
directory with the copy button. Simple and effective!
|
||
</P>
|
||
<BLOCKQUOTE>
|
||
[John Karns]
|
||
I've found that some mc versions changed the rpm handling behavior. I had
|
||
grown quite accustomed to viewing rpm contents and copying parts via mc,
|
||
then after installing <A HREF="http://www.suse.com/">SuSE</A> 7.1 on my laptop, was no longer able to view
|
||
more than a partial list of the files in the rpm; specifically the rpm
|
||
headers (description, etc.). I was able to correct the problem finding
|
||
the mc scripts used for rpm handling, and changing one to agree with a
|
||
previous mc version script.
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
One other point is that for very large rpm files (over 2 or 3 MB), the
|
||
process can be very slow. When dealing with rpm files containing large
|
||
tar balls of source code, I usually just "install" the rpm, which copies
|
||
the desired file to <TT>/usr/src/packages/SOURCES.</TT>
|
||
</BLOCKQUOTE>
|
||
|
||
<!-- end 10 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips/lj"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy"><em>Linux Journal</em> Weekly News Notes tech tips</FONT></H3>
|
||
|
||
|
||
|
||
<h4 align="center"><br>Watching multiple log files at once
|
||
</h4>
|
||
<P>
|
||
Recent versions of the GNU tail command let you tail multiple files
|
||
with the same command. Combined with the -f option, you can watch
|
||
multiple log files. For example:
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br> tail -f /var/log/httpd/access_log /var/log/httpd/error_log
|
||
</font></code></blockquote>
|
||
<P>
|
||
will monitor the <A HREF="http://www.apache.org/">Apache</A> access and error logs.
|
||
</P>
|
||
<HR width="10%" align="center">
|
||
<h4 align="center"><br>Switching to Maildir format mailboxes
|
||
</h4>
|
||
<P>
|
||
If you're moving from old-style mailboxes to Maildir directories for
|
||
your mail, you can force Mutt to create Maildir directories by default
|
||
with:
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br> :set mbox_type=Maildir
|
||
</font></code></blockquote>
|
||
<P>
|
||
in your .muttrc file.
|
||
</P>
|
||
<P>
|
||
To get Procmail to deliver to directories as Maildir and not MH
|
||
folders, put a <TT>/</TT> after the directory name in your recipes, like this:
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br># Dump mail from Microsoft viruses into a trash Maildir
|
||
<br>:0 Bf
|
||
<br>* Content-Type: application/octet-stream;
|
||
<br>trash/
|
||
</font></code></blockquote>
|
||
<HR width="10%" align="center">
|
||
<h4 align="center"><br>Running screen-oriented programs directly
|
||
</h4>
|
||
<P>
|
||
To run a screen-based program such as top remotely with one ssh
|
||
command, use the -t (terminal) option to ssh, like this:
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br> ssh -t myserver top
|
||
</font></code></blockquote>
|
||
<HR width="10%" align="center">
|
||
<h4 align="center"><br>Your running processes
|
||
</h4>
|
||
<P>
|
||
For an easy-to-understand, compact view of what's running on your
|
||
system now, try the pstree command. A handy option is -u, which shows
|
||
the name of the user running each process. Option -p shows the process
|
||
ID, so if you want to memorize only one option combination, try:
|
||
</P>
|
||
|
||
<blockquote><code><font color="#000033"><br> pstree -pu
|
||
</font></code></blockquote>
|
||
<P>
|
||
(No pun intended.)
|
||
</P>
|
||
<P>
|
||
pstree is a good way to make sure that privilege separation is working
|
||
in your upgraded ssh install--you did upgrade sshd, didn't you?
|
||
</P>
|
||
|
||
<!-- end 12 -->
|
||
<P> <hr> </p>
|
||
<!-- *** BEGIN copyright *** -->
|
||
<H5 align="center">This page edited and maintained by the Editors
|
||
of <I>Linux Gazette</I>
|
||
<a href="http://www.linuxgazette.com/copying.html"
|
||
>Copyright ©</a> 2002
|
||
<BR>Published in issue 81 of <I>Linux Gazette</I> August 2002</H5>
|
||
<H6 ALIGN="center">HTML script maintained by
|
||
<A HREF="mailto:star@starshine.org">Heather Stern</a> of
|
||
Starshine Technical Services,
|
||
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
|
||
</H6>
|
||
<!-- *** END copyright *** -->
|
||
<!--startcut ======================================================= -->
|
||
<P>
|
||
<CENTER>
|
||
<!-- *** BEGIN navbar *** -->
|
||
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="lg_mail.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue81/lg_tips.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../lg_faq.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="lg_answer.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
|
||
<!-- *** END navbar *** -->
|
||
</CENTER>
|
||
</p>
|
||
|
||
</BODY></HTML>
|
||
<!--endcut ========================================================= -->
|