无线连接

Wi-Fi

一般地,安装linux-firmware 即可,许多发行版会默认安装此包,如果安装主流的桌面环境,也会自动安装它。

还可以尝试linux-firmware-iwlwifi(也可能名为firmware-iwlwifi) ,此软件包为intel相关网卡驱动。

一些网卡可能需要寻找相应的驱动,可到其官网寻找支持,或者以网卡名、具体型号加firmware作为关键字搜索解决方案。可使用lspci | grep Network查看具体显卡情况。

其他解决思路:换网卡;使用免驱动安装的usb网卡。

蓝牙

一般地,安装bluez即可,一些发行版会默认安装此包,如果安装主流的桌面环境,也会自动安装它。

特别的驱动解决思路参考上文“wi-fi”。

可以参考这篇文章- archwifi-蓝牙


rfkill:某些情况下,wifi或者蓝牙被关闭(尤其是硬关闭)但是又找不打开的方法,可以使用rfkill这个工具解决,常用命令:

rfkill list    #查看所有无线设备的状态
rfkill unblock all #启用所有设备
rfkill --help #查看rfkill相关命令

触摸板

一般安装桌面环境(如gnome、plasma等等)会自动安装上触摸板相关驱动;如果使用的一些窗口管理器(如i3wm、awesom)则可能需要自行安装。

安装驱动 xf86-input-synaptics

如果从其他桌面环境改用gnome作为桌面环境,则要用libinput 替换掉 xf86-input-synaptics (GNOME 目前不再支持 synaptics),卸载掉 xf86-input-synaptics

电源管理

电源管理工具

  • 桌面环境的电源管理工具

    桌面环境一般都有自己的电源管理工具,可设置对各种使用行为响应的电源动作 ,如使用电池时的亮度、灭屏时间、挂起时间、睡眠时间、盖上笔记本盖子的响应动作、按下电源键的响应动作等等。

    可参看下文电源相关行为的响应动作进行一些更为详细或者电源管理工具为提供的设置,推荐配合tlp或laptop-mode-tools使用。

  • tlp

    多功能电源管理工具,其默认配置已经针对常见使用情况进行优化,安装后执行systemctl enable tlp 使其开启自启动即可。如需进行更多配置,可修改/etc/default/tlp 文件。另可再安装tlp-rdw用以设置无线设备。

    可参看tlp英文文档

  • laptop-mode-tools

    让内核开启适合的笔记本电脑的模式以达到相关电源控制的目的。功能较多,配置较tlp复杂,和tlp二选一即可。

    可参看archwiki-Laptop Mode Tools (简体中文)

  • powertop intel处理器使用的电源管理工具。

    使用sudo powertop --auto-tune可启用所有选项,欲开机自启动auto-tune参看powertop(简体中文)

    提示:如果使用了tlp和laptop-mode-tools,几乎没必要再启用该工具,前二者功能覆盖了powertop的设置项。

  • thermald

    一个用于防止平台过热的守护进程。此守护进程会监控平台温度,并采用可用的冷却方式来降低温度。该软件安装即可,无需额外设置。

    提示:该工具可能过早启用风扇或风扇转速更快,从而带来较原使用情况下更大的噪音,宜根据设备具体情况和个人使用体验考虑是否使用。

电源相关行为的响应动作

这些行为及响应动作多能在桌面环境的电源管理工具中进行设置,参看综合型电源管理工具

按键和盖子的响应动作

针对按下电源相关按钮(如挂起/休眠/电源等按键)和盖上笔记本盖子等行为而响应的电源动作。

systemd 能够处理某些电源相关的事件,编辑/etc/systemd/logind.conf可进行配置,其主要包含以下事件:

  • HandlePowerKey:按下电源键
  • HandleSleepKey:按下挂起键
  • HandleHibernateKey: 按下休眠键
  • HandleLidSwitch:合上笔记本盖
  • HandleLidSwitchDocked:插上扩展坞或者连接外部显示器情况下合上笔记本盖子

取值可以是 ignore、poweroff、reboot、halt、suspend、hibernate、hybrid-sleep、lock 或 kexec。

其中:

  • poweroff和halt均是关机(具体实现有区别)
  • supspend是挂起(暂停),设备通电,内容保存在内存中
  • hybernate是休眠,设备断电(同关机状态),内容保存在硬盘中
  • hybrid-sleep是混合睡眠,设备通电,内容保存在硬盘和内存中
  • lock是锁屏
  • kexec是从当前正在运行的内核直接引导到一个新内核(多用于升级了内核的情况下)
  • ignore是忽略该动作,即不进行任何电源事件响应

注意,系统默认设置为:

HandlePowerKey=poweroff    #按下电源键关机
HandleSuspendKey=suspend #按下挂起键挂起(暂停)
HandleHibernateKey=hibernate #按下休眠键休眠
HandleLidSwitch=suspend #盖上笔记本盖子挂起

例如要设置盖上笔记本盖子进行休眠,在该文件中配置:

HandleLidSwitch=hibernate

保存文件后,执行 systemctl restart systemd-logind 使其生效。

注意:一些Linux发行版可能需要自行对休眠进行配置,参考后文休眠配置,或者借助pm-utils之类的工具实现。

桌面环境带有的电源管理工具能管理上述(部分)动作的电源响应事件。

电池低电量的响应动作

如希望在电池电量极低的时候自动关机,可以通过修改/etc/UPower/UPower.conf相关配置,示例,在电量低至%5时自动休眠:

PercentageLow=15  #<=15%低电量
PercentageCritical=10 #<=10%警告电量
PercentageAction=5 #<=5%执行动作(即CriticalPowerAction)的电量
CriticalPowerAction=PowerOff #(在本示例中是电量<=5%)执行休眠

CriticalPowerAction的取值有Poweroff、Hibernate和Hybid-sleep。

更多配置项参考该文件中的说明。

处理器调整

使一般是降低频率以减少发热,同时降低风扇转速以减少噪音,并提升笔记本的电池续航时间。

/sys/devices/system/cpu目录下有着cpu相关信息。

如intel处理器的设备,其系统在/sys/devices/system/cpu/intel_pstate 目录下(可能存在)的文件规定着cpu运行频率相关参数,如:

  • max_perf_pct 最高频率百分比,数字0 - 100
  • min_perf_pct 最低频率百分比,数字0 - 100
  • no_turbo 睿频开启状态,数字0或1,1表示关闭

调频工具

cpupower属于Linux内核工具系列,但有的发行版不一定会默认安装。

执行cpupower frequency-info 可查看到相关信息,cpupower set可进行频率设置。

一般搜索cpupower、freq、cpu加freq等关键字可以找到此类工具。

示例:使用cpupower控制频率

编辑/etc/default/cpupower,找到min_freq.max_freq 这两行,去掉其注释的#, 填写好频率并保存

min_freq="0.25GHz"    #最小频率
max_freq="2.5GHz" #最大频率

执行systemctl enable cpupower.service 使其生效。

关闭睿频

可使用命令 :cat /sys/devices/system/cpu/intel_pstate/no_turbo 查看睿频开启状态,如果显示0则表示开启睿频,显示1则表是关闭睿频。(intel)

一些关闭睿频的方法:

  • 如果bios支持,在bios中设置。

  • 使用工具,如上文提到的工具cpupower-gui,图形界面,操作简单。

  • root执行 echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo (重启后会恢复睿频)

  • 使用tlp(推荐)或laptop-mode-tools等电源管理工具

    如tlp,编辑/etc/default/tlp,找到其中的两行CPU_BOOST,修改为:

    CPU_BOOST_ON_AC=0   #0表示关闭 1表示开启
    CPU_BOOST_ON_BAT=0 #同上

intel_pstate

  • 只针对intel处理器中SandyBridge(含IvyBridge)及更新的构架的CPU。intel构架列表:List of Intel CPU microarchitectures。援引:

    Linux内核对CPU的工作频率管理,已经跟不上现代的CPU的需求,无法在效能与省电取得平衡,所以intel自己写了一段内核代 码,Intel_pstate……内核3.13中,已经放入这段代码,但没有默认启用。

    启用方法:

    编辑/etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT一行添加intel_pstate=enable,例如该行原有内容是:

    GRUB_CMDLINE_LINUX_DEFAULT=”quiet”

    添加添加intel_pstate=enable后即是:

    GRUB_CMDLINE_LINUX_DEFAULT=”quiet intel_pstate=enable”

    然后执行sudo grub-mkconfig -o /boot/grub/grub.cfg ,重启生效。

    检查:执行cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver,如果显示intel_pstate则表示启用成功,否则是未启用成功或不支持该功能。

休眠配置

如果桌面环境无休眠相关选项,可参考以下方法手动配置。

  1. 合适大小的swap

    休眠(hibernate)需要将内存中的内容写入磁盘的swap,如果swap大小比当前休眠所需空间小,则无法保证能够正确地休眠。具体的swap的大小根据个人使用情况(要休眠时的内存占用)而定。

  2. 在bootloader 中增加resume内核参数

    假如使用swap文件为/home/swap,需要编辑/etc/default/grub 文件,在GRUB_CMDLINE_LINUX_DEFAULT中添加resume=/home/swap,让系统在启动时读取swap分区中的内容。(如果使用swap分区,则resume对应的为swap的盘符,例如/dev/sdc)

    例如该行的原有内容是:

    GRUB_CMDLINE_LINUX_DEFAULT=”quiet intel_pstate=enable”

    添加resume参数后就是:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=enable resume=/home/swap"

    然后更新 grub 配置 grub-mkconfig -o /boot/grub/grub.cfg

  3. 配置 initramfs的resume钩子

    编辑/etc/mkinitcpio.conf,在HOOKS行中添加resume钩子,例如该行原有内容是:

    HOOKS="base udev autodetect modconf block filesystems keyboard fsck"

    添加resume后就是:

    HOOKS="base udev resume autodetect modconf block filesystems keyboard fsck"

    注意:如果使用lvm分区,需要将resume放在lvm2后面,示例:

    HOOKS="base udev autodetect modconf block lvm2 resume filesystems keyboard fsck"

    重新生成 initramfs 镜像: mkinitcpio -p linux

显卡管理

amd使用开源mesa(无需额外配置)即可,以下描述中的独显均指Linus钦点的F**k Nvidia,且只讨论显卡用于图像输出的问题。

参看archwiki-NVIDIA

显卡切换Optimus

archwiki-NVIDIA_Optimus

Nvidia Optimus技术可根据需求在集成GPU和Nvidia GPU之间实时无缝切换,已达到节能省电的目的(因此在笔记本电脑上有使用该技术的需求),但在Linux下该功能的实现效果较差。

如果BIOS支持选择输出显卡,可在BIOS中选择使用指定卡(但不是所有设备都具有该功能),例如只使用集成显卡或独立显卡。

目前Optimus可选方案:

  • 由NVIDIA提供的Optimus方案,性能好,但目前bug丛生。

  • 放弃NVIDIA驱动,改用开源nouveau驱动,其PRIME技术可实现Optimus,但性能差。

  • 使用第三方程序

    • bumblebee 稳定、配置简单、使用较方便,(使用NVIDIA运行程序时)性能比不上官方Optimus。

      一般会配合bbswitch使用,默认情况下使用bbswitch禁用NVIDIA,需要运行使用NVIDIA的程序时,使用特定的命令运行该程序。

      安装bumblebee和bbswitch,并启用bumblebeed服务,此外还需要将用户加入到bumblebee组中:

      pacman -S bumblebee bbswitch --noconfirm  #以archlinux为例
      usermod -aG bumblebee ${whoami} #需要将普通用户加入bumblebee组
      systemctl enable bumblebeed

      可根据需要编辑bumblebee配置文件/etc/bumblebee/bumblebee.conf

      需要使用NVDIA运行程序时,可使用以下方案单独运行该程序:

      • optirun

        Bumblee中的命令,使用optirun [options] <application>运行程序。

      • primusrun primus方案

        比optirun性能更好,使用primusrun [options] <application>运行程序。

      • pvkrun primus_vk方案 支持vulkan

    • nvidia-xrun 启动后使用核显,默认不加载NVIDIA驱动。需要时使用nvidia-xrun <application>启动程序。

  • optimus-manager

    图形前端:

本文转载自Link

linux下使用笔记本的相关设置的更多相关文章

  1. Linux下网络服务的安全设置

    Linux下网络服务的安全设置      Linux操作系统由于其良好的稳定性.健壮性.高效性和安全性.正在成为各种网络服务的理想平台.各种网络应用在Linux系统上部有性能卓越的应用,例如,提供We ...

  2. Linux下beego及beego相关插件安装

    Linux下beego及beego相关插件安装 1.下载及配置go环境看见链接: http://golang.org/dl/ 网盘:链接: https://pan.baidu.com/s/1MveUM ...

  3. hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)

    Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...

  4. Linux Linux下最大文件描述符设置

    Linux下最大文件描述符设置 by:授客 QQ:1033553122 1.   系统可打开最大文件描述符设置 查看系统可打开最大文件描述符 # cat /proc/sys/fs/file-max 6 ...

  5. linux下为目录和文件设置权限

    摘:linux下为目录和文件设置权限 分类: Linux2012-05-09 03:18 7456人阅读 评论(1) 收藏 举报 linuxwordpressweb数据库serverfile linu ...

  6. linux下tomcat服务器的相关命令

    一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/loca ...

  7. linux下tomcat服务的相关命令

    一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/loca ...

  8. PuTTy linux下tomcat服务的相关命令

    一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/loca ...

  9. Linux下禁用笔记本触摸板

    1 概述 在Linux下禁用触摸板的方法有很多,这里列举三种: 图形界面配置关闭 modprobe关闭 xinput关闭 2 图形界面配置关闭 笔者的环境为Manjaro+Xfce,其他的桌面也应该类 ...

随机推荐

  1. vue项目打包后打开空白解决办法

    1.记得改一下config下面的index.js中bulid模块导出的路径.因为index.html里边的内容都是通过script标签引入的,而你的路径不对,打开肯定是空白的.先看一下默认的路径. a ...

  2. 教你用纯Java实现一个网页版的Xshell(附源码)

    前言 最近由于项目需求,项目中需要实现一个WebSSH连接终端的功能,由于自己第一次做这类型功能,所以首先上了GitHub找了找有没有现成的轮子可以拿来直接用,当时看到了很多这方面的项目,例如:Gat ...

  3. Java多线程并发01——线程的创建与终止,你会几种方式

    本文开始将开始介绍 Java 多线程与并发相关的知识,多谢各位一直以来的关注与支持.关注我的公众号「Java面典」了解更多 Java 相关知识点. 线程的创建方式 在 Java 中,用户常用的主动创建 ...

  4. Vue2.0 【第二季】第8节 Component 父子组件关系

    目录 Vue2.0 [第二季]第8节 Component 父子组件关系 第8节 Component 父子组件关系 一.构造器外部写局部注册组件 二.父子组件的嵌套 Vue2.0 [第二季]第8节 Co ...

  5. [日志分析]Graylog2进阶 通过正则解析Nginx日志

    之前分享的 [日志分析]Graylog2采集Nginx日志 主动方式 这篇文章介绍了Graylog如何通过Graylog Collector Sidecar来采集nginx日志. 由于日志是未经处理的 ...

  6. java-FileUtils(复制文件夹、复制文件、字符串直接写入文件中)(新手)

    实例: lx1: import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; pu ...

  7. 性能测试工具LoadRuner你所不知道的内幕

    谈到性能测试,大家一定会联想到Jmeter和LoadRunner,这两款工具目前在国内使用的相当广泛,主要原因是Jmeter是开源免费,LoadRunner 11在现网中存在破解版本.商用型性能测试工 ...

  8. EOS基础全家桶(一)开篇

    简介 从今天开始我会在FishoPark上与大家分享EOS的一些技术经验和基础,如果大家在看文章的过程中有任何问题,欢迎在网站下方的评论里留言,我会尽力为大家解答,如果发现我内容中所写有错,欢迎指正, ...

  9. LeetCode--第180场周赛

    LeetCode--第180场周赛 1380. 矩阵中的幸运数 class Solution { public: vector<int> luckyNumbers (vector<v ...

  10. leetcode 945. 使数组唯一的最小增量

    题目 给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1. 返回使 A 中的每个值都是唯一的最少操作次数. 示例 1: 输入:[1,2,2] 输出:1 解释:经过一次 mov ...