在 Lenovo G360 笔记本上安装 Debian Squeeze AMD64

近日入手一台入门级笔记本 Lenovo G360,原装 Windows 7 家庭版,加装了 Debian Squeeze AMD64 Linux,成双系统启动。主要解决了:双系统引导,屏幕亮度调节,双显卡使用及节能,Google Chrome、Firefox浏览器安装及 flash 插件使用,永中 Office 2012 青年版安装,安装 Stepmania 跳舞毯程序,安装教育、科学类套件,笔记本电池使用,中文输入法等。下面简要记录一下要点。

一、双系统引导
为了不对原先硬盘上的引导方式可能造成的影响(比如:保修),采用了 Windows 7 的 bcdedit 添加了 Grub4dos 的引导记录,再由 Grub4dos 引导 Debian Squeeze AMD64 Linux。
首先你要先下载最新版本的GRUB4DOS,
把grldr.mbr,grldr与menu.lst复制到C盘根目录下
输入以下命令

bcdedit /create /d “GRUB4DOS” /application bootsector 输入命令后,会出来UID,复制它,替换字符串 bcdedit /set 字符串 device partition=C: bcdedit /set 字符串 path \grldr.mbr bcdedit /displayorder 字符串 /addlast

依次复制替换好的三个命令到CMD运行
三个都运行完毕重启就可以在vista的启动菜单显示grub4ods了(以上创建 Grub4dos 引导记录的步骤摘自:用windows7的bcdedit引导GRUB4DOS续 http://imcsx.com/archives/28.html )
然后,根据你的具体情况修改 menu.lst 就可以了。我的相关记录是:

title Debian GNU/Linux find --set-root --ignore-floppies --ignore-cd /vmlinuz kernel /vmlinuz root=/dev/sda7 acpi_backlight=vendor ro quiet initrd /initrd.img

二、屏幕背光亮度调节
可能是由于 Linux 的 Intel 显卡驱动相关的问题,按 Fn + Up/Down 不能调节亮度,搜索了网上的解决方法,有添加引导参数的,有安装内核补丁的,有写脚本并用 Xbindkeys 程序绑定调节亮度组合键的。我最终采用的方法是先安装并启用了 squeeze-backports 源里的 linux-image-3.2.0-0.bpo.1-amd64 内核,再在 Grub 的内核引导中加入“acpi_backlight=vendor”的参数。但是这种方法在我的机器上偶尔会失灵。另外,也有网上的用户报告这种加内核引导 参数不起作用的情况。那么,如果碰到这种情况,也可以试试后面我介绍的方法。这种方法的基本使用条件是:intel 显卡对背光亮度起作用,在“/sys/class/backlight”下面有两个目录“acpi_video0”和 “intel_backlight”,按亮度调节键时只对“acpi_video0”下面的“brightness”起作用,但真正对背光亮度起作用却是 “intel_backlight”下面的“brightness”值。我在其中一篇文章的启发下,当我按亮度调节组合键时,用“sudo udevadm monitor”命令检测到 “backlight” 子系统的的 “change” 动作,故添加了 “/etc/udev/rules.d/99-writeintelbacklight.rules” udev 规则如下:

ACTION=="change", SUBSYSTEM=="backlight", RUN+="/usr/sbin/writeintelbacklight.sh"

一个处理活动的脚本 “/usr/sbin/writeintelbacklight.sh” 如下:

#!/bin/bash   intelmaxbrightness=`cat /sys/class/backlight/intel_backlight/max_brightness` acpimaxbrightness=`cat /sys/class/backlight/acpi_video0/max_brightness` scale=`expr $intelmaxbrightness / $acpimaxbrightness` acpibrightness=`cat /sys/class/backlight/acpi_video0/brightness` newintelbrightness=`expr $acpibrightness \* $scale` curintelbrightness=`cat /sys/class/backlight/intel_backlight/actual_brightness` if [ "$newintelbrightness" -ne "$curintelbrightness" ] then   echo $newintelbrightness > /sys/class/backlight/intel_backlight/brightness fi exit 0

基本原理是按亮度调节组合键时会重写 “/sys/class/backlight/acpi_video0/brightness”,激发 “backlight” 子系统的 “change” 运作,调用脚本修改 “/sys/class/backlight/intel_backlight/brightness” 的值,使屏幕亮度发生相应改变。当然,不要忘记为脚本添加可执行权限:“sudo chmod +x /usr/sbin/writeintelbacklight.sh”。其它如果有类似情况的也可以试一下,如 brightness 在别的目录名称下面。

以上笔记本电脑 intel 显卡的屏幕背光亮度调节的问题参考链接:
Bug 44809 – [Arrandale backlight] Brightness via RANDR has no effect on Sony VAIO VPCYA1V9E https://bugs.freedesktop.org/show_bug.cgi?id=44809
Unable to change brightness in a Lenovo laptop http://askubuntu.com/questions/57236/unable-to-change-brightness-in-a-lenovo-laptop

三、双显卡使用及节能
现在预装 Windows 7 的很多笔记本都使用了集成显卡加独立显卡的双显卡技术(如:Nvidia Optimus,其它的显卡品牌不知道 ),一般情况下只使用集成显卡以节省电能,需要 3D 加速的时候再启用独立显卡。这种技术需要操作系统的支持,这个切换的过程可以是自动的。在 Linux 下,有大牛们实现了一种手动的独立显卡启动(BumbleBee)和自动的节能切换(bbswitch),虽然比不上 Windows 7 操作系统级别的原生支持,但也基本可用。安装 BumbleBee 和 bbswitch 的步骤是按照 Debian Wiki : http://wiki.debian.org/Bumblebee 上进行的。有两点要注意一下。一是 bbswitch 是下载 Ubunut PPA 仓库的 bbswitch-dkms_0.4.2-2~preciseppa1_all.deb 版本,经试验可以用在我使用的 Debian Squeeze AMD64 Linux 下;二是因为手工编译安装 BumbleBee 的,必须要手工修改一下配置文件才行,我这里是 /usr/local/etc/bumblebee/bumblebee.conf,设置的内容有 Driver=nvidia PMMethod=bbswitch 等。

安装成功后,如果某一个程序要使用 3D 加速,如:firefox,可以这样执行“optirun firefox”。执行后,“lsmod”会发现新加载了 nvidia 模块。相关程序结束后,“lsmod”会发现 nvidia 模块消失了。另外,单独分别执行“glxgears”和“optirun glxgears”也可看出启用 Nvidia 显卡与否的显著区别。在我的机子上,前者帧率大约 60 FPS,后者大约 960 FPS。

另外,据上面的 wiki 内容说,也有针对 Debian Wheezy 和 Sid 用户的现成非官方的 BumbleBee 软件仓库可方便的直接安装使用。不过我没测试过。具体情况参见: Debian logo Bumblebee Debian repository http://suwako.nomanga.net/ 。

四、Google Chrome、Firefox浏览器安装及 flash 插件使用
原来在32位系统下使用正常的 Google Chrome、Firefox 浏览器在 AMD64 下不能使用,解决方法是安装两个包: “sudo apt-get install ia32-libs ia32-libs-gtk”。
另外,在 Adobe 公司官方网站下载的64位 Flash 播放器插件在 Firefox 官方版本中不能工作,还没找到解决的办法。这个 Flash 插件在 Google Chrome 和 Debian 软件仓库中的 Iceweasel 浏览器上工作正常。

五、永中 Office 2012 青年版安装
我在永中 Office 官方网站 http://www.yozosoft.com/person/ 处下载的“永中Office 2012 青年版 For Linux”deb 包(32/64位):Yozo_Office_6.1.0088.131ZH.deb ,使用 “sudo dpkg -i Yozo_Office_6.1.0088.131ZH.deb” 的方法安装会报告架构不一致不能安装的错误并停止安装,解决方法是“sudo dpkg -i –force-all Yozo_Office_6.1.0088.131ZH.deb”,即加了一个 “–force-all” 的参数。
安装后发现字体比较模糊,解决方法是在 /etc/profile 后加 export _JAVA_OPTIONS=’-Dawt.useSystemAAFontSettings=lcd’ 。

六、安装 Stepmania 跳舞毯程序
因为原装跳舞毯程序配的是厂家修改过的 3.9 系列的 Windows 版本,所以在原来 32 位系统下安装的是 http://www.stepmania.com/wiki/Old_Version_Downloads 处下载的 StepMania-3.9a-linux.tar.gz (参见:Linux 下使用跳舞毯 http://www.learndiary.com/2012/03/linux-%e4%b8%8b%e4%bd%bf%e7%94%a8%e8%b7%b3%e8%88%9e%e6%af%af/ ),但是在 Debian Squeeze AMD64 系统下不能使用,试着编译 3.9 版的源码,可能是由于原来版本的编译相关依赖包过于老旧(如: GCC 版本),没有成功。就放弃安装 3.9 版本。安装了 Stepmania v5.0-alpha2 的64位版本( http://sm-ssc.googlecode.com/files/StepMania-v5.0-alpha2-linux64.tar.bz2 )。把原来的 Songs 目录复制到解压安装的目录下就行了。不过,我发现 5.0 版本的 Stepmania 不能够自动识别跳舞毯了,按键不管用。但是键盘上的键是可以识别的。经过上网查询,lsusb 能够看到跳舞毯设备,用 joystick 包里的 jtest /dev/input/js0 测试按键在系统中能被识别。下载 qjoypad 的源码并编译安装,执行 qjoypad 后,在软件界面中点击“Quick Set”后,就可以设定跳舞毯的按键跟电脑键盘的映射关系,点击“Update”以一个新的“Layout”保存设定的映射关系。在执行 Stepmania 前,执行“qjoypad “Layout名称”“就可以使用了。这时的跳舞毯按键就相当于映射的电脑上的相应按键。

七、安装教育、科学套件
Linux 下有成套的教育科学、科学软件,例如:Gcompris, Tuxpaint, Tuxmath, Tuxtype等,还有许多关于天文、地理、物理、数学、图形、音乐等软件。虽然现在绝大部分还用不着,不过我把这些东西一起全部安装上,有时间再慢慢探 索。使用的命令大概是:
sudo apt-get -t squeeze-backports install science-* debian-edu-* education-tasks education-standalone education-services education-physics education-music education-misc education-menus education-mathematics education-logic-games education-laptop education-language education-graphics education-geography education-electronics education-development education-desktop-sugar education-desktop-other education-desktop-lxde education-desktop-kde education-desktop-gnome education-common education-chemistry education-astronomy

我试过,如果安装所有以 education- 开头的软件包(即 education-*),会安装上包括: education-networked education-main-server education-thin-client-server education-thin-client education-workstation 等之类的基于网络的教育服务器、客户端之类的软件,有一堆额外的设置我不是很明白,也没有这方面的需要,所以觉得单机上还是暂时不安装了。以后有需要时再 说。

八、笔记本电池使用
因为这台笔记本主要使用交流电源,在 Windows 7 的电源管理程序中设置了“最长电池使用寿命”,这样,电池只有小于80%或80%以下的某个百分比容量才充电。这个设置应该是保存在电池的芯片里的,这样在 Debian 下也会使用这个设置。

九、中文输入法
在 Debian Squeeze 下从软件仓库安装的 SCIM, FCITX 输入法在一些 Flash 网页游戏中会输不上中文(如 4399.com 上的“奥比岛”),不知是不是我没设置好的原因。不过使用 IBUS 输入法就正常了。

未解决的问题:
1、ALPS 触摸板可以使用一般的移动和点击功能,”Fn + F6“的禁止/启用触摸板功能键正常,不过边界的滚动功能不起作用。在 Gnome 的鼠标设置中也没有设置触摸板的标签页。
2、根据 Add Facial Recognition Password Login to Ubuntu Linux Distro: http://compixels.com/2071/add-facial-recognition-password-to-ubuntu-linux-distro 中介绍的方法在本机上实验了一下人脸识别登录,0.3 版本和 SVN 版本都试过,在我的机子上基本不能正常识别。同样的环境(节能台灯灯光下),在 Windows 7 下的 Lenovo VeriFace 人脸识别登录能够正常工作。

我安装这个系统主要是为小孩学习娱乐用准备的,主要看重的是上面的教育套件、使用环境清洁简单。我希望这套系统能为小孩的成长添加有益的助力。

对于第一个问题,可以使用如下代码进行数据清洗和转换: ```r library(forcats) # 去除G301 G302 G303 G304 G305 G306 G307 G308 G309 G310 G311 G312 G313 G314 G315 G316 G317 G318 G319 G320 G321 G322 G323 G324 G325 G326 G327 G328 G329 G330 G331 G332 G333 G334 G335 G336 G337 G338 G339 G340 G341 G342 G343 G344 G345 G346 G347 G348 G349 G350 G351 G352 G353 G354 G355 G356 G357 G358 G359 G360 G361 G362 G363 G364 G365 G366 G367 G368 G369 G370 G371 G372 G373 G374 G375 G376 G377 G378 G379 G380 G381 G382 G383 G384 G385 G386 G387 G388 G389 G390 G391 G392 G393 G394 G395 G396 G397 G398 G399 G400 G401 G402 G403 G404 G405 G406 G407 G408 G409 G410 G411 G412 G413 G414 G415 G416 G417 G418 G419 G420 G421 G422 G423 G424 G425 G426 G427 G428 G429 G430 G431 G432 G433 G434龄为 NA 的观测 gss_cat <- gss_cat %>% filter(!is.na(age)) # 将年龄转换为3个等级,并将其转为factor gss_cat$age_group <- cut(gss_cat$age, breaks = c(-Inf, 45, 69, Inf), labels = c("youth", "middle_aged", "old_people")) gss_cat$age_group <- as_factor(gss_cat$age_group) # 按照年龄从小到大指定因子水平的顺序 gss_cat$age_group <- fct_relevel(gss_cat$age_group, c("youth", "middle_aged", "old_people")) # 计算每一年龄组的样本数量 gss_cat %>% group_by(age_group) %>% summarize(n = n()) ``` 根据输出结果可以得知,每一年龄组的样本数量分别为: ``` # A tibble: 3 x 2 age_group n <fct> <int> 1 youth 3858 2 middle_aged 6738 3 old_people 5345 ``` 对于第二个问题,可以使用如下代码进行数据整理和计算: ```r library(tidyr) # 统计不同年份、年龄和种族的样本数量 gss_cat_count <- gss_cat %>% filter(!is.na(year)) %>% group_by(year, race, age_group) %>% summarize(n = n()) %>% ungroup() # 计算年轻人所占比例 gss_cat_count <- gss_cat_count %>% mutate(youth_rate = if_else(age_group == "youth", n/sum(n), 0)) # 转换成长宽表 gss_cat_wide <- gss_cat_count %>% pivot_wider(names_from = c(race, age_group), values_from = c(n, youth_rate)) # 查看生成数据集的行列数 dim(gss_cat_wide) ``` 根据输出结果可以得知,生成的数据集有151行和21列。 对于第三个问题,可以使用如下代码绘制折线图: ```r library(ggplot2) ggplot(gss_cat_wide, aes(x = year)) + geom_line(aes(y = Black_youth_rate, color = "Black")) + geom_line(aes(y = White_youth_rate, color = "White")) + geom_line(aes(y = Other_youth_rate, color = "Other")) + labs(title = "Proportion of youth by race over time", x = "Year", y = "Proportion of youth") + scale_color_manual(values = c("Black" = "black", "White" = "grey", "Other" = "blue")) ``` 根据图形可以得知,排在最上方的线对应的种族是黑人(Black)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值