thinkpad t420s在centos/linux上启用指点杆中键竖直水平滚动功能

在thinkpad t420s上使用centos 6, centos 6 在驱动支持方面已经比较完善,基本不需要另外安装驱动即可。不过指点杆小红帽没有中键功能没有打开,这点还是不方便的(虽然触摸板双指滚动是可以通过gui设置界面启用的)。

从thinkwiki里看到开启方式http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint

按其中 Configuration using xinput一节,使用root账号执行命令

xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Button" 8 2
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 8 200

其中第三条命令执行有错误,但没有影响正常使用。再执行以下命令

xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Middle Button Emulation" 8 1
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Middle Button Timeout" 8 50

执行完毕,不需要重启,连X都不用重启就可以使用中键滚动功能了。

至于原因,并不很清楚,这些都是linux 的外围功能,个人感觉没必要深入研究。

上该方法应该可以用在fedora,redhat等发行版上,不过没有测试。

还有一点很重要的是,使用这几行命令启用中键滚屏功能,注销登录后就失效。可以把这它们写成shell脚本,设置为gnome登录后自动启动。经测试,只需写入下面三行命令即可以。

#!/bin/bash
# for thinkpad trackpoint, middle key scroll screen
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Button" 8 2
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 8 6 7 4 5

------------------

执行命令输出,仅供参考:

[root@fsc feng]# xinput list-props "TPPS/2 IBM TrackPoint"
Device 'TPPS/2 IBM TrackPoint':
Device Enabled (112):    1
Device Accel Profile (233):    0
Device Accel Constant Deceleration (234):    1.000000
Device Accel Adaptive Deceleration (236):    1.000000
Device Accel Velocity Scaling (237):    10.000000
Evdev Reopen Attempts (230):    10
Evdev Axis Inversion (238):    0, 0
Evdev Axes Swap (240):    0
Axis Labels (241):    "Rel X" (120), "Rel Y" (121)
Button Labels (242):    "Button Left" (113), "Button Middle" (114), "Button Right" (115), "Button Wheel Up" (116), "Button Wheel Down" (117)
Evdev Middle Button Emulation (243):    2
Evdev Middle Button Timeout (244):    50
Evdev Wheel Emulation (245):    0
Evdev Wheel Emulation Axes (246):    0, 0, 4, 5
Evdev Wheel Emulation Inertia (247):    10
Evdev Wheel Emulation Timeout (248):    200
Evdev Wheel Emulation Button (249):    4
Evdev Drag Lock Buttons (250):    0
[root@fsc feng]# xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 8 1
[root@fsc feng]# xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Button" 8 2
[root@fsc feng]# xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 8 200
X Error of failed request:  BadMatch (invalid parameter attributes)
Major opcode of failed request:  140 (XInputExtension)
Minor opcode of failed request:  57 ()
Serial number of failed request:  18
Current serial number in output stream:  19
[root@fsc feng]# xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 8 200^C
[root@fsc feng]# xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 8 200
X Error of failed request:  BadMatch (invalid parameter attributes)
Major opcode of failed request:  140 (XInputExtension)
Minor opcode of failed request:  57 ()
Serial number of failed request:  18
Current serial number in output stream:  19
[root@fsc feng]# xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 8 6 7 4 5
[root@fsc feng]# xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Middle Button Emulation" 8 1
[root@fsc feng]# xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Middle Button Timeout" 8 50
X Error of failed request:  BadMatch (invalid parameter attributes)
Major opcode of failed request:  140 (XInputExtension)
Minor opcode of failed request:  57 ()
Serial number of failed request:  18
Current serial number in output stream:  19

 

vmware server报错:You have started VMware Server with an out-of-date copy of the application

You have started VMware Server with an out-of-date copy of the application.  VMware Server cannot power on virtual machines using this copy (version 2.0.2).  To power on this virtual machine, run VMware Server from the default location.

vmware server 2 (win32) 启动虚拟机时,报错,如上,重启动vmware服务也不行。网上查原因,似乎都有靠谱。偶然的机缘,把虚拟机文件复制一份,并把复制的拷贝添加到vmware里,启动,居然可以启动了,于是把原vmware从虚拟机里删掉(不要勾选从硬盘里删除,结果你懂的),并把vmware虚拟机目录改名,然后再添加到vmware里,启动,选择“I copy it”,正常启动。

至于是什么原因,不清楚,比较诡异。

无MBR引导记录,以直接复制文件的方式变态的安装windows

背景:

普通笔记本电脑,新换了一只500G硬盘,安装操作系统时,基于把Linux/fedora作为首选OS的原因,规划分区如下

sda1  ext2  linux /boot  1G
sda2  扩展分区
sda5  ext3  linux /   30G
sda6  ntfs   windows安装分区C   36G
sda7  ext3  linux  /home 120G
sda8  swap  linux  swap 3.5G  [3G内存,为了使用休眠功能需要交换分区,至少应该等于物理内存大小]
sda9  ext3  linux  /data  140G
sda10  ntfs  win_D 30G
sda11  fat32  win_E
sda12 ntfs win_F
[注:无sda3与sda4的主分区]

linux在前些天早已经安装成功;有时候需要用windows,以前是用windows2003,有以前的windows2003的C盘ghost备份文件,直接还原到sda6,却无法启动。经过几天的探索学习,找到解决方法:

在Linux(fedora14 gnome)下,使用fedora自带的“硬盘实用工具”,把sda6重新格式化,格式化时选中“可启动”——这一非常重要,之前不能启动就是这个原因——然后启动windowsPE,使用Ghost镜像浏览器ghostxp,把所有文件提取到sda6,之后修改boot.ini,把其中启动项目修改为如下形式(注意其中粗体红字):

multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect

sda6在windows启动引导对硬盘分区的识别,sda6是partition(3) 。个人对windows启动分区计算方式不熟悉,可能就是windows计算机管理-磁盘管理 里面显示的分区从左到右依次排序,如果不确定,可以试一下其它数字。再次启动,在grub里执行

root (hd0,5)
chainloader +1
boot

进行引导windows。至此windows安装成功。(下面还有第二个windows操作系统的安装)

这一过程中其中几点注意事项及问题:

1. 因为对“window系统安装程序,不管三七二十一的要重写mbr的行为”感觉到非常不满,加上全新重新安装系统后还要安装驱动程序、常用程序太麻烦,所以起初不考虑使用安装盘安装而是使用ghost备份。启动时使用grub 引导windows启动分区。

2. 使用ghost还原,不能正常引导,于是考虑使用windows安装光盘全新安装,但在选择windows安装分区时,却得到提示说硬盘配置与windows不兼容,无法继续,可能就是因为sda1 (或是sda的mbr)是linux分区,windows不认所致。所以只能使用ghost备份入手了。

3. 格式化启动分区时,要格式化为“可引导”,这一点非常重要。起初发现直接ghost还原无法启动时,判断是因为sda6的启动分区中没有正常的启动扇区,于是使用安装光盘进入系统修复模式,以 fixboot 命令执行重建系统分区的引导扇区,但结果还是不能启动。

虽然windows2003在绝大多数跟xp是一致的,但有少数程序却无法在03下运行。也正是因为要一个游戏,它无法在windows2003运行,于是考虑还需要安装一个xp,之前没有做过xp的ghost镜像。因为无聊,加上无法使用全新安装光盘进行,所以准备使用网上的ghost版安装。网上的ghost都是没有完全安装完成的,还原后,还要进行几个步骤。

网上下载来的ghost镜像,都是要安装到C盘的,尝试安装到别的盘里,出错而无法继续进行,看来只能从C盘安装。于是想到了一个很巧妙的方法:在C盘下新建一个文件夹,并把C盘下的所有windows2003的文件转移到这个文件里,然后到windowsPE下,把xp的gho镜像里所有文件提取到C盘根目录里,修改boot.ini,跟上而安装03类似(这几个步骤当然不能在windows03下进行,我在PE里进行)。

然后重启动电脑,以grub启动sda6下的系统,就是ghost释放的分区,这步就是启动ghost安装的后面几步(自动进行,不受人工控制的)。这样正常安装xp到C盘下,安装完成后,进入xp,把ghost里带的没用的东西卸载掉,最好卸载所有程序。

再次启动到PE或linux里,把C盘下所有xp的文件复制到sda11里,并个性C盘下的boot.ini,加入

multi(0)disk(0)rdisk(0)partition(8)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /DETECTHAL

作为sda11的引导项目。

启动windows,进入sda11的xp,这时这个XP应该能正常工作,但它还是要依赖C盘下的不少文件,因为ghost系统的注册表里写入了大量对C盘文件的注册项,而不是使用当前系统所在的E盘里的文件。这里就需要修改注册表,把对C盘文件的注册项全部个性成对E盘的引用项,windows自带的注册表编辑器没有“替换”的功能,手工替换会累死人:替换了几个,感觉这样的项目太多了,因为看到有大量的SID项目,单这些项目就有至少几百条。于是网上查找注册表批量替换工具,还真的有,下载使用。查找 C:\,并全部替换成为 E:\

替换完成后,重启系统,发现C盘下的 Program Files ,windows等目录可以执行重命名操作了;而在之前,是无法对其进行改名的。这就证明 E盘下的xp已经不再使用C盘的文件了。

至此,两个windows都以相当变态的方法安装成功。整个过程前后花费了将近一个月时间,当然不是这一个月时间别的什么事情没干,就在搞这东西的,是一个月的闲暇时间。

以前还曾尝试过把虚拟机里的C盘备份出来,拷到实际硬盘上,尝试引导,不过引导过程中蓝屏死机,没有成功过,可能是驱动不配所致吧.

其实操作系统也都只是一系列文件,windows也是如此,相比linux,它的特点之一,就是注册表,大量配置信息都 在注册表里,只要修改得当,应该还是有很大的配置灵活性的。还有就是它的启动方式,跟linux不一样,它是要求使用一个可引导分区引导系统,严格说是启动导入系统ntldr(在vista/win7上是bootmgr),再由引导系统按照boot.ini加载相应分区下的windows的系统。

这里所述,其中有个人总结出来的,可能不全正确,还请高手多多指正。

http://www.path8.net/tn/archives/3995

http://www.path8.net/tn/archives/4065

多操作系统方案成功探索:用NTLDR(不用bootmgr)引导启动windows7(linux,grub,window xp)

windows7使用新的操作系统引导程序bootmgr,而不是之前的ntldr;电脑启动时会先出来bootmgr的画面,选择windows7或早期OS,然后是早期操作系统的列表;windows7并不经常使用,每次启动都要多加上这个等待时间,过程太罗嗦,准备简化一下。

探索过程
windows 7正式版算是出来了,虽然还是不很尽人意,但还是值得试试用一下,就安装试用一下,感觉和之前的bate版RC版差不多没有太多改变,基本算是vista的变种;而且电脑启动还要加上一个可恶的bootmgr的等待时间,画面视觉效果还不如ntldr(xp启动时的多操作系统选单)。第二天就卸载了,不过并没有格式化win7的安装分区,文件还是在的。
今天上午看到这个分区,想能不能使用NTLDR把windows7引导启动呢,之前Bate版时尝试过,简单的使用boot.ini是不行的。前几天偶然见过一个系统工具盘里有用GRUB引导vista/windows7的一个选项,但没有使用,也没研究。既然别人能这么搞,用GRUB应该是可以的,就到网上查相关资料,但非常不幸,一时间还没找到。
回头看看Grub引导windows的配置代码
root (hd0,0)
makeactive
chainloader +1
(对grub 并不很懂,只能算是蒙一下)也就是说,如果grub要把系统的控制权交给(hd0,0)处,如果这里有windows的启动文件,就可以启动。联想linux可以把引导文件安装在非主引导分区下,那么如果也把windows7的引导文件安装在其它分区下,而不是系统主引导分区下(这样就不影响C盘的ntldr),就可以实现了。
windows7 卸载是执行 [DriveLetter]:\boot\bootsect.exe /nt52 ALL /force
好像bootsect还可以恢复windows7的引导文件,查一下,找到M$官方的文档
http://technet.microsoft.com/zh-cn/library/cc749177%28WS.10%29.aspx

Bootsect 命令
Bootsect 使用下列约定:
bootsect.exe {/help | /nt52 | /nt60} {SYS | ALL | <DriveLetter:>}[/force]
例如,若要将与 NTLDR 兼容的主启动代码应用到标记为 E 的卷,请使用以下命令:
bootsect.exe /nt52 E:

笔者硬盘上装了好几个OS,主要用win 2003 中文版,另有一个英文版XP、fedora linux ,再加上一个win7。win7在(hd0,8) 在XP下分配盘符为J(03下没有分配盘符,比较变态一点),就进入XP下,运行bootsect.exe /nt60 j:
报了一个错误,但后面还是提示了个successful,不管它,看看好了没有。进入grub 命令行运行:
root (hd0,8)
makeactive
chainloader +1
boot
出错了,提示说:\Boot\BCD找不到,重启,把C盘下的\boot目录拷过去(windows7的文件没有删,就不用到光盘ISO中拷了)。
再重启,进入GRUB,运行启动命令,正常进入window7,成功。
但是再进windows xp 时,出错了,\system32\ntoskrnl.exe 丢失,从win03进去看看,文件是在的,重启xp试了试,还是不行;只好到xp ISO里提取一下覆盖一下,xp也正常启动了。估计是安装bootmgr时搞出了乱子。
[注]根据回忆写的,可能有一定的疏漏,还敬请斧正。

windows 2003 安装新版本的MSN9 完美解决方案

windows 2003 安装新版本的MSN9 完美解决方案

对于使用windows2003做为工作平台的劳苦大众,我们也要使用msn,但可恶的M$却不让我们正常的在2003下使用msn,之前msn9刚刚出来时,我们可以在XP下安装,然后使用释放出来的msi文件在瘟2003下安装msn,但前些天msn又出更狠的招儿:释放出来的文件安装了也不能使用,还是提示版本过低,不能使用。

偶然的机会发现了一个完美的解决方案,在2003下安装msn9,不敢独自保留,分享给大家。

方法非常简单:

用ResHacker 打开MSN9的安装文件,修改 CONFIG / CONFIG0 / 0 / <os productType="workstation" />改为<os productType="server" />

注:可以修改100多兆的那个安装文件,也可以修改1M多的在线安装文件,都可以正常通过安装的。

一切搞定,直接安装吧,2003下的msn世界一下就和~谐~了!

Pages: Prev 1 2 3 4 5