Help me shrink my screen!
February 18, 2007 4:32 PM   Subscribe

Why does my computer (Linux, Gnome) suddenly think my screen is 3 feet wide? How can I convince it otherwise?

My computer boots in both Windows and Linux. Today, when I restarted in Linux after finishing in Windows, the machine behaved in a strange way -- it seemed to feel that my screen was about twice as big in either direction as it actually is, so I could only see a quarter of the desktop at once -- moving the mouse to the edge of the physical display scrolled it along so I could see everything. I tried changing the screen resolution from 1024 x 768 to 640 x 480; this had the effect of getting everything on one screen, but now, well, the resolution is very low -- one terminal window takes up the whole screen, if I try to make text small it's unreadable, etc. Do the Metafilter Linux/Gnome masters understand what it is my computer is confused about, and how to set it straight?
posted by escabeche to Computers & Internet (10 answers total)
 
In your /etc/X11/xorg.conf, what does it say in your section "Monitor" and your section "Screen"?
posted by Zed_Lopez at 4:58 PM on February 18, 2007


Sounds like you've turned on the virtual desktops feature.

Look in the taskbar for an icon like this. Mess around with it until you've turned off the virtual desktops. You can also do it through the main Gnome control center.

Then set your screen resolution back to whatever it was originally (1024x768).
posted by jellicle at 5:02 PM on February 18, 2007


Response by poster: Under Monitor:

Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "LCD Panel 1024x768"
HorizSync 31.5 - 48.5
VertRefresh 40.0 - 70.0
Option "dpms"
EndSection

Under screen:
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 16
Modes "800x600" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Comments:

1. I shut down and restarted, and now the scrolling behavior has stopped -- but everything (arrow, icons, cursor, fonts) is still much larger than it is supposed to be; e.g. when I open a terminal window, it fills the whole screen, and when I try to shrink the font to a normal size, it's unreadable.

2. I don't see any icon that looks like "Virtual Desktop," nor can I find such a thing on any of my menus -- but maybe this is a dead issue now that it's not scrolling any more?

3. I'm afraid I don't know the answer to the obvious question, "What is the resolution of your physical monitor?" Is there an easy way to figure this out? I got it used, so there's no manual.
posted by escabeche at 5:48 PM on February 18, 2007


Whoa, have you tried pressing CTRL+ATL++ or CTRL+ATL+-? That flips through the available display resolutions (as opposed to the screen, i.e. desktop, resolution, which is a wholly different thing).
posted by TheNewWazoo at 6:15 PM on February 18, 2007


Response by poster: OK, I tried TheNewWazoo's idea -- this changes the size of the font in an individual window, but doesn't change icons, etc. -- and if I make shrink the font to its "usual" size, it's unreadable thanks to the low resolution my computer thinks its screen has.
posted by escabeche at 7:40 PM on February 18, 2007


Give the ubuntu forums a shot. Even if you aren't using ubuntu, it's likely that your X11/Gnome problems have been discussed there before - it's archives are a treasure trove of good info.
posted by chrisamiller at 9:51 PM on February 18, 2007


Best answer: You don't say what distro you're running, which is important info. Linux has a set of general ways to do things, but each distro implements the details differently, so knowing what you're running will help a great deal with troubleshooting.

I'd first suggest looking for automated tools to adjust your display. That section you post looks pretty default, and I'm thinking that a customized xorg.conf file might have been overwritten by a package uprade. Presumably, your distro will offer some kind of automated monitor-setup routine, which will rebuild your xorg.conf to properly drive your hardware.

If you can't find anything, you'll have to do it manually, which is a pain. I'll give you some directions here, but I'd enthusiastically suggest you try to find something automated first. Most distros offer something to make this easy, precisely because it's a hassle. In Windows, if the automated tools don't work, you're just boned... in Linux, you can do it yourself, but it's a pain. So be warned. :)

OK! You're throwing caution to the wind, and pressing ahead with the manual fix attempt. The first thing you should do is boot up in Windows and see what it's using for your display resolution. Normally it will be set optimally for your hardware. Remember this value, as you're going to need it.

Next, reboot back to Linux. Before starting to troubleshoot, MAKE SURE you have an editor installed that you can use comfortably from the command line. If you don't have one you prefer yet, 'nano' is a good choice; it's a small, easy text editor without very many options. Make sure it's installed and working before you do anything else, because you'll be working in text mode and can't depend on a graphical editor.

Once you have an editor installed, the first step in troubleshooting X is to disable the graphical login... you don't want X to start by default at all. The easiest way to do this is usually to open a command prompt and type 'sudo telinit 2'; this switches the machine temporarily to runlevel 2, which will USUALLY kill off X. If it doesn't immediately dump you to a text login prompt, hit control-alt-backspace, the emergency X server termination. That should get you to the text prompt.

Once you're in text mode, log in with your normal credentials. Now test to make sure that X starts; type 'startx'. You will see a crapload of text scroll by, and your normal desktop (well, the normal broken one :)) should become visible. If you've gotten that far... congrats! Now you can start troubleshooting. Quit X, and use shift-pgup at the text screen to review what X was telling you about your hardware. If you don't see any obvious error messages, then the next thing to do is to try to simplify your xorg.conf file.

Now: MAKE A BACKUP of xorg.conf. If you blow it or get lost, you can copy that file back and reboot, and you'll be exactly where you started, and you can try again. If you don't make a backup, you can get lost to the point of having to reinstall, which sucks. A lot.

Remember the resolution setting you got from Windows? Now you're going to make sure that xorg.conf lists only that resolution and nothing else. X itself just blindly does what the xorg.conf tells it to do -- it relies on other programs, or the user, setting it up in an intelligent way. You'll set it up as simply as possible to try to get it running. (You can add other resolutions back in later if you wish, which can be handy for games, but not much else.)

Note that you'll have to 'sudo nano /etc/X11/xorg.conf'... you need superuser permissions to edit that file.

Once you have the edit screen open, I'd suggest commenting out the Subsection Display lines that include "Depth 16"; there are five lines there, including the Subsection and EndSubsection entries. Put a # mark in front of those 5 lines. They are saying, "In 16-bit-depth, only the modes 800x600 and 640x480 are available". Generally, you don't even want 16-bit color depth anymore, so putting # marks in front of all those lines will remove even the possibility of 16-bit color.

In the second Display stanza, the one with Depth 24, put just the resolution you got from Windows on the Modes line. Remove everything else. Save and exit.

Now, try a startx command and see if the desktop comes up. If it doesn't, the last error messages will usually tell you why. If you can't figure out what it is (it's often just a typo), post back with the new error and I'll try to help. If it says something about 'no such resolution', try changing the Depth 24 to Depth 16 and see if it makes any difference.

Ok, assuming you get X looking the way you want it to, yay! Copy the fixed xorg.conf somewhere safe so you have it to refer to. If it gets overwritten again, this will show you what you did to fix it.

To get back to the normal graphical login, either type 'telinit 5' or reboot, whichever you prefer. If you have a really wacky distribution, runlevel 5 may not be X Windows, so rebooting should work 100% of the time.
posted by Malor at 2:36 AM on February 19, 2007 [1 favorite]


What has (almost certainly) happened is that your monitor is set to a lower resolution than your desktop. So say your monitor is 640x480, but your desktop is 1024x768, so it needs to scroll around on the screen to show it all.

If you use Ubuntu try typing "sudo dpkg-reconfigure xserver-xorg" in a command line. This will re-run the auto configuration stuff and try to set up your display again (make a copy of your /etc/X11/xorg.conf first, so you can copy it back if this screws things up worse). If that fails dive in to Malor's suggestions.

Actually looking at your xorg.conf stuff, have you changed the color depth of your desktop recently? You don't have a 1024x768 mode in your 16 bit section.
posted by markr at 3:19 AM on February 19, 2007


Exactly what markr said. Looking at your xorg.conf, I see your physical monitor is set to 1024x768, but is that *really* its native resolution? I doubt it. This is your problem. If you have a 19" LCD that uses a 1280x1024 resolution for example, well you need to do that in the monitor section... And then, you can fix your resolution in the device section.

Otherwise, you have a higher "desktop" resolution than the supposed "physical" resolution of your monitor, and so X says "ok well this is impossible, so let's scroll".
posted by a007r at 10:32 AM on February 20, 2007


Response by poster: Problem fixed! Here's what I did. The IT guy at work gave me an Ubuntu boot disk and instructed me to do the following: boot from the CD, then take the xorg.conf from there and scp it over to my university account; then boot again from the hard drive, scp ubuntu's xorg.conf file back to my laptop, back up the existing xorg.conf, then replace it with the one from ubuntu. Worked great!
posted by escabeche at 8:35 AM on February 25, 2007


« Older A Problem of Scale: Halfway in size between an...   |   I want amba sauce. Newer »
This thread is closed to new comments.