LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: hyperego

如何手动配置分辨率?

[复制链接]
 楼主| 发表于 2004-1-20 18:57:52 | 显示全部楼层
最新发现,bug应该是在/usr/bin/X11/xconfig这个文件中。我的文件如下:
#!/usr/bin/python

import sys,os,signal,commands
import string

sys.path.append ('.')
#sys.path.append ('..')
sys.path.append ('/usr/lib/mongoose')
sys.path.append ('/usr/lib/mongoose/textw')

from constants_text import *
from snack import *

signal.signal(signal.SIGINT,signal.SIG_DFL)

from log import log
from xf86config4 import XF86Config
from xf86config4 import XRES_VGA
from xf86config4 import XRES_640x480_60Hz
from xf86config4 import XRES_800x600_60Hz
from xf86config4 import XRES_1024x768_60Hz
from xf86config4 import XRES_1280x1024_60Hz
from xf86config4 import XRES_LCD
from xf86config4 import XRES_LCD_1024x480_864Hz
from xf86config4 import XRES_LCD_1024x512_88Hz
from xf86config4 import XRES_LCD_1280x600_60Hz
from xf86config4 import XRES_LCD_1400x1050_60Hz
from xf86config4 import XRES_LCD_1400x1050_6224Hz
from xf86config4 import XRES_LCD_1600x1200_592Hz
from xf86config4 import XRES_LCD_1280x768_60Hz
from xf86config4 import XRES_LCD_1024x600_58Hz

from xf86config4 import *
from kbd import Keyboard
from mouse import MouseConfigFile
from rhpl.translate import _, cat, N_, textdomain

textdomain("mongoose")

import time
#from gtk import *
#from _gtk import gtk_set_locale

import xkbC
from mouse_text import MouseWindow
from keyboard_text import KeyboardWindow
from xconfig_text import MonitorWindow
from xconfig_text import CardWindow
from distro import *

XCMODE_CONFIGURE     =1<<0
XCMODE_INITIALSET    =1<<1

#XRES_VGA                    = 1
#XRES_640x480_60Hz           = 2
#XRES_800x600_60Hz           = 3
#XRES_1024x768_60Hz          = 4
#XRES_1280x1024_60Hz         = 5
#XRES_LCD                    = 6
#XRES_LCD_1024x480_864Hz     = 6
#XRES_LCD_1024x512_88Hz      = 7
#XRES_LCD_1280x600_60Hz      = 8
#XRES_LCD_1400x1050_60Hz     = 9
#XRES_LCD_1400x1050_6224Hz   = 10
#XRES_LCD_1600x1200_592Hz    = 11
#XRES_LCD_1280x768_60Hz      = 12
#XRES_LCD_1024x600_58Hz      = 13

class XconfigTodo:
    def __init__(self,installer = XRES_800x600_60Hz, lcd=0, vesa=0):

        self.x = XF86Config(installer = installer, lcd = lcd, vesa = vesa)
        self.x.monitors()
        self.keyboard = Keyboard()
        self.mouse = MouseConfigFile(skip_probe = 1)
        self.verbose = 0
        self.havegdm = 0
        self.wm = 0
        self.xconfig_width = 40
        self.initlevel = self.getDefaultRunlevel()

        self.rootmsg = _("X Configuration %s") % distro().get(DISTRO_COPYRIGHT)

        self.conf = None

    def confKeyboard(self,conf):
        if conf.has_key('Keyboardrule'):        rule = conf['Keyboardrule']
        else:                                   return
        if conf.has_key('Keyboardmodel'):       model = conf['Keyboardmodel']
        else:                                   return
        if conf.has_key('Keyboardlayout'):      layout = conf['Keyboardlayout']
        else:                                   return
        if conf.has_key('Keyboardvariant'):     variant = conf['Keyboardvariant']
        else:                                   variant = None
        if conf.has_key('Keyboardoptions'):     options = conf['Keyboardoptions']
        else:                                   options = None
        if conf.has_key('Keyboarddisablexkb'):  disableXkb = conf['Keyboarddisablexkb']
        else:                                   disableXkb = 0

#        from log import log
        if (os.access("/tmp/.X0-lock", os.R_OK) or \
           os.environ.has_key('DISPLAY')) and \
           os.access('/usr/X11R6/bin/setxkbmap',os.X_OK):

#            log("Set xkbmap")
            cmd = '/usr/X11R6/bin/setxkbmap'
            if model and model != '':
                cmd = cmd + " -model " + model
            if layout and layout != '':
                cmd = cmd + " -layout " + layout
#            if variant and variant != '':
#                cmd = cmd + " -variant " + variant
#            log(cmd)
            commands.getstatusoutput(cmd)

            #xkb.XKB().setRule(model,layout,variant,options)
#        log(conf)
        self.x.setKeyboard(rule,model,layout,variant,options,disableXkb)
#        log(self.x.KeyboardOpt)
#        log(self.x.keyOptions)


        self.keyboard.setfromx(model,layout)

    def confMouse(self,conf):
        #if conf.has_key('MouseDevice'):
        #  self.mouse.setDevice(conf['MouseDevice'])
        if conf.has_key('MouseName'):
            if conf.has_key('MouseEmu3btn') and conf['MouseEmu3btn']=='yes':
                self.mouse.setEmulate3btns(1)
            else:
                self.mouse.setEmulate3btns(0)
            #self.mouse.setXProtocol(0)
            self.x.setMouse(self.mouse)

    def confMonitor(self,conf):
        if conf.has_key('MonitorMan') and \
           conf.has_key('MonitorName') and \
           conf.has_key('MonitorHoriz') and \
           conf.has_key('MonitorVert'):
            self.x.setMonitor((conf['MonitorName'],
                               (conf['MonitorHoriz'],conf['MonitorVert'])),
                              conf['MonitorMan'])

    def saveconfigfile(self,path='/etc/X11'):
        self.confKeyboard(self.conf)
        self.confMouse(self.conf)
        self.confMonitor(self.conf)

        if self.conf.has_key('DispModes'):   self.x.modes = self.conf['DispModes']
        if self.conf.has_key('DefDepth'):    self.x.DispOpt[0] = self.conf['DefDepth']
        if self.conf.has_key('DispOpt4'):    self.x.DispOpt[1] = self.conf['DispOpt4']
        if self.conf.has_key('DispOpt8'):    self.x.DispOpt[2] = self.conf['DispOpt8']
        if self.conf.has_key('DispOpt16'):   self.x.DispOpt[3] = self.conf['DispOpt16']
        if self.conf.has_key('DispOpt24'):   self.x.DispOpt[4] = self.conf['DispOpt24']

        self.x.write(path)
        self.setDefaultRunlevel()

    def setforxtest(self, modes, DispOpt):
        self.confKeyboard(self.conf)
        self.confMouse(self.conf)
        self.confMonitor(self.conf)

        self.x.modes = modes
        self.x.DispOpt[0] = DispOpt[0]
        self.x.DispOpt[1] = DispOpt[1]
        self.x.DispOpt[2] = DispOpt[2]
        self.x.DispOpt[3] = DispOpt[3]
        self.x.DispOpt[4] = DispOpt[4]

    def setDefaultRunlevel(self):
        try:
            inittab = open ('/etc/inittab','r')
        except IOError:
            log ("WARNING, there is no inittab, bad things will happen!")
            return
        lines = inittab.readlines()
        inittab.close()
        inittab = open ('/etc/inittab','w')
        for line in lines:
            if len (line) > 3 and line[:3] == "id:":
                fields = string.split (line, ':')
                fields[1] = str (self.initlevel)
                line = string.join (fields, ':')
            inittab.write (line)
        inittab.close ()

    def getDefaultRunlevel(self):
        try:
            inittab = open ('/etc/inittab','r')
        except IOError:
            log ("WARNING, there is no inittab, bad things will happen!")
            return 3
        lines = inittab.readlines()
        inittab.close()
        for line in lines:
            if len (line) > 3 and line[:3] == "id:":
                fields = string.split (line, ':')
                return int(fields[1])
        return 3


class WelcomeWindow:
    def run(self, screen, toolname, mode=0):
        label = _("Welcome to %s") % toolname
        msg = label + _(" This program will configure your keyboard, mouse, video card, and monitor for use with the X Window System.")

        btnlist = []
        if mode&XCMODE_CONFIGURE:   btnlist.append((_("Configure"),"c"))
        if mode&XCMODE_INITIALSET:  btnlist.append((_("Initial setup"),"i"))
        else: return 0;

        btn = ButtonChoiceWindow(screen,label,msg,btnlist,50)
        if btn == "c": return XCMODE_CONFIGURE
        return XCMODE_INITIALSET


class SaveQuitWindow:
    def run(self, screen, todo):
        msg = _("The X Window System has been configured. Your XF86Config file has been written to %s.") % ("/etc/X11/XF86Config")
        ButtonChoiceWindow(screen,_("Finished"),msg,[_("Ok")],60)

class CancelWindow:
    def run(self, screen, todo):
        msg = _("You have chosen to cancel the X Window System configuration process.  You may re-run this program at any time to reconfigure X.")
        ButtonChoiceWindow(screen,_("Cancelled"),msg,[_("Ok")],60)


class XCCardWindow:
    def __init__(self,hideback=0,needcancel=0):

        (rc,str) = commands.getstatusoutput("/bin/rpm -q --queryformat=%{NAME} gdm")
        if rc == 0 and str == 'gdm':  havegdm = 1
        else:                         havegdm = 0
#        havegdm = (rc == 0) and (str == 'gdm')

        self.func = CardWindow(hideback,needcancel,havegdm)
        self.xtestpath = None
        if not os.access("/tmp/.X0-lock", os.R_OK) and \
           not os.environ.has_key('DISPLAY') and \
           os.access("/usr/lib/mongoose/Xtest/Xtest",os.X_OK):
            self.xtestpath = "/usr/lib/mongoose/Xtest/Xtest"


    def autosetup(self, todo, conf=None, printonly=0):
        return self.func.autosetup(todo, wmlist=[], conf=conf, printonly=printonly)

    def __call__(self, screen, todo, conf):
        return self.func(screen,todo,wmlist=[],xtestpath=self.xtestpath,conf=conf)

class StepRun:
    def run(self,screen,todo):

        steplist = [
            [ N_("Keyboard Selection"),      KeyboardWindow ],
            [ N_("Mouse Configuration"),     MouseWindow    ],
            [ N_("X Monitor Configuration"), MonitorWindow  ],
            [ N_("Videocard Configuration"), XCCardWindow   ],
            ]

        ret = INSTALL_OK
        rootlen = len(todo.rootmsg)
        brkstr = (screen.width - rootlen) * " "
        step = 0
        stepend = len(steplist)

        while(step < stepend):
            rootlen = len(todo.rootmsg)
            screen.drawRootText(0,0,todo.rootmsg)
            screen.drawRootText(rootlen,0,brkstr)
            screen.drawRootText((screen.width-len(_(steplist[step][0]))),0,_(steplist[step][0]))

            if step == 0:   ret = apply(steplist[step][1](1,1),(screen,todo,todo.conf))
            else:           ret = apply(steplist[step][1](0,1),(screen,todo,todo.conf))

            if ret == INSTALL_OK:        step = step + 1
            elif ret == INSTALL_BACK:    step = step - 1
            elif ret == INSTALL_CANCEL:  break

        screen.refresh()
        return ret


class create_text_line:
    def get(self,width,left,right):
        return left + (width - len(left) - len(right) - 2) * "." + " " + right + "\n"


class keyboard_menu:
    def __init__(self):
        self.textline = create_text_line()
        self.func = KeyboardWindow(1,1)

    def text(self,todo):
        if todo.conf.has_key('Keyboardmodel'):  modelname = todo.conf['Keyboardmodel']
        else:                                   modelname = _("unknown")
        if todo.conf.has_key('Keyboardlayout'): layoutname = todo.conf['Keyboardlayout']
        else:                                   layoutname = _("unknown")

        m = self.textline.get(todo.xconfig_width,_("Model "),modelname)
        l = self.textline.get(todo.xconfig_width,_("Layout "),layoutname)
        return (_("Keyboard configuration"),m + l)


class mouse_menu:
    def __init__(self):
        self.textline = create_text_line()
        self.func = MouseWindow(1,1)

    def text(self,todo):

        if todo.conf.has_key('MouseName'):    mousename = todo.conf['MouseName']
        else:                                 mousename = _("unknown")
        if todo.conf.has_key('MouseDevice'):  devname = "/dev/" + todo.conf['MouseDevice']
        else:                                 devname = _("unknown")
        if todo.conf.has_key('MouseEmu3btn') and todo.conf['MouseEmu3btn'] > 0:
               emuname = _("Yes")
        else:  emuname = _("No")

        type = _("Mouse name\n") + self.textline.get(todo.xconfig_width,"",mousename)
        dev = self.textline.get(todo.xconfig_width,_("Device connect "),devname)
        emu = self.textline.get(todo.xconfig_width,_("Emulate 3 Buttons "),emuname)

        return (_("Mouse configuration"),type+dev+emu)


class monitor_menu:
    def __init__(self):
        self.textline = create_text_line()
        self.func = MonitorWindow(1,1)

    def text(self,todo):

        if todo.conf.has_key('MonitorMan'):    monitor_man = todo.conf['MonitorMan']
        else:                                  monitor_man = _("unprobe")
        if todo.conf.has_key('MonitorName'):   monitor_model = todo.conf['MonitorName']
        else:                                  monitor_model = _("unprobe")
        if todo.conf.has_key('MonitorHoriz'):  monitor_hsync = todo.conf['MonitorHoriz']
        else:                                  monitor_hsync = _("unprobe")
        if todo.conf.has_key('MonitorVert'):   monitor_vsync = todo.conf['MonitorVert']
        else:                                  monitor_vsync = _("unprobe")

        manu = _("Manufacturer\n") + self.textline.get(todo.xconfig_width,"",monitor_man)

        model = _("Model\n")+self.textline.get(todo.xconfig_width,"",monitor_model)

        hs = self.textline.get(todo.xconfig_width,_("H frequency range "),monitor_hsync+_(" kHz"))
        vs = self.textline.get(todo.xconfig_width,_("V frequency range "),monitor_vsync+_(" Hz"))

        return (_("Monitor configuration"),manu+model+hs+vs)


class card_menu:
    def __init__(self):
        self.textline = create_text_line()
        self.func = XCCardWindow(1,1)

    def text(self,todo):

        if todo.conf.has_key('Card'):      card_name = todo.conf['Card']
        else:                              card_name = _("unprobe")

        if todo.conf.has_key('DefDepth'):
            card_color = self.func.func.colorlist[(todo.conf['DefDepth']>>3)]
        else:
            card_color = _("AUTO")

        if todo.conf.has_key('DefSize'):
            card_size = todo.conf['DefSize']
            if card_size == '':           card_size = _("AUTO")
            elif card_size == 'CUSTOM':   card_size = _("CUSTOM")
        else:
            card_size = _("AUTO")

        vc = _("Video card\n") + self.textline.get(todo.xconfig_width,"",card_name)

        dc = self.textline.get(todo.xconfig_width,_("Desktop Color Depth "),card_color)

        ds = self.textline.get(todo.xconfig_width,_("Desktop Resolution (Size) "),card_size)

        if todo.initlevel == 5:  glm = _("Graphical")
        else:                    glm = _("Text")
        gl = self.textline.get(todo.xconfig_width,_("Login "),glm)

        return (_("Videocard configuration"),vc+dc+ds+gl)


class MenuRun:

    def jobCB(self,todo):
        (label,text) = self.joblist.current().text(todo)
        self.conlabel.setText(string.center(label,todo.xconfig_width))
        self.context.setText(text)
        self.base.draw()
        self.screen.refresh()

    def run(self,screen,todo):
        self.screen = screen

        self.base = GridFormHelp(screen, _("X Configuration"), "configurex", 1, 30)

        self.base.add(Label(_("Select the item that you would like to configure from the list below.")),0,0)

        self.joblist = Listbox(4,scroll = 0,returnExit = 1)
        self.joblist.append(_("Keyboard Selection"),keyboard_menu())
        self.joblist.append(_("Mouse Configuration"),mouse_menu())
        self.joblist.append(_("Monitor Configuration"),monitor_menu())
        self.joblist.append(_("Videocard Configuration"),card_menu())

        listgrid = Grid(1,2)
        listgrid.setField(Label(_("Category")),0,0,padding = (0, 0, 0, 1))
        listgrid.setField(self.joblist,0,1)

        self.conlabel = Textbox(todo.xconfig_width,1,"")
        self.context = Textbox(todo.xconfig_width,7,"")

        contgrid = Grid(1,2)
        contgrid.setField(self.conlabel,0,0,padding = (0, 0, 0, 1))
        contgrid.setField(self.context,0,1)

        middle = Grid(2,1)
        middle.setField(listgrid,0,0,anchorTop=1)
        middle.setField(contgrid,1,0,padding = (3, 0, 1, 0))

        self.base.add(middle,0,1,padding = (0, 2, 0, 1))

        but = ButtonBar(screen,[(_("Step configuration"),"stepm"),
                                (_("Save and Quit"),"saveq"),(_("Cancel"),"cancel")])

        self.base.add(but,0,2)

        self.joblist.setCallback(self.jobCB,todo)
        self.jobCB(todo)

        ret = INSTALL_OK
        while(1):
            rc = self.base.run()
            if rc == self.joblist:
                self.joblist.current().func(screen,todo,todo.conf)
                self.jobCB(todo)
                screen.refresh()
            else:
                press = but.buttonPressed(rc)
                if press == "stepm":
                    ret = INSTALL_NOOP
                    break
                elif press == "saveq":
                    break
                elif press == "cancel":
                    ret = INSTALL_CANCEL
                    break

        screen.popWindow()
        screen.refresh()
        return ret

class EndofXconfig:
    def run(self):
        if os.access("/tmp/XF86Config",os.R_OK):
            commands.getstatusoutput("rm -rf /tmp/XF86Config")
        if os.access("/tmp/XF86Config.test",os.R_OK):
            commands.getstatusoutput("rm -rf /tmp/XF86Config.test")
        if os.access("/tmp/XF86Config.bak",os.R_OK):
            commands.getstatusoutput("rm -rf /tmp/XF86Config.bak")
        if os.environ.has_key('HOME'):
            filename = os.environ['HOME']+"/XF86Config.new"
            if os.access(filename,os.R_OK):
                cmd = "rm -rf "+filename
                commands.getstatusoutput(cmd)


class MainRun:
    def run(self,toolname = 'xconfig',installer = XRES_800x600_60Hz, lcd=0, vesa=0):
        screen = SnackScreen()

        screen.suspendCallback(self.debugSelf,screen)
        signal.signal(signal.SIGINT,signal.SIG_IGN)
        signal.signal(signal.SIGTSTP,signal.SIG_IGN)

        todo = XconfigTodo(installer,lcd,vesa)

        screen.drawRootText(0,0,todo.rootmsg)

        setmode = 0
        if not os.access("/tmp/.X0-lock", os.R_OK) and \
           not os.environ.has_key('DISPLAY'):
            setmode = setmode|XCMODE_INITIALSET

        if os.access("/etc/X11/XF86Config",os.R_OK):
            setmode = setmode|XCMODE_CONFIGURE

        selectmode = WelcomeWindow().run(screen,toolname,setmode)
        if setmode==0:
           msg= _("Your X environment is very confused,So xconfig can not work on it!Please close your X Window and run \"xconfig\" again.")
           ButtonChoiceWindow(screen,_("Bad X environment"),msg,[_("Ok")],60)
           screen.finish()
           return

        if selectmode&XCMODE_INITIALSET and setmode&XCMODE_CONFIGURE:
            commands.getstatusoutput("mv -f /etc/X11/XF86Config /etc/X11/XF86Config.save")

        todo.conf = todo.x.readconfigfile(screen)

        rc = INSTALL_NOOP
        if os.access("/etc/X11/XF86Config",os.R_OK):
            rc = MenuRun().run(screen,todo)

        if rc == INSTALL_NOOP:
            rc = StepRun().run(screen,todo)

        if rc == INSTALL_OK:
            todo.saveconfigfile()
            SaveQuitWindow().run(screen,todo)
        else:
            if selectmode&XCMODE_INITIALSET and setmode&XCMODE_CONFIGURE:
                commands.getstatusoutput("mv -f /etc/X11/XF86Config.save /etc/X11/XF86Config")
            CancelWindow().run(screen,todo)

        screen.finish()

    def debugSelf(self,screen):
        screen.suspend()
        import pdb
        try:
            pdb.set_trace()
        except:
            sys.exit(-1)
        screen.resume()

class AutoRun:
    def run(self,installer = XRES_800x600_60Hz, lcd=0, vesa=0):
        print _("Setting /etc/X11/XF86Config...")

        todo = XconfigTodo(installer,lcd,vesa)

        if os.access("/etc/X11/XF86Config",os.R_OK):
            commands.getstatusoutput("mv -f /etc/X11/XF86Config /etc/X11/XF86Config.save")

        KeyboardWindow(hideback=1,needcancel=0).autosetup(todo)
        MouseWindow(hideback=1,needcancel=0).autosetup(todo)
        MonitorWindow(hideback=1,needcancel=0).autosetup(todo)
        XCCardWindow(hideback=1,needcancel=0).autosetup(todo)

        print _("Complete.")

class PrintRun:
    def run(self,installer = XRES_800x600_60Hz, lcd=0, vesa=0):

        todo = XconfigTodo(installer,lcd,vesa)

        if os.access("/etc/X11/XF86Config",os.R_OK):
            print _("Reading /etc/X11/XF86Config...\n")
            conf = todo.x.readconfigfile(None)
        else:
            print _("robing current hardware...")
            conf=None

        KeyboardWindow(hideback=1,needcancel=0).autosetup(todo,conf=conf,printonly=1)
        MouseWindow(hideback=1,needcancel=0).autosetup(todo,conf=conf,printonly=1)
        MonitorWindow(hideback=1,needcancel=0).autosetup(todo,conf=conf,printonly=1)
        XCCardWindow(hideback=1,needcancel=0).autosetup(todo,conf=conf,printonly=1)

        print "\n",_("Complete.")















if __name__ == "__main__":

    import os
    if os.geteuid() != 0:
        print _("This program can only be run as root.\n")
        sys.exit(0)

#    needpkglist = [ 'XFree86', 'XFree86-libs' ]
#    for pkg in needpkglist:
#        cmd = "/bin/rpm -q --queryformat=%{NAME} " + pkg
#        (rc,rcstr) = commands.getstatusoutput(cmd)
#        if rc:
#            print _("ackage '%s' cannot installed.") % pkg
#            sys.exit(rc)

    toolname = 'xconfig'
    if len(sys.argv)>0:
        argstr = sys.argv[0]
        index = string.rfind(argstr,"/")
        if index >= 0:
            argstr = argstr[index+1:]
        toolname = argstr

    logname = '/var/tmp/' + toolname + '.log'
    log.logFile = open(logname, "w")
    errfd = os.open (logname, os.O_CREAT | os.O_WRONLY)
    os.close(2)
    os.dup2(errfd, 2)
    os.close(errfd)

    #if os.environ.has_key('LANG'):
    #    if os.environ['LANG'][:2] != 'zh':
    #        cat.setlangs (os.environ['LANG'][:2])
    #    else:
    #        cat.setlangs (os.environ['LANG'])

    installer = XRES_800x600_60Hz
    lcd = 0
    vesa = 0
    execmode = 'normal'
    if len(sys.argv)>1:
        inres = 0
        for arg in sys.argv[1:]:
            if inres:
                if arg == 'VGA':          installer = XRES_VGA
                elif arg == '640x480':    installer = XRES_640x480_60Hz
                elif arg == '800x600':    installer = XRES_800x600_60Hz
                elif arg == '1024x768':   installer = XRES_1024x768_60Hz
                elif arg == '1280x1024':  installer = XRES_1280x1024_60Hz
                elif arg == '1024x480':   installer = XRES_LCD_1024x480_864Hz
                elif arg == '1024x512':   installer = XRES_LCD_1024x512_88Hz
                elif arg == '1280x600':   installer = XRES_LCD_1280x600_60Hz
                elif arg == '1400x1050':  installer = XRES_LCD_1400x1050_60Hz
                elif arg == '1600x1200':  installer = XRES_LCD_1600x1200_592Hz
                elif arg == '1280x768':   installer = XRES_LCD_1280x768_60Hz
                elif arg == '1024x600':   installer = XRES_LCD_1024x600_58Hz
                inres = 0
                continue

            if arg == '-?' or arg == '-h' or arg == '--help':
                print _("Usage: %s [Option...]") % toolname
                print _("  -?, -h, --help           Print this help.")
                print _("  -r, --res <resolution>   resolution set.")
                print _("                           resolution = VGA,640x480,800x600,1024x768,1280x1024")
                print _("                                        1024x480,1024x512,1280x600,1400x1050")
                print _("                                        1600x1200,1280x768,1024x600")
                print _("  --lcd                    for DVI LCD.")
                print _("  --vesa                   force VESA mode.")
                print _("  -a, --auto               Auto setup.")
                print _("  -p, --print              Print current XF86Config value or probe value.\n")
                sys.exit(0)
            elif arg == '-a' or arg == '--auto':
                execmode = 'auto'
            elif arg == '-p' or arg == '--probe':
                execmode = 'print'
            elif arg == '-r' or arg == '--res':
                inres = 1
            elif arg == '--lcd':
                lcd = 1
            elif arg == '--vesa':
                vesa = 1
            else:
                print _("Usage: %s [-?hapr]\n") % toolname
                sys.exit(0)

    if execmode == 'normal':
        MainRun().run(toolname,installer,lcd,vesa)
    elif execmode == 'auto':
        AutoRun().run(installer,lcd,vesa)
    elif execmode == 'print':
        PrintRun().run(installer,lcd,vesa)

    EndofXconfig().run()
    log.logFile.close()

    sys.exit(0)
 楼主| 发表于 2004-1-20 18:59:22 | 显示全部楼层
KDE中的size&orientation应该是根据这个文件设置的,而且默认成了vga。所以只有4中mode,但不知到该如何改呀?
发表于 2004-1-20 19:42:58 | 显示全部楼层
在VGA的一行从上面把你对应的分辨率的那行拷贝下来。
 楼主| 发表于 2004-1-20 21:20:40 | 显示全部楼层
似乎还要改,不知道Python里面#表示宏定义还是注释???
发表于 2004-2-7 14:07:01 | 显示全部楼层

晕死

一看到贴的代码就觉得晕,难道linux下搞开发的都喜欢每行都从头写?没有格式的说法?嗨,叫我这个刚接触的新手不得不晕啊
发表于 2004-2-10 15:41:36 | 显示全部楼层
在turboxcfg里可以自定义吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表