Tag Archives: Linux

Firefox Fonts Too Big or Small on Kubuntu 9.10

So you’ve recently installed or upgraded Kubuntu to 9.10 Karmic Koala and installed Firefox. To your horror, you find that all the menus and labels in the browser’s interface are either HUGE or tiny relative to the included KDE applications. Here’s the quick fix.

  1. Click on the K menu
  2. Select System Settings
  3. In the Look & Feel section, click the Appearance icon
  4. In the left panel, click the Fonts icon
  5. At the bottom of the Fonts settings, the Force fonts DPI drop down list control is set to Disabled by default
  6. If you want to make Firefox’s fonts smaller, select 96 DPI; to make them larger, select 120 DPI
  7. Click the Apply button
  8. Restart Firefox

If you’re using Ubuntu with the Gnome desktop and run into this problem, there should be a similar DPI setting for either fonts or the display. Let me know how you resolved it on Gnome.

Ubuntu 9.04 Screen Resolution/Monitor Out of Range (nVidia Driver 180)

After installing Ubuntu 9.04 Jaunty and enabling the nVidia 180 driver (onboard video is a nVidia GeForce 6150 LE), I restarted the system and was greeted by the normal login screen. However, after logging in, my screen (Dell 2407WFPHC) went blank with a monitor message that the resolution was out of range. It appears that many people are running into this problem. The following fixed it for me.

  1. Open a terminal window
  2. Go to the X11 directory (cd /etc/X11)
  3. Make a backup of the current xorg.conf file (e.g., sudo cp xorg.conf xorg.conf.backup)
  4. Use your favorite editor to open xorg.conf (e.g., sudo vim xorg.conf)
  5. In the section “Device”, add the following line:
    Option “UseEdid” “False”
  6. The “Device” section should now look like the following:
    Section “Device”
    Identifier “Default Device”
    Driver “nvidia”
    Option “UseEdid” “False”
    EndSection
  7. Save the xorg.conf file
  8. Log off and restart the X server (from the login screen, click on Menu and select Restart X server)

That’s it. Now, when I log in, I’m able to see the screen and select a resolution using the nVidia X Server Settings tool.

Note: In the nVidia X Server Settings tool, if when you click the Save to X Configuration File button, you get an error message that it can’t save, run nvidia-settings from a terminal window using gksudo (for Gnome, e.g., gksudo nvidia-settings) or kdesudo (for KDE, e.g., kdesudo nvidia-settings). If, instead, you get a “can’t parse xorg.conf”, just rename /etc/X11/xorg.conf to something else so nvidia-settings can create a new file.

Can’t set your screen to the native resolution of your monitor? See the companion post, Ubuntu 9.04 nVidia Driver Screen Resolution Problem.

Ubuntu 9.04 nVidia Driver Screen Resolution Problem

Many people running Ubuntu 9.04 are having trouble with the proprietary nVidia driver (nvidia-graphics-driver-180 in my case) including getting it to go to high resolutions that fit the native resolution of widescreen monitors. I had the same problem with an nVidia GeForce 6150 LE and Dell UltraSharp 2407WFPHC monitor.

I was able to get all the resolutions, including 1920×1200, for my monitor as well as have the nVidia driver recognize the monitor as a 2407WFPHC, by doing the following:

(If you can’t see your screen at all after enabling the nVidia driver, first read the companion post, Ubuntu 9.04 Screen Resolution/Monitor Out of Range (nVidia Driver 180).)

  1. Open a terminal window
  2. Go to the X11 directory (cd /etc/X11)
  3. Make a backup of the current xorg.conf (e.g., sudo cp xorg.conf xorg.conf.backup)
  4. Run nvidia-xconfig with root permission (sudo nvidia-xconfig). If you get a parsing error, delete xorg.conf so nvidia-xconfig can create a fresh one.
  5. Open xorg.conf with your favorite editor (e.g. sudo vim xorg.conf)
  6. You’ll see a lot of extra settings now
  7. Look for Section “Monitor”. Mine defaulted to the following settings:
    Identifier “Monitor0”
    VendorName “Unknown”
    ModelName “Unknown”
    HorizSync 28.0  – 33.0
    VertRefresh 43.0 – 72.0
    Option “DPMS”
  8. Change the HorizSync and VertRefresh values to the correct ones for your particular monitor. For my 2407WFPHC, I put the following:
    HorizSync 30.0 – 83.0
    VertRefresh 56.0 – 76.0
  9. Save the xorg.conf file
  10. Log out and restart the X server (at the login screen, select Menu, then Restart X server)
  11. Log in and run the NVIDIA X Server Settings tool. You should now have a whole bunch of resolutions from which to choose. I selected 1920×1200.

The reason that this works is that the nVidia driver needs to know the frequency ranges for your monitor in order to know what resolutions are safe to use. Setting the HorizSync and VertRefresh in xorg.conf provides this necessary information.

Redirect Output from Time Command to a File

If you want to find out how long a program takes to execute, you can use the Linux time command. It outputs the real, user and system resources used by the command you specify. For example, to see how long the ls command takes to execute on the current directory, you run time ls and get something like the following:

real 0m0.005s
user 0m0.004s
sys 0m0.000s

However, by default, the time command outputs this information to the standard error device and, as a result, it’s not always obvious how to get this information into a file.

If you’re using the GNU time command, it’s pretty easy with the -o or --output option. For example, the following command writes the time information from executing ls into the file time.log:

time -o time.log ls

On some systems, such as a Linux server I was using recently, the only available time command may be the one built into the shell. This time command does not have an output option. As a result, if you want to redirect the output of both the time command and the program it’s executing, you might think you want to do the following:

time ls > output.log 2>&1

Then, you discover that it doesn’t work as expected. All you get in the log file is the output of the ls command while the time command still prints to the console, even though you redirected standard error to standard out.

Why does this happen? It’s because those redirects apply only to the ls command, not to the time command. Fortunately, there’s an easy solution. Group the time command and the program you want it to time using parentheses. Try changing the previous command to the following:

( time ls ) > output.log 2>&1

When you view the output.log file now, you’ll find that the output of both the ls and time commands went into the log file, as desired.

Kubuntu 8.10 Video Flashing, Flickering, Blanking

Kubuntu Intrepid Ibex (8.10) on my laptop makes the screen flash on and off repeated every 10 seconds or so. The video output is actually turning on and off. It was driving me crazy. Here’s how to fix it.

My laptop has an Intel 945GM but this problem seems to affect other cards such as the GMA915 and some ATI as well. It has also manifested itself as flicker, rather than the periodic blanking that I’m experiencing.

According to bug 278471, this problem is associated with the monitor detection function in KDE4. So, to stop the flickering, flashing and blanking, simply turn off the detection service as follows.

  1. Click on the K menu
  2. Go to the Applications tab
  3. Click on the System menu followed by System Settings
  4. In the System Settings window, click on the Advanced tab
  5. Click on the Service Manager
  6. In the Startup Services list, select the service named, “Detecting RANDR (monitor) changes” so that it’s highlighted
  7. Click the Stop button to stop the service, then click the checkbox to clear it (so it doesn’t start up anymore)
  8. Click the Apply button

Voila! No more flashing. What a relief. After this bug is fixed, you can turn the service back on so that Kubuntu can detect monitors again.