thinkpad x200 linux 版本,让ThinkPad X200在opensuse下更完美!

news/2024/11/21 1:37:44/

让ThinkPad X200在opensuse下更完美!

发布时间:2009-11-04 14:15:49来源:红联作者:lic

这里发帖真有点麻烦,拷贝有几个连接掉了,大家先看文字,连接可以从原文找!

原文:http://pcdigger.cn/blog/?p=2586

看了这个帖子: 让你的Thinkpad在suse下工作得更好更完美,心又痒痒了。其中有些尝试是冒险的,所以只添加了启动 win键、电池保护和重力感应几个功能,这些很保险。方法如下(有些我作了修改!):

1. 启用win key!

win key在windows下可以唤出开始菜单, 在linux很多发行版上一般也可以唤出gnome/kde panel menu,但为什么opensuse上不行呢,gnome keyboard shortcut里面也设置不了. 先google一下,很快找到提示,原来win key默认已经被映射成叫作Super_L的键,在gconf-editor(我是直接从命令行输入该命令)里面可以设置metacity的 keybinding,所以我打开 gconf-editor -> app -> metacity -> global_keybindings -> panel_main_menu,直接输入Super_L.退出,试一下,成功了~~

2. 电池保护(害怕电池充放电太多)

thinkpad在windows下支持的电池充放电上下限管理是一大特色, 据说有效地保护电池延长寿命呢…

根据thinkwiki的介绍

http://www.thinkwiki.org/wiki/Tp_smapi

我需要的是tp_smapi,去下载tp_smapi的源代码包.有很多版本,我在2.6.16版本内核上最高只可以使用0.31把本, 在 2.6.27版本上可以用0.40版本,我的2.6.27-29用0.40编译不过,不过0.39版本可以 . 大家可以根据自己的内核版本多试试不同的版本,在解压后的目录下运行(root):

make load HDAPS=1

一切和顺利,接着

make install HDAPS=1

好了,已经安装好,但系统不会自动加载,要做到这点,在yast2 -> /etc/sysconfig editor -> system -> kernel -> modules_loaded_on_boot中加入hdaps tp_smapi.

保存,重启电脑后, 运行 dmesg > a, 打开a文件,搜索hdaps, tp_smapi,看到没有报错信息就ok了.

更简单的方法是直接从opensuse软件搜索下载0.40版本的rpm包(从pcdigger下载)。

~~现在执行

echo 15 > /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes

echo 20 > /sys/devices/platform/smapi/BAT0/start_charge_thresh

echo 100 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh

好了,电池设置好了, start_charge_thresh是开始充电的阈值, stop_charge_thresh是停止充电的阈值,运行一次后设置就保存了,只要不拆下电池设置就不会丢失.

3. 重力感应(监视电脑震动)

thinkpad X/T系列都带有3D硬盘保护功能, 就是检测电脑的移动保护硬盘. linux kernel已经把监视移动的功能集成进去了,就是前面提到的hdaps模块.在前面已经可以成功加载hdaps后,就可以用程序实时监视了.

首先根据thinkwiki上的连接下载到hdaps-gl-0.0.5(从pcdigger下载),编译,中途报错缺少GL/glut.h,google一下原来是opengl相 干的东西, 就去安装opengl相关的devel包,yast中搜索opengl, 把freeglut的devel包装好(很讨厌,会依赖一大堆devel的包), 搞掂。我这里有已经编译好的,从pcdigger下 载!

编译成功后,cp hdaps-gl /usr/bin, 运行hdaps-gl, 移动电脑,成功了~~

不过我发现,这样直接编译的hdaps-gl在显示中把x-y方向弄反了,在我的编译版本中对此作了修正。

后来发现把x-y方向弄反是hdaps设置的问题,需要设置invert的值,x200的应该是7。在/etc/modprobe.conf中添加:

#Hdaps Orientation

options hdaps invert=7

options hdaps_ec invert=7

重启电脑就OK了!

最近发现照片管理器F-Spot是支持方向感应的,挺好玩的!!

还可以把监视集成在gnome/kde panel里面,分别是tilt-0.0.2(从pcdigger下载)和plasmoid-hdaps-monitor-0.3-1.22(opensuse官网上有),其中 tilt不能自动添加到gnome panel里面,所以把它在session里做成一个autostartup,运行后会出现一个坐标值,参照附件图片. 不过tilt的编译我没有成功,有上面的hdaps-gl已经满足了。

4. 屏幕自动旋转

这个比较好玩,根据方位感应对显示作相应调整以适应方位。具体步骤如下:

下载perl-Proc-ProcessTable-0.45-1.1.x86_64.rpm (To install Perl module Proc::Process Table)

Download…

orientation tool: orient

orientation daemon: orientd

rotatetablet script: rotatetablet

The instructions to do this are as such:

1. Place the attached scripts (’orient’ and ‘orientd’) in /usr/local/bin and make them executable

2. Substitute /etc/acpi/x41tsup.sh and /etc/acpi/x41sdown.sh with these new versions and make sure that they’re executable.

/etc/acpi/x41tsdown.sh (with chmod +x)

#!/bin/sh

#/etc/acpi/x41tsdown.sh

#echo 'Rotating Tablet...'

#/usr/local/bin/rotatetablet right

echo 'Starting orientd...'

/usr/local/bin/orientd start

/etc/acpi/x41tsup.sh (with chmod +x)

#!/bin/sh

#/etc/acpi/x41tsup.sh

echo 'Stopping orientd...'

/usr/local/bin/orientd stop

echo 'Unrotating Tablet...'

/usr/local/bin/rotatetablet normal

3. Put the following line in /etc/rc.d/boot.local:

/usr/local/bin/orient reorient

…and that should do it.

不过上述下载文件中的orient需要作简单修改,否则屏幕调整是反的。

找到sub get_appropriate_rotate_mode {

将其中return的值作如下切换:

0 -> 2

2 -> 0

1 -> 3

3 -> 1

5. 添加屏幕键盘输入

在GDM登录和屏保输入密码时显示屏幕键盘,通过鼠标点击输入密码。效果图如下:

x41keyb_t.jpg

安装l cellwriter

对于GDM:

In /etc/gdm/Init/Default, before exit 0, add:

/usr/bin/cellwriter --keyboard-only --read-only --window-y=600 --window-x=200 &

In /etc/gdm/PostLogin/Default, add:

killall -u root cellwriter &

In /etc/gdm/PostSession/Default, before exit 0, add:

sudo killall -u $USER cellwriter

对于SCREEN LOCK:

Edit Gnome Registry with gconf-editor. In apps/gnome-screensaver

embedded_keyboard_command cellwriter --keyboard-only --xid

embedded_keyboard_enabled [TRUE]

注:本文中的软件均可从http://soft.pcdigger.cn网 站下载!!


http://www.ppmy.cn/news/624953.html

相关文章

联想收购神秘公司主要业务猜想

联想集团1月28日宣布收购一家名为Switchbox实验室的创业公司,《PCWorld》杂志将Switchbox称作“神秘的创业公司”。 媒体及联想并没有公布这家神秘公司的业务及产品,不过倒是公布了公司创始人Sievert曾经是微软的Windows营销副总裁,从公司名…

Win10下安装双系统Ubuntu18.04(适合ThinkPadW540)

重点参考: https://blog.csdn.net/xrinosvip/article/details/80428133 该作者的文章非常好,我参考的其它文章均导致安装失败,大概是由于我的电脑型号吧。利用W540进行双系统安装的话,这个文章里有几个重要知识点,如下…

IDEA 或者SVN修改老项目的svn地址

公司svn地址修改了,ip修改了。本地还有代码没提交。这里介绍一下怎么在IDEA或svn修改为新地址,然后代码就可以直接提交了。网上也有文章介绍,但其中没注明一个关键点,导致很多人修改不成功。所以有了这篇文章。 IDEA下修改svn地址…

为什么扩散模型能如此迅速地取代 GAN?看完这篇文章你就懂了

在人工智能领域,文本生成和图像生成一直是备受关注的领域。GAN (Generative Adversarial Networks) 技术作为当前最流行的生成模型之一,在这个领域内占据了重要地位。但是,随着技术的不断发展和应用,它的局限性也逐渐显露出来。而…

简单通讯录系统

简单介绍&#xff1a;程序设计B作业&#xff0c;一个版本用数组写的&#xff0c;另一个版本用STL里面的map写的。 数组版本&#xff1a; #include <iostream> #include <string.h> using namespace std; //我实在是没想到怎么用动态数组 class Person { public:P…

通讯录(动态版)

#include<stdio.h> #include<string.h> #include<assert.h> #include<stdlib.h>//#define 叫做宏定义命令&#xff0c;它也是C语言预处理命令的一种。所谓宏定义&#xff0c;就是用一个标识符来表示一个字符 //串&#xff0c;如果在后面的代码中出现了…

【文件版通讯录】

序言&#xff1a; 在syseptember的个人博客&#xff1a;动态通讯录中&#xff0c;我们已经将通讯录实现为动态的了&#xff0c;现在&#xff0c;根据我们已经学习过的文件知识&#xff0c;我们可以将动态通讯录改进成文件版通讯录、每一次退出后可以将数据存储起来 文件通讯录的…

【文件版动态版通讯录】

文件版&动态版通讯录 一、测试部分二、函数实现部分三、函数声明部分 今天我们再改进一下之前的通讯录&#xff0c;现在可以把通讯录的信息保存在文件当中&#xff1b; 一、测试部分 本次保存和读取通讯录的内容都是以二进制的形式保存和读取&#xff1b; 对于测试部分&…