{"id":231,"date":"2004-12-31T04:28:00","date_gmt":"2004-12-31T04:28:00","guid":{"rendered":"http:\/\/adam.rosi-kessel.org\/weblog\/free_software\/code\/linux.html"},"modified":"-0001-11-30T00:00:00","modified_gmt":"1970-01-01T05:00:00","slug":"linux","status":"publish","type":"post","link":"http:\/\/adam.rosi-kessel.org\/weblog\/2004\/12\/31\/linux","title":{"rendered":"Linux Information"},"content":{"rendered":"<p> <meta http-equiv=\"Content-Type\" content=\"text\/html; charset=iso-8859-1\"> <meta name=\"keywords\" content=\"linux debian xf86config perl gateway omnibook gdk-warning gtkrc cups client eror forbidden\"> <meta name=\"description\" content=\"Some useful Linux configuration etc information based on my personal experience.\"> <\/p>\n<p>I use <a href=\"http:\/\/www.debian.org\">Debian<\/a> <a href=\"http:\/\/www.gnu.org\">GNU<\/a>\/<a href=\"http:\/\/www.linux.org\">Linux<\/a> <a href=\"http:\/\/packages.debian.org\/unstable\/\">unstable (sid)<\/a> distribution.<\/p>\n<p>This is information I wish I could have found on Google. Perhaps it will be of use to you.<\/p>\n<ul>\n<li><b>CUPS Client-Error-Forbidden<\/b><br \/>I kept getting the &#8220;client-error-forbidden&#8221; error when attempting to cancel print jobs through the CUPS web interface when the job had been submitted by someone else; in \/var\/log\/cups\/error_log I would see error messages like &#8216;cancel_job: &#8220;&#8221; not authorized to delete job id 659 owned by &#8220;anonymous&#8221;!&#8217;. The solution was simple; I had to add AuthClass System and AuthType Basic to \/etc\/cupsd.conf under <location \/jobs>. That is, you should have at least the following in your cupsd.conf:<br \/> <br \/>\n<blockquote><p> <location \/jobs><br \/> AuthClass System<br \/> AuthType Basic<br \/> Allow from 127.0.0.1<br \/> <\/location> <\/p><\/blockquote>\n<p> Previously I had no AuthClass line and thus could only cancel print jobs originating from the system running the server. I consider this to be a bug, and <a href=\"http:\/\/bugs.debian.org\/cgi-bin\/bugreport.cgi?bug=184361\">filed a report on it<\/a>, although the cups maintainer insists it is necessary for security (check out my bug report for more detail).<br \/>I wrote a tiny little patch (<a href=\"\/adam\/cups\/cups_patch\">download for cupsys 1.1.14<\/a>, or <a href=\"\/adam\/cups\/cups_patch_1.1.20\">download for cupsys 1.1.20<\/a>) that allows you to specify AuthType None for jobs. <b>You cannot set AuthType None without this patch.<\/b> Note that this will make your system insecure inasmuch as anyone can see anyone else&#8217;s jobs if you provide this option. You can also download <a href=\"\/adam\/cups\">Debian packages<\/a> (for <a href=\"\/adam\/cups\/debian\/stable\">woody<\/a>, <a href=\"\/adam\/cups\/debian\/testing\">sarge<\/a>, and <a href=\"\/adam\/cups\/debian\/unstable\">sid<\/a>) and <a href=\"\/adam\/cups\/rpm\">RPM (Red Hat) Packages<\/a> (untested) of cupsys recompiled with the <em>option<\/em> to turn off job authentication. If you prefer, add the following line to your \/etc\/apt\/sources.list to use apt-get to upgrade to my cups packages (unstable, testing, or stable): <\/p>\n<pre> deb http:\/\/adam.rosi-kessel.org\/debian unstable main <\/pre>\n<p> Note that you will need to modify your cupsd.conf if you also want unauthenticated users to be able to <b>cancel<\/b>, <b>hold<\/b>, and <b>release<\/b> jobs. <a href=\"\/adam\/cups\/cupsd.conf\">Here is an example<\/a>. <br \/>(<span class=\"smallcaps\">I am currently getting about 25-35 unique visits a day from people searching on this problem; let me know if my fix worked for you or if I should be giving additional information!<\/span>)<br \/> <span class=\"smallcaps\">Update 8\/10\/04:<\/span> This patch has finally been applied to the Debian package and the default cupsd.conf file fixed to not give the &#8220;client-error-forbidden&#8221; error by default. I&#8217;m not sure if this update will make it into the next version of Debian stable (Sarge), but it is currently in unstable.<br \/> <span class=\"smallcaps\">Update 12\/31\/04:<\/span> A SuSE 9.0 user suggests the following solution under SuSE. First, set up a CUPS admin account and password using: <\/p>\n<pre>sudo lppasswd -g sys -a root<\/pre>\n<p> Then, modify \/etc\/cups\/cupsd.conf to read: <\/p>\n<pre><location \/jobs> AuthType BasicDigest AuthClass Group AuthGroupName sys Order Deny,Allow Deny From All Allow From 127.0.0.1 <\/location><\/pre>\n<\/li>\n<li><b>SMC 2632W V3 under Linux<\/b> <br \/> There are details scattered all over the web about how to get this card to work. Part of the confusion is that each version of the card uses a different chipset (SMC 2632 V1, V2, and V3). If you have the V2 or the V3 you need to use the <a href=\"http:\/\/atmelwlandriver.sf.net\">atmelwlan driver<\/a>. The proper module is pcmf502rd (pcmf502r is for the V2 card). Also, the key factor for me was building a kernel with i82365 compatible bridge support enabled (CONFIG_I82365=y) as well as, obviously, PCMCIA and CardBus support (both <b>in kernel<\/b>&#8212;not the separate PCMCIA kernel modules). First, you build the kernel, install and boot into it, then run the configuration and install scripts for the atmel drivers (make config; make all; make install). Finally, you need to create the file \/etc\/pcmcia\/smc.conf with the following contents:<br \/>\n<blockquote>\n<pre> device \"pcmf502r\" class \"network\" module \"pcmf502rd\" card \"SMC 2632W V2 11 Mbps Wireless PCMCIA Card\" manfid 0x01bf, 0xb301 bind \"pcmf502rd\" <\/pre>\n<\/blockquote>\n<p> Hopefully this will work for you. It did for me kernel 2.4.22 and Debian Unstable. Once I had this setup, it &#8220;just works.&#8221; <\/li>\n<li><b>Gaim with Encryption<\/b><br \/> Would you like to have encrypted instant messenger conversations? <a href=\"http:\/\/gaim-encryption.sourceforge.net\">Gaim-Encryption<\/a> use OpenSSL to provide transparent RSA encryption as a <a href=\"http:\/\/gaim.sourceforge.net\">Gaim<\/a> plugin. You have to recompile the program, though. For your convenience, here is a <a href=\"http:\/\/adam.rosi-kessel.org\/debian\/dists\/unstable\/main\/binary-i386\/net\/gaim_0.62-1e.deb\">Debian package<\/a> of the latest Gaim with the encryption plugin built in. Alternatively, add this line to your \/etc\/apt\/sources.list file and you can upgrade to Gaim with encryption:<br \/>\n<blockquote><p> deb http:\/\/adam.rosi-kessel.org\/adam\/debian unstable main <\/p><\/blockquote>\n<\/li>\n<li><b>glabels and Avery 5376 labels<\/b><br \/> Having trouble printing with glabels 0.4.6 and Avery 5376 labels? After dozens of attempts, I&#8217;ve decided that the definitions file is wrong. You need to edit \/usr\/share\/glabels\/predefined-labels.template (as root) and change the layout line to:<br \/> \n<pre><layout nx=\"2\" ny=\"5\" x0=\"47\" y0=\"25\" dx=\"252\" dy=\"144\"\/><\/pre>\n<p> I&#8217;ve <a href=\"http:\/\/sourceforge.net\/mailarchive\/message.php?msg_id=4248519\">reported this suggestion<\/a> to glabels, we&#8217;ll see if it gets incorporated. <\/li>\n<li><b>Gdk-WARNING: Missing charsets in FontSet<\/b><br \/> Do you ever get the Gdk-WARNING **: Missing charsets in FontSet creation ISO8859-1 error? Several postings to e-mail lists got me no help on this. It turns out, for me, it was simple: a theme had installed itself in ~\/.gtkrc that was looking for a font that wasn&#8217;t there. Rename your ~\/.gtkrc and see if you still get the error.<br \/>Incidentally, I get an awful lot of hits from people searching for this error. If this fixed your problem, let me know, and if it didn&#8217;t, let me know what did and I will post it here! <\/li>\n<li><b>GNU\/Linux on an OmniBook<\/b><br \/> \n<ul>\n<li> If you run GNU\/Linux on an HP OmniBook 500, you can probably find all the information you&#8217;re looking for <a href=\"http:\/\/www.swiss.ai.mit.edu\/projects\/omnibook\/\">on the GNU\/Linux on HP Omnibook Laptops site<\/a>. Although the site isn&#8217;t terribly up to date, the mailing list and archive are invaluable resources. <\/li>\n<li>I also recently installed <a href=\"http:\/\/www.debian.org\">Debian<\/a> <a href=\"http:\/\/www.debian.org\/releases\/woody\">Woody<\/a> <a href=\"http:\/\/www.gnu.org\">GNU<\/a>\/<a href=\"http:\/\/www.linux.org\">Linux<\/a> on an <a href=\"http:\/\/www.hp.com\">HP<\/a><a href=\"http:\/\/www.hp.com\/notebooks\/us\/eng\/products\/omnibook_xe4100\/omnibook_xe4100_summary.htm\"> Omnibook XE4100<\/a>. As far as I know, there are no webpages devoted exclusively to GNU\/Linux on the XE4100, but there are some about the XE4500, a similar model (<a href=\"http:\/\/www.net42.co.uk\/linux8-on-xe4500.shtml\">one for Red Hat<\/a> and <a href=\"http:\/\/www.cc.jyu.fi\/~jajuhein\/xe4500\/debian-on-xe4500.html\">one for Debian<\/a>). The proper driver for XF86Config-4 is &#8220;savage&#8221;, and sound requires the &#8220;via86cxxx_audio&#8221; module (under kernel 4.2). CD-ROM and network worked right out of the box. I haven&#8217;t gotten a chance to try the modem.<\/li>\n<li><a HREF=\"http:\/\/adam.rosi-kessel.org\/linux\/XF86Config-4\">XF86Config-4 file for HP OmniBook 500 with External Gateway 2000 1572 DG Monitor.<\/a><br \/>I use this file when my laptop is docked. I&#8217;m not sure that the timings are perfect, but it works, and there seems to be a great dearth of information about there about this monitor. <\/li>\n<\/ul>\n<\/li>\n<li><b>MaxBlast\/BIOS Issues<\/b><br \/> Having trouble with a MaxBlast hard drive on an old system with an obsolete BIOS that needs its own bootloader? I found switching to <a HREF=\"http:\/\/www.gnu.org\/software\/grub\/\">grub<\/a> from LILO did the trick for me. I&#8217;ll post more details about this, which also involved the Windows NT (Windows 2000) boot loader as well.<\/li>\n<li><b>Destroyed Partition Table<\/b><br \/> Did you just destroy your partition table, perhaps because you ran dd over \/dev\/hda rather than \/dev\/fd0? And your system is still up and running, in fact you&#8217;re reading this web-page, but know when you reboot, you&#8217;ll be toast? Well, <b>good<\/b>! I have a <a href=\"http:\/\/adam.rosi-kessel.org\/weblog\/free_software\/code\/cautionary.html\">cautionary tale<\/a> for you about how to avoid this situation, but also an easy way to recover if you follow the enclosed directions. <\/li>\n<li><b>Emusic, Zinf, and Segfaults<\/b><br \/> Are you an <a href=\"http:\/\/www.emusic.com\">emusic<\/a> subscriber unable to use the recommended player, <a href=\"http:\/\/www.zinf.org\">zinf<\/a> (&#8220;Zinf Is Not FreeA*p&#8221;) for batch downloading? <a href=\"http:\/\/primo.mp3.com\/gen\/14\/players\">Emusic recommends zinf for Linux users<\/a>, but unfortunately zinf segfaults when loaded with an &#8220;emp&#8221; file. I wrote a shell script hack to fix this (the segfault can be avoided by renaming the .emp to .rmp, but then discovered <a href=\"http:\/\/www.fozzilinymoo.org\/code\/fetchrmp\/\">fetchrmp<\/a> by Doran Barton. So I&#8217;ve modified that script to give some additional options: place downloaded files in a hierarchy by genre, album, and artist, and also play music when downloaded. The modified script is called <a href=\"http:\/\/adam.rosi-kessel.org\/weblog\/free_software\/code\/fetchemusic.html\">fetchemusic<\/a> and you can <a href=\"\/adam\/code\/fetchemusic\/fetchemusic.pl\">download it here<\/a>. Note that you&#8217;ll need the <a href=\"http:\/\/cpan.org\/modules\/by-module\/XML\/XML-EasyOBJ-1.12.tar.gz\">the Perl XML-EasyOBJ<\/a> module for this to work, which is not included in Debian (you&#8217;ll also need modules LWP::Simple, Getopt::Long, File::Path, and File::Copy, which are all in Debian. The emp segmentation fault has been around for a while, it was <a href=\"http:\/\/bugs.debian.org\/cgi-bin\/bugreport.cgi?bug=164518&#038;msg=1\">reported to Debian<\/a> in October 2002. Let me know if you&#8217;ve had this problem, if you have any other solutions, or if my script is useful to you!<br \/> (<span class=\"smallcaps\">Update 6\/3\/03: Unfortunately, Emusic has switched to an encrypted file format, so this script will no longer work! I&#8217;m leaving it here in case it ever becomes useful again.<\/span>)<br \/> (<span class=\"smallcaps\">Update 10\/1\/03: Someone has written a very nice perl script that works with the new encrypted EMP file format, called <a href=\"http:\/\/www.wannabehacker.com\/src\/decrypt-emp.pl\">decrypt-emp<\/a>. Get it now!<\/span>) <\/li>\n<li><b>French vs. North American Wireless Channels<\/b> (or, why can&#8217;t I connect to my Access Point with my Xircom CWE-1120-FR?)<br \/> I&#8217;ve written a few times about my <a href=\"http:\/\/adam.rosi-kessel.org\/weblog\/technology\/seeking_wifi_guru.html\">wireless woes<\/a>. I couldn&#8217;t for the life of me figure out why my Xircom CWE-1120 card couldn&#8217;t connect to my Access Point. As it turns out, the card was set to the <b>French<\/b> Channel Set, which is different from the North American Channel Set, except on Channels 10 and 11. So I set my Access Point to Channel 10, and now I can finally access my network. There is, allegedly, a DOS command line tool that allows you to reprogram the EEPROM on Cisco cards to switch the channel set to North American, but I was unable to locate it. In fact, Intel (who purchased Xircom, which produced the card) was very wary of the whole topic. I suspect it might be illegal to have\/use this tool, since it might permit you to set your card to a mode that violates FCC regulations. Intel was actually pretty spooked that I even had the cards (which I purchased legitimately in the United States, thinking they were North American cards). Thanks to <a href=\"http:\/\/www.danlan.com\">Dan Lanciani<\/a> on the <a href=\"https:\/\/lists.sourceforge.net\/lists\/listinfo\/airo-linux-gen80211\">airo-linux-gen80211<\/a> list for finally pointing this out to me.<\/li>\n<li><b>Volume Problems on a Toshiba P25-S477 Laptop<\/b><br \/> I&#8217;ve been trying to set up GNU\/Linux (remotely) on my brother&#8217;s Toshiba p25-s477 (one of a seemingly endless number of obscurely named Toshiba laptops). Almost everything worked fine, except the sound was almost inaudible, and substantially distorted with external amplified speakers. It turns out I needed to go into the alsamixer (ncurses GUI) program and set &#8220;External Amp Power Down&#8221; to &#8220;Mute.&#8221; This is far from intuitive: first, that &#8220;external amp power down&#8221; would be &#8220;on&#8221; by default, and second, that you need to &#8220;mute&#8221; this setting to have &#8220;power down&#8221; turned &#8220;off.&#8221; But that&#8217;s how it works. (solution <a href=\"http:\/\/linux.toshiba-dme.co.jp\/ML\/tlinux-users\/4800\/4869.html\">posted by someone<\/a> in the aesthetically weird <a href=\"http:\/\/linux.toshiba-dme.co.jp\/linux\/eng\/mlservice.htm\">tlinux-users mailing list<\/a>.)<\/li>\n<li><b>Functional Java Packages for Debian Sid Mozilla<\/b><br \/> I&#8217;ve been looking for functional Debian Java packages that work with latest Mozilla in sid. I tried downloading several Java binaries from sun and elsewhere and either it didn&#8217;t register in Mozilla or crashed immediately. I finally discovered <a href=\"http:\/\/jrfonseca.dyndns.org\">Jos&#233; Fonseca<\/a>&#8217;s excellent Java packages that actually work. Add the following to your \/etc\/apt\/sources.list to get these packages:<br \/>\n<blockquote><p> deb http:\/\/jrfonseca.dyndns.org\/debian .\/ <\/p><\/blockquote>\n<li><b>Procmail Detritus Filters<\/b><br \/> Here&#8217;s a good procmail recipe that should catch a lot of viral email&#8212;both actual viruses, and bogus &#8220;we caught a virus coming from your account&#8221; messages. Note that you need to increase from the default line buffer length to have this all packed into one expression:<br \/>\n<blockquote><p> <font size=\"-2\"> LINEBUF=3000<br \/> :0<br \/> * ((^Subject: (Virus infection notice|New Network Security Upgrade|Newest Net Update|Newest Internet Upgrade|Newest Internet Security Patch|Internet Security Pack|New Internet Security Patch|Latest Critical Pack|Latest Net Upgrade|Latest Network Critical Update|(Latest|Current|Newest|New) (Microsoft|Net(work)?|Internet) (Security|Critical) (Update|Patch|Pack)|Current Microsoft Critical Pack|Newest Critical Pack|Latest Net Security Pack|Current Net Critical (Pack|Patch)|Latest Network Critical Pack|Abort Report|A virus has been detected in a document you authored.|RAV Antivirus:|BitDefender found an infected object|Virus Detected by Network Associates, Inc&#46; Webshield|&#8212;&#8212; Virus Detected &#8212;&#8212;|Virus detected|Virus Alert|InterScan NT Alert|Virus found in the message|Message quarantined|VIRUS ALERT!|MDaemon Warning &#8211; Virus Found|Warning: E-mail viruses detected|ScanMail Message: To Sender virus found|VIRUS IN YOUR MAIL|Norton AntiVirus detected|VIRUS .* IN YOUR MAIL|Antigen found VIRUS|Filter incident|V.rus figyelmeztet&#233;s! Virus warning!|Symantec AVF detected|Returned due to virus;|Anti-Virus Notification|BANNED FILENAME|File blocked &#8211; ScanMail for Lotus|NAV detected a virus|RAV AntiVirus scan|VIRUS .+ IN MAIL FROM YOU|Virus Notification:|Virus found in a message you sent|Virus found in sent message|VIRUS EN SU CORREO|Warning: antivirus system report|M..Daemon Notification &#8212; Attachment Removed|Information &#8211; Antivirus|Symantec AntiVirus detected a violation|WARNING: YOU WERE SENT A VIRUS|SAV detected a violation in a document|MailMarshal has detected a suspect attachment|A virus was detected in your mail|Recipient Virus-alert|Virus Found in message|E-?mail viruses detected|Undelivered mail: VIRUS FOUND|Quarantined Mail: virus from|Failed to clean virus|Virusveszely! Virus warning!|Virus in mail from you&#46;|Possible virus found in mess..age you sent|AntiVir ALERT|Centrale Anti-Virus melding|Vexira ALERT|You sent potentially unsafe content|ID.*thanks ScanMail has detected a virus!|\\{Virus\\?\\}))|(^X-BLTSYMAVREINSERT|^X-Virus-Scan-Result: Repaired|^X-AtHome-MailScanner: Found to be infected|^X-Scanned: Symantec Antivirus Scan &#8211; Virus found|^X-Sender: NetMail AntiVirus Agent|^X-yoursite-MailScanner: Found to be infected|^X-ELTE-VirusStatus: was_infected)|(^To:.*MS Network Security)) <br \/> virus <\/font> <\/p><\/blockquote>\n<p> And here&#8217;s a simple way to filter spamassassin mail into two folders, one which is &#8220;very certainly&#8221; spam and one which is &#8220;probably&#8221; spam: <\/p>\n<blockquote><p> <font size=\"-2\"> :0<br \/> * ^X-Spam-Level: \\*\\*\\*\\*\\*\\*\\*\\*\\*\\*<br \/> verycertainspam<\/p>\n<p> :0<br \/> * ^Subject:.*\\*\\*\\*\\*SPAM\\*\\*\\*\\*<br \/> probablyspam<br \/> <\/font> <\/p><\/blockquote>\n<\/li>\n<li><b>Firefox 0.9 remote newtab syntax<\/b><br \/> When I open a link from another application (gnome-terminal or <a href='http:\/\/www.ximian.com\/products\/evolution\/' title='Evolution'>evolution<\/a>, for example), I would like it to open in a new tab in <a href='http:\/\/www.mozilla.org\/products\/firefox\/' title='Firefox - The Browser Reloaded'>Firefox<\/a>, so I had a script which I called newmoz:<br \/>\n<blockquote><p> firefox -remote &#8220;openURL($1,new-tab)&#8221; <\/p><\/blockquote>\n<p> This is my default web browser. With Firefox 0.9, the syntax has changed. You now need: <\/p>\n<blockquote><p> firefox -a firefox -remote &#8220;openurl($1,new-tab)&#8221; <\/p><\/blockquote>\n<p> I believe this has something to do with the confusion of the possibility of several related Mozilla applications running all at once, although I&#8217;m not entirely convinced. To make it really snazzy, try: <\/p>\n<blockquote><p> firefox -a firefox -remote &#8220;openurl($1,new-tab)&#8221; || firefox $1 <\/p><\/blockquote>\n<p> This way, if firefox isn&#8217;t already running, it will still work. <\/li>\n<li><b>Email yourself after a long task<\/b><br \/> This is a really obvious one, but I only recently thought of it. Due to several recent failed hard drives, I&#8217;ve been moving a lot of data around from one drive to another, some through NFS, and some over my cable modem. Moving 200 gigabytes, even within a LAN, takes a long time&#8212;even longer if you throttle it so as not to congest the network too much. I would find myself checking back on the process every few hours, even though I knew it probably wasn&#8217;t done. So why not append a mail command after a long process? E.g.:<br \/>\n<blockquote><p> rsync -Pa \/ storage.system.somewhere:backup ; echo done | mail adam <\/p><\/blockquote>\n<p> Since I&#8217;m always checking email, I&#8217;ll find out as soon as it&#8217;s done, and waste less time continually checking back on the process, especially when the transfer might take three or four days. <\/li>\n<li> <b>ssh timeout error\/connection reset by peer with rdiff-backup and D-Link DI-604 router<\/b> <br \/> Backing up <a href=\"http:\/\/bostoncoop.net\">bostoncoop.net<\/a> over a cable modem takes a long time. If something goes wrong, <a href='http:\/\/rdiff-backup.stanford.edu\/' title='rdiff-backup Main'>rdiff-backup<\/a> has to roll back the previous backup and start over. As best I can tell, rdiff-backup first makes the connection, then starts the roll back, but doesn&#8217;t send or receive any data during the roll back. On my system, the roll back can take longer than the timeout period for my <a href='http:\/\/www.dlink.com\/products\/?pid=62' title='D-Link DI-604 4-Port Broadband Router'>DI-604 router<\/a>&#8212;the consequence being that the connection is reset before the backup can start and rdiff-backup fails out.\n<p> There&#8217;s an easy fix, which should come in useful to anyone with a router that is too vigilant about timing out ssh connections (for example, if you ssh to get your email and often leave the window alone for an hour at a time). Add the following to your .ssh\/config: <\/p>\n<blockquote><p> serveraliveinterval 300<br \/> serveralivecountmax 10 <\/p><\/blockquote>\n<p> This will insure that ssh will occasional send an ACK type request every 300 seconds so that the connection doesn&#8217;t die. <\/li>\n<li> <b>Fixed font in gnome-terminal<\/b> <br \/> I&#8217;ve wanted to use gnome-terminal for a long time, primarily because of the tabbed terminal feature (many terminals in one window) and because of the URL recognition (open a URL by right clicking on it). I also like being able to paste into the window with the keyboard.\n<p> There was always one problem, though. The font. I know some people like the new fixed-width GNOME fonts, but I don&#8217;t. I just wanted plain old <em>fixed<\/em>, which I use with xterm (10&#215;20). But that font never showed up in the list of available fonts. <\/p>\n<p> I finally found the solution in \/etc\/fonts\/local.conf&#8212;namely, the following lines: <\/p>\n<blockquote>\n<pre> <!-- Uncomment below to enable bitmapped fonts --> <!-- <dir>\/usr\/X11R6\/lib\/X11\/fonts<\/dir> --> <\/pre>\n<\/blockquote>\n<p> Just uncomment the path, run fc-cache as root, and you should see fixed in the output of fc-list. <br \/> I&#8217;m not sure how a naive user would ever figure this out, but then again, maybe a naive user wouldn&#8217;t care that much about having fixed font in gnome-terminal. I also don&#8217;t understand why we wouldn&#8217;t users to have access to bitmapped fonts by default&#8212;why not just set the default font to something the GNOME people like, but have the other choice in there to start? <\/li>\n<li> <b>Reading Annoying HTML Mail in Mutt<\/b> <br \/> I&#8217;ve tried several solutions for reading broken HTML mail in <a href=\"http:\/\/www.mutt.org\">mutt<\/a>, including my own custom Python hack, <a href=\"http:\/\/adam.rosi-kessel.org\/weblog\/free_software\/code\/addMIMETextToHTMLEmailcode.html\">addMIMETextToHTMLEmail<\/a> (this was actually the first Python program I ever wrote). Reasonably nice mail clients will send a plaintext part in addition to the HTML mail for us textophilic email users, but the dominant <a href=\"http:\/\/adam.rosi-kessel.org\/weblog\/the_web\/hotmail_sucks.html\">Microsoft Hotmail<\/a> and Microsoft Exchange send HTML-only mail with no plaintext part. I wonder if they do this because they expect anybody worth writing to these days is using Microsoft Outlook or Microsoft Hotmail.\n<p> I think I&#8217;ve recently discovered the best solution, since my addMIMETextToHTMLEmail script doesn&#8217;t always work properly and is probably unnecessarily complex: <\/p>\n<ul>\n<li>Download and install <a href=\"http:\/\/www.fourmilab.ch\/webtools\/demoroniser\">demoroniser<\/a>. You may need to tweak it slightly, since it expects perl to be in \/bin\/perl.<\/li>\n<li>Install html2text (<a href=\"http:\/\/packages.debian.org\/html2text\">Debian package<\/a>, separate source available from <a href=\"http:\/\/userpage.fu-berlin.de\/~mbayer\/tools\/\">Martin Bayer).<\/a><\/li>\n<li>Add to ~\/.mailcap:<br \/>\n<blockquote>\n<pre> text\/html; \/home\/adam\/bin\/demoroniser.pl -q -w0 '%s' | \/usr\/bin\/html2text -width 90 -style pretty; copiousoutput; description=HTML Text <\/pre>\n<\/blockquote>\n<p> You may prefer a wider output; the person who suggested this to me uses 158. <\/li>\n<li>Edit ~\/.muttrc and add:<br \/>\n<blockquote>\n<pre> set implicit_autoview=yes <\/pre>\n<\/blockquote>\n<\/li>\n<li>You should now be able to view HTML-only emails in mutt without having any extra steps.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>I use Debian GNU\/Linux unstable (sid) distribution. This is information I wish I could have found on Google. Perhaps it will be of use to you. CUPS Client-Error-ForbiddenI kept getting the &#8220;client-error-forbidden&#8221; error when attempting to cancel print jobs through the CUPS web interface when the job had been submitted by someone else; in \/var\/log\/cups\/error_log [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[17],"tags":[],"_links":{"self":[{"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/posts\/231"}],"collection":[{"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/comments?post=231"}],"version-history":[{"count":0,"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/posts\/231\/revisions"}],"wp:attachment":[{"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/media?parent=231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/categories?post=231"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/adam.rosi-kessel.org\/weblog\/wp-json\/wp\/v2\/tags?post=231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}