Here are some miscellaneous problems I've encountered. This is inspired by the helpful Linux Tips. Hopefully if you Googled these, I'll have a solution. They're not in any particular order; just use a browser search (ctrl-f) or similar to find the relevant one. If you find one of my solutions doesn't work or find a better way, drop me an email.

If your problem features Vim, first you can check out my .vimrc file. There are a good number of tweaks and issues that I've fixed in there, including numerous hacks with latex-suite (a highly recommended package even though it has bugs).

In addition, if your problem is LaTeX related, you can take a look at my latexheader file which has a few complicated package declarations so things work just the way I like. The default Bibtex file that I use is at wilson.bst.

Problem: After installing texlive-2011 errors like "I can't find file `ptmr8t'" occur.

Reason: This is caused by the texlive fonts files not being installed (especially when updating from texlive-2007).

Solution: On Fedora Lovelock it's in texlive-texmf-fonts-2007.

Problem: ROOT is not packaged for Debian stable (Squeeze).

Reason: I guess it was decided to be too unstable...

Solution: Compile from source (any other suggestions?).

Problem: On a Realtek ALC889 audio card, 5.1 sound does not work in ALSA. This problem occurs with Debian Squeeze.

Reason: ALSA is horribly broken in Squeeze. In particular, it does not contain enough sound drivers in the kernel to properly support this (common!) sound chip.

Solution: Added a line to /etc/modprobe.d/alsa-base.conf with a model number (did not work). Then, installed PulseAudio and edited .asoundrc as well as /etc/pulse/daemon.conf. Neither of these worked either. The key was the output of aplay -l : it stated that the card was being recognized as HDA Generic. We need to install alsa-source with sudo apt-get install alsa-source. Then, patch these modules into the kernel with the two commands: su -c 'm-a update && m-a prepare' and su -c 'm-a a-i -t alsa-source'. Upon reboot, ensure that the sound card is recognized with aplay -l and set up the channels with alsamixer (you may have to scroll to the right to change Channel to 6ch instead of 2ch).

Problem: Many errors occur when installing indico.

Reason: Some (in the Apache log, permissions problems) are because the indico directory is not writeable/executable by the Apache service. Others (errors in other.log, images not loading, "loading dialog" popup hanging) can be due to an incorrectly specified hostname for indico or for zeo.

Solution: To solve the first, chown -R www-data /opt/indico worked for me. The second was because I wished to open the server up, so I altered indico.conf's base URL to be a static IP rather than localhost. This caused any logins to break, as well as preventing images from being rendered remotely, because the ssl-Base-URL wasn't changed. So I changed that, too. Then, clicking "Add Administrator" causes a hang, both remotely and locally. Changing everything back to localhost fixes this; I suspect it's due to the zodb.conf file still referencing localhost, and I'm still working on configuring that for remote access.

Problem: Installing apache2 and php5 on Debian Squeeze, no php scripts work.

Reason: The php script is simply downloaded because Apache has not loaded the php modules.

Solution: For some reason Apache is not reloaded by Apt nor Synaptic. If you check /etc/apache2/mods-enabled, you can see that php5 is in there, but the problem is that apache2 has been started before php5 was installed/enabled. The fix is simple - reload with sudo /etc/init.d/apache2 restart.

Problem: Pligg spits out the error "ezSQL_mysql requires mySQL Lib to be compiled and or linked in to the PHP engine".

Reason: Pligg can't connect to MySQL through PHP.

Solution: You need to run sudo apt-get install php5-mysql. Then restart apache: sudo /etc/init.d/apache2 restart.

Problem: The Raspberry Pi doesn't play movies or music with the current Debian distro (as of July 3, 2012).

Reason: This is because the Debian distro wasn't built to support movies, namely because of difficulties in GPU acceleration with default media players.

Solution: The recommendation that worked for me was simply downloading and installing a custom distro. I attempted to use the current OpenELEC distro 20120623232506-r11392. This refused to boot, having difficulties recognizing the SD card. Downloading version 20120614193607-r11315 worked for me, using the create_sdcard script to install properly (the first time I used dd with the iso file directly and this may have been the problem). Version r11493 worked even better, allowing me to persistently save the video calibration.

Problem: When using the subs command in Maple with a constant map over an expression that contains derivatives, e.g. subs(f(r) = 0, function1), Maple tends to expand the function in derivatives of 0 or 1 or whatever constant, and refuses to simplify those.

Reason: Subs doesn't seem to be able to handle constant function maps.

Solution: Use algsubs(f(r) = 0, function1) instead. Some suspect that algsubs is broken and it might well be, so check the output to make sure it's doing what you think.

Problem: When you're using any of the Maple interfaces (even classic, sometimes), copying from one worksheet and pasting into another is inconsistent and frustrating.

Reason: 2D math output is not handled well with the clipboard, especially in X, and is pasted as half-expressions, as output into an input line, only parts of the expression are highlighted, etc.

Solution: Wrap the command whose output you want to paste with lprint(command). This gives raw Maple output that should be paste-able.

Problem: In Tkinter within Python, running code with buttons has them run upon startup, and they fail to work afterwards.

Reason: This is almost certainly because Tkinter is thinking that the button command is a function, and so it runs the function to create the command for the button to run.

Solution: You can fix that problem by correcting the line Button(frame, text="My Button", command=mycommand()) to be Button(frame, text="My Button", command=mycommand). Subtle!

Problem: Installing a 3rd edition Wacom tablet on Debian Squeeze (the CTH-470 Wacom CAPTURE): the tablet is not recognized under xinput nor xsetwacom.

Reason: The kernel module wacom.ko does not support most new Bamboo tablets in Squeeze.

Solution: You need to patch in a newer wacom.ko from "input-wacom". A decent test to see if your input-wacom actually supports the CTH-470 is to go into the input-wacom directory and run grep -ri "0xde" *. If this returns some lines that relate to the kernel 2.6.30, then you should be fine, because this is what Squeeze defaults to install. Otherwise, if it only contains lines for 2.6.38, for example, you'll be out of luck. As it is, patching in the wacom.ko from an input-wacom version modern enough to support the CTH-470 in 2.6.32 only provided me with working buttons on the tablet. My guess is that I'll either have to upgrade to 2.6.39 or else wait for input-wacom updates. I did manage to get it working in kernel 2.6.38, and in Fedora 15, it works out of the box on kernel 2.6.43.8-1.fc15.

Problem: On Fedora 15 ("Lovelock"), the mouse briefly hangs upon the refresh of an external VGA monitor, on an old Thinkpad.

Reason: There is likely a process eating up a bunch of CPU time when the monitor is refreshing. Since it's a single core processor, the input devices hang, which is particularly nasty if you're using a tablet as handwriting input.

Solution: To fix this, I removed a bunch of software and so I haven't narrowed down which helped. One thing I noticed was that upowerd was using a fair amount of CPU (about 10%), and so I killed that process from the command line. I think that may have been what fixed the problem. I don't use laptop battery management because the laptop no longer has a working battery. I also installed updates to xorg, but I think the upowerd fix was more relevant.

Problem: On some hardware (e.g. an eeepc701sd) unchecking "Enable Wireless" in the networking tray icon causes the "Enable Wireless" option to disappear.

Reason: It looks like the network-manager tray can directly turn off the wireless adapter but it cannot turn it back on. I don't know why this happens. Poor user interface design?

Solution: Pressing Fn-F2 on the keyboard (the wireless function key) caused the "Enable Wireless" option to reappear. Checking the icon then allows me to access the wireless again.

Problem: On a Debian Squeeze system, dmesg absolutely fills up with "ALSA pcm.c:194: 2:3:1: cannot get freq at ep 0x84".

Reason: For me, this was caused by a non-spec audio device attached to the computer.

Solution: The fix was just removing the cheap eBay USB webcam/mic that was attached, when it's not in use. The device still works fine, but it will fill up the log files if it's left connected. I'm sure there is a better way to make ALSA less verbose, but I have not found it.

Problem: In Maple, code refuses to simplify an expression like sqrt(f(x)*g(x))*f(x) to f(x)^(3/2)*sqrt(g(x)).

Reason: By default, Maple is picky about branches of roots and powers.

Solution: Use the simplify(expr,symbolic) command. It will force everything to use a particular branch. Note that it may introduce errors in your computation depending on what you're doing (namely, when f(x) or g(x) are complex or have a negative product).

Problem: The HP Envy 100 printer does not set up correctly on Debian Squeeze, even after manually installing HPLIP 3.12.10a.

Reason: There are some problems with the automatic configuration utility. The problem I had presented itself with either a foomatic-rip-hplip not found error or no errors (not even in hp-check -t) but the printer spits out garbage.

Solution: I used a custom configuration and install. There was no good way to know what was right; I tried quite a few options until I stumbled upon a config that worked. First, uninstall the hplip driver manually as per http://hplipopensource.com/node/188. Then, a make clean and a ./configure --prefix=/usr --with-hpppddir=/usr/share/ppd/HP --enable-qt4 --enable-hpcups-install --enable-cups-drv-install --disable-cups-ppd-install --disable-hpijs-install --disable-foomatic-drv-install --disable-foomatic-ppd-install --disable-foomatic-rip-hplip-install --enable-fax-build --enable-dbus-build --enable-network-build --enable-scan-build --enable-policykit --enable-libusb01_build --disable-udev_sysfs_rules --enable-doc-build followed by a make install worked for me. Run hp-setup and the printer was detected and the test page worked.

Problem: Scanning double sided documents and parsing with pdftk is such a pain - it needs a script with the burst command, or worse!

Reason: You just haven't upgraded pdftk yet.

Solution: A difference between pdftk version 1.41 and 1.44 is the introduction of a shuffle command - this does exactly what you need. Read the man pages for details. The syntax is pdftk A=fronts.pdf B=backs.pdf shuffle A1-78E B78-1W output total.pdf if the pages are rotated.

Problem: In vim-latexsuite, things work really nicely for editing equations, but you want to add a few customizations. For me, this was the simple task of the equation environment automatically including \label{eqn:<++>} as a speedup.

Reason: Sometimes things work better when you do them yourself!

Solution: Edit the file ~/.vim/ftplugin/latex-suite/envmacros.vim to change the default label setting. You'll see that in the function Tex_eqnarray, there is a variable arrlabel controlling how the label output is formatted. Change it to your liking.

Problem: GParted 0.3.3 for Puppy Linux does not properly recognize or partition ext3 filesystems.

Reason: The 0.3.3 version does not have ext3 support built in, and if this is the version that came with Puppy you probably don't have it installed on your system at all.

Solution: You need to install a number of .pet files to get this support. I found an 0.4.6 version of GParted which worked for me after its dependencies are found. I forget what the dependencies are, but if you try to install the file it will tell you what you need. There was definitely a cairo pacakage required, and two or three others. I also needed to update the version of e2fsck. Then, I was able to run swapoff /dev/sda6 (because Puppy was using partitions for swap that I needed to touch) to do everything I needed to the underlying filesystem.

Problem: Gallery1 just gives a "Dismiss" without error when attempting to upload a zip file.

Reason: The Apache configuration blocks Gallery from uploading files bigger than a certain amount.

Solution: This can be overridden by using the .htaccess file. For me it was in /usr/share/gallery/.htaccess, and at the bottom I added the lines "php_value upload_max_filesize 400M" and "php_value post_max_size 100M". These allowed me to upload larger zip files (I think the limit is 2MB by default). Both options are necessary!

Problem: Skype crashes when the screen blanks in Puppy Linux.

Reason: This is certainly a Skype bug though I'm not sure which Skype versions it affects.

Solution: Turn off screen blanking, since I'm not sure what to do about Skype. On Puppy this can be done with "xset s off" since setterm is not used. "xset -q" will show that the timeout for blanking is no longer set.

Problem: Pressing ]] in a .php file in vim causes an E486: Pattern not found.

Reason: There is a builtin ftplugin that overwrites the ]] command in vim. On Debian systems this is at /usr/share/vim/vim72/ftplugin/php.vim. The new behaviour is supposed to search through section headers in the php file and if you have no sections it will not be able to find anything.

Solution: The overwritten behaviour times out, so you can press ]] slowly to recover "normal" (plain text) behaviour. Or, if you are trying to get to the end of the document, G and 1G are the proper ways to go to the end and beginning.

Problem: On Fedora 15 pdflatex and auto-pst-pdf produces end-errors like 'File **-pics.pdf not found'.

Reason: This can be caused by many problems, but for me it was hidden a little higher in the output log, sh: pdfcrop: command not found.

Solution: Install pdfcrop!

Problem: Starcraft LAN UDP does not work properly on linux.

Reason: Specifically, on Fedora the UDP connection isn't properly established. After debugging Wine and a number of other things, I realized that Fedora ships with a working firewall, which is why my Debian systems didn't have a problem.

Solution: Disable the Fedora firewall temporarily.

Problem: Starcraft runs really slowly on Knoppix on an old Dell Optiplex GX320.

Reason: This is the Direct3D defaulting to OpenGL that's killing it. Use gdi.

Solution: Use "wine regedit" to enter the registry. Go to HKEY_CURRENT_USER/Software/Wine, create a "Direct3D" key in there with the string value "DirectDrawRenderer" and value "gdi".

Problem: The UV-5R programming cable doesn't work.

Reason: This is well established on the internet to be caused by many many finicky problems, especially your connector not fitting probably. Search to find the common ones and try to fix them.

Solution: In my cable, there were two compounding issues. First, the RX pin on the USB-Serial chip was not connected to the 3.5mm plug. I scraped away the rubber and found that it was a cold solder joint, and resoldering made the connection. Upon plugging it in and using CHIRP, instead of the previous "Clone thread started\nSending Magic: 000: 50 bb ff 01 25 98 4d 00 P...%.M.\nRadio did not respond", I obtained "Clone thread started\nSending Magic: 000: 50 bb ff 01 25 98 4d 00 P...%.M.\n'P'\nRadio did not respond" - note the little 'P'. This tipped me into thinking that there was an additional baud rate problem, because I'd seen this sort of terminal garbage appear before. My suspicion is that the knock-off Prolific chip in the USB-Serial just wasn't working properly. As the equivalent of kicking a mechanical appliance, I pushed some different baud rates to the chip _while it was in operation_: stty -F /dev/ttyUSB0 to check the baud (CHIRP kept defaulting it back to 9600), and sudo stty -F /dev/ttyUSB0 38400 to force a 38400 baud. Somehow this worked. Actually - it didn't completely work. It was only be re-plugging the USB in a number of times that it actually recognized the radio and began to communicate. It is the "P.....%." bit that the radio responds to.

Problem: How do I see the list of variables that have been 'declared' in Maple?

Reason: You use anames to see the assigned ones, and unames to see variables that are declared and equal only to their names.

Solution: This is readily available in the documentation but I put it here because I use it just rarely enough to keep forgetting. In addition, to unset a variable you could do something like z:='z';.

Problem: Sometimes in Debian when attempting to safely remove a USB drive, it gives the error that an application (gfvsd-trash) is blocking the umount, after an empty trash has been performed.

Reason: Occasionally the empty trash operation runs without any graphical indication that it is running.

Solution: You have to wait! But it's good to monitor these things, in case something has actually frozen. You can check that the media is indeed being worked on with fuser -m /media/USBDRIVE/, while you can see the files that are currently being touched with lsof +D /media/USBDRIVE/. Notice that it's recursively moving through your directory nodes nicely :)

Problem: Unrar/unrar-free (version 0.01) fail to extract from a rar file on Debian Squeeze 64-bit.

Reason: Unrar-free is a very sporadic program.

Solution: You'll unfortunately need to get unrar-nonfree. It was in the standard apt-nonfree repository if I recall.

Problem: Downloaded/moved files from FileManager aren't recognized by apps on Android 4.4.

Reason: I think it's caused by mounting the filesystem (in debug mode or not) on Linux. There seem to be some bugs with this.

Solution: Restarting the phone has always worked for me.

Problem: On the SPA2102 Cisco VoIP adapter and Voip.ms phone service, all calls hit a busy signal.

Reason: The device registers to the service and dials correctly but the call is immediately terminated. For whatever reason, if the SPA blocks caller ID setting, voip.ms terminates the call.

Solution: On the User page, you need to set Block CID Setting to "no". This fixed the problem for me!

Problem: The HTTP/Getwork protocol used in *coin just won't tunnel!

Reason: I don't blame you. It's tricky.

Solution: Set up an SSH forward on the port used (for example, for port 8080, ssh firewallserver -L 8080:poolname.net:8080). Then, specify localhost:8080 as the URL.

Problem: Setting up xsetwacom Area is confusing for lefties.

Reason: If you're left handed, you need to calibrate the area from the top right to the bottom left when the tablet is reversed.

Solution: I'm not sure if there is a better way to explain other than giving what worked for me. I want the tablet on my left monitor. It's 1280x1024, while my right monitor is 1024x768. The tablet resolution from xsetwacom get "tabletid" area is 14720x9200. Compute the scaled width of the left monitor: 1280/(1280 * 1024) = 0.55555. For some reason we divide the x-resolution (total width) by this, rather than multiply, to get 26496. The difference between this and the total resolution is 11776. We use the full height, 9200. So, apply xsetwacom set "tabletID" Area -11776 0 14720 9200.

Problem: GrTensor gives an sscanf: input or format string expected error when trying to grdef.

Reason: GrTensor's grdef is very picky about whether variables are functions of coordinates or coordinates.

Solution: Typical examples might be defining tmpFunc := x^2 and trying to insert that into a grdef. Grdef needs you to define tmpFunc(x) := x^2. Similar problems seem to exist with square roots; encapsulating these in a function might help (but they also might not).

Problem: Bluetooth via a USB dongle didn't work on Mint 13.

Reason: Dmesg gave "hci0 command tx timeout" as the key indicator. When trying to activate, "sudo hciconfig hci0 up" gave "Operation not possible due to RF-kill".

Solution: Even though rfkill list all said nothing was blocked, it appears that there was blocking of the Bluetooth device going on. I ran "sudo rfkill unblock all" followed by "sudo hciconfig hci0 up" to get Bluetooth activated again.

Problem: On Ubuntu 14.04 with OpenVPN, resolving local domains like "host.domain.local" does not work (while just accessing "host" does).

Reason: This is due to some discrepancy in mDNS configuration that I haven't cared enough about to fully understand.

Solution: Fix it by putting "dns" earlier in the hosts line in /etc/nsswitch.conf.

Problem: VPN in Network Manager mysteriously cannot connect.

Reason: This is due to an update in Fedora, Bug 1177297. Openvpn was updated but pkcs11-helper was not listed as a dependency; if openvpn was updated but not pkcs11-helper, old openvpn configurations will no longer connect, and while the networkmanager plugin will enable creation of a new VPN, oddly no ciphers appear in the Advanced setting.

Solution: Update or install pkcs11-helper.

Problem: Running commands in a screen instance from a bootup script can be challenging and nothing seems to work.

Reason: You probably aren't using enough escapes!

Solution: For example, if you have a screen running as a user process under the account TMP, you can run a command in this screen instance from a script run as root with: su - TMP -c "screen -S SCREENNAME -p 0 -X stuff \"THECOMMAND\$(printf \\\\r)\"". Not pretty but it works.

Problem: On OwnCloud 8.0.2 certain files will halt any sync, displaying "Connection Closed".

Reason: For me this seems to occur because a machine did not communicate with the server for a while, and the server becomes confused about whether the files have changed. Maybe the timestamp changed but the hash didn't?

Solution: Because I don't exactly know why this occurs I don't have a perfect fix. I have found that a fix can be performed by manually backing the problematic files up on the client, removing them from the server, resynchronizing, and then copying them frmo the backup to the shared folder on the client. Judicious use of the selective folder sync can make this process a lot easier, but it's still a pain. Hopefully these type of problems are corrected in more modern versions of OwnCloud.

Problem: Installing fonts manually on older TeX distributions can give errors about Metric (TFM) file not found. This happened to me with SourceCodePro.

Reason: The tfm and map files aren't being found.

Solution: For me this required me to use /usr/share/texlive/texmf-local rather than any user directories. I had to create subfolders fonts/ and tex/, and copy the relevant files in. However, more directory structure was needed. I had to create the directories enc/, map/, otf/, tfm/, type1/, and vf/, and put the relevant files in there. I needed to use updmap-sys --enable Map=SourceCodePro.map, then sudo texhash, and finally I needed to insert the line \pdfmapfile{=SourceCodePro.map} into my tex document. Really not worth the pain!