news 2026/8/25 19:02:03

Linux命令-xset(X11 用户偏好设置)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux命令-xset(X11 用户偏好设置)

Linux命令-xset(X11 用户偏好设置)

    • 🔰 简介
    • 📖 语法
    • ⚙️ 选项分类
      • 键盘(Keyboard/Bell)参数
      • 鼠标(Mouse)参数
      • 屏幕保护(Screen Saver)参数
      • DPMS(Display Power Management Signaling)
      • 显示(Display)参数
    • 💡 示例
      • 示例 1:查询当前状态
      • 示例 2:键盘和铃声设置
      • 示例 3:鼠标加速度调节
      • 示例 4:屏幕保护和电源管理
      • 示例 5:~/.xinitrc 完整配置示例
      • 示例 6:自动控制显示器电源
    • ⚠️ 注意
    • 📚 相关命令
    • 📝 总结

快速参考xsetX Window 系统的用户偏好设置工具,用于控制键盘铃声、鼠标加速度、屏幕保护、显示器电源管理(DPMS)、字体路径等 X 服务器参数。它通常在~/.xinitrc~/.xprofile中配置,是传统 X11 桌面环境定制的核心命令

现代桌面环境(GNOME/KDE)通过各自的设置面板管理这些选项,但xset在轻量级窗口管理器(i3、dwm、openbox)和自动化脚本中仍然不可或缺。


🔰 简介

X 服务器维护一系列运行时参数,影响用户与图形界面交互的体验。xset是修改这些参数的命令行工具,覆盖四个主要领域:

  1. 键盘(Keyboard):按键音量、按键重复速率、铃声设置
  2. 鼠标(Mouse):加速度阈值、加速度值
  3. 屏幕(Screen):屏幕保护(Screen Saver)、DPMS 电源管理
  4. 显示(Display):字体路径、像素颜色图

安装方式

# Debian/Ubuntu$sudoapt-getinstallx11-xserver-utils# RHEL/CentOS/Fedora$sudoyuminstallxorg-x11-server-utils# RHEL 7$sudodnfinstallxorg-x11-server-utils# Fedora / RHEL 8+# 验证安装$whichxset /usr/bin/xset

📖 语法

xset[选项][参数...]

⚙️ 选项分类

键盘(Keyboard/Bell)参数

参数说明
b [on/off]控制铃声总开关
b [音量] [音高] [持续时间]设置铃声参数:音量(0-100)、音高(Hz)、持续时间(ms)
c [on/off]控制按键点击音量开关
c [音量]设置按键点击音量(0-100)
r [on/off]控制按键自动重复
r [速率] [延迟]设置自动重复:速率(字符/秒)、延迟(ms)

鼠标(Mouse)参数

参数说明
m [阈值] [加速度]设置鼠标加速度:阈值(像素)、加速度(倍率)
m [阈值] [加速度] [阈值]设置独立 X/Y 轴加速度
m default恢复鼠标默认设置

屏幕保护(Screen Saver)参数

参数说明
s [on/off]控制屏幕保护开关
s [超时] [周期]设置屏保:超时(秒)、周期(秒)
s default恢复屏保默认设置
s blank屏保模式:空白屏幕
s noblank屏保模式:不空白(仅节能)
s expose屏保模式:允许曝光事件
s noexpose屏保模式:禁止曝光事件
s activate立即激活屏幕保护
s reset重置屏幕保护计时器

DPMS(Display Power Management Signaling)

参数说明
dpms 选项控制能源之星电源管理
+dpms启用 DPMS
-dpms禁用 DPMS
dpms [待机] [挂起] [关闭]设置三个阶段的超时时间(秒)
dpms standy立即进入待机模式
dpms suspend立即进入挂起模式
dpms off立即关闭显示器
dpms force off强制立即关闭显示器

显示(Display)参数

参数说明
q查询状态(最常用):显示所有当前设置
fp [路径列表]设置字体路径
+fp 路径添加字体路径
-fp 路径删除字体路径
fp default恢复默认字体路径
fp rehash重新扫描字体路径
led [1-32] [on/off]控制键盘 LED 灯
p [值] [颜色值]设置像素颜色图
-display 显示器指定 X 显示器

💡 示例

示例 1:查询当前状态

# xset q 是使用最频繁的命令——查看所有当前设置$ xset q Keyboard Control: auto repeat: on key click percent:0LED mask: 00000002 XKB indicators: 00: Caps Lock: off 01: Num Lock: on 02: Scroll Lock: off auto repeat delay:500repeat rate:33auto repeating keys: 00ffffffdffffbbf bell percent:50bell pitch:400bell duration:100Pointer Control: acceleration:2/1 threshold:4Screen Saver: prefer blanking:yesallow exposures:yestimeout:600cycle:600Colors: default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffffff Font Path: /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/, /usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/,built-ins DPMS(Energy Star): Standby:600Suspend:900Off:1200DPMS is Enabled Monitor is On# 逐项解读:# Keyboard: 按键重复开启,重复延迟 500ms,速率 33 字符/秒# Pointer: 鼠标加速度 2/1(2倍),阈值 4 像素# Screen Saver: 600 秒(10分钟)后启动屏保# DPMS: 待机 10 分钟 → 挂起 15 分钟 → 关闭 20 分钟

示例 2:键盘和铃声设置

# ========== 关闭系统铃声(服务器环境必备!)==========$ xset b off# 验证$ xset q|grep"bell percent"bell percent:0bell pitch:400bell duration:100# ========== 设置铃声参数 ==========$ xset b on# 开启铃声$ xset b80800200# 音量 80%,音高 800Hz,持续 200ms# 测试铃声$ xset b on&&echo-e'\a'# 终端中播放一声# ========== 调整按键重复速率 ==========# 适合快速滚动/移动光标的场景$ xset r rate25030# 延迟 250ms,速率 30 字符/秒$ xset r rate20050# 更快的重复(延迟 200ms,速率 50)# 默认值通常为 rate 500 33$ xset r rate50033# 恢复默认# ========== 关闭按键重复(特殊场景)==========$ xset r off# 按住键不自动重复$ xset r on# 重新开启# ========== 控制键盘 LED ==========$ xset led3# 开启 LED 3(通常为滚动锁定灯)$ xset-led3# 关闭 LED 3# 预期效果:# 铃声关闭后,终端 Bell 不再发出声音# 按键速率调整后立即生效,无需重启 X

示例 3:鼠标加速度调节

# 鼠标加速度是影响操作手感的关键参数# 语法: xset m [加速度分子/分母] [阈值像素]# ========== 查看当前鼠标设置 ==========$ xset q|grep-A2"Pointer Control"Pointer Control: acceleration:2/1 threshold:4# ========== 加速模式 ==========# 鼠标移动超过 4 像素后,光标速度翻倍$ xset m24# 加速度 2x,阈值 4px# 高灵敏度(适合大屏幕/多显示器)$ xset m42# 加速度 4x,阈值 2px(几乎立即加速)$ xset m33# 加速度 3x,阈值 3px# 线性模式(不推荐,指针难以精确定位)$ xset m10# 无加速,完全线性# 极度加速(游戏玩家偏好)$ xset m101# 加速度 10x,阈值 1px# ========== 恢复默认 ==========$ xset m default# ========== 分轴加速(高级)==========# xset m [分子] [分母] [阈值],更大的分母=更平滑$ xset m214# 加速度 2/1 = 2x,阈值 4px$ xset m526# 加速度 5/2 = 2.5x,阈值 6px# 5/2 比 2/1 更精确,因为中间增量更多# 预期效果:调整后可感受到鼠标指针速度变化,需尝试找到最适合的值

示例 4:屏幕保护和电源管理

# ========== 屏幕保护控制 ==========# 关闭屏幕保护(演示/播放视频时)$ xset s off# 查询确认$ xset q|grep"Screen Saver"# 设置屏幕保护超时$ xset s300# 5 分钟后启动屏保$ xset s600600# 10 分钟后启动,周期 10 分钟$ xset s0# 禁用屏保超时# 屏幕保护模式$ xset s blank# 屏保:空白屏幕$ xset s noblank# 屏保:不空白(仅节能信号)$ xset s expose# 允许屏保触发曝光事件$ xset s noexpose# 禁止曝光事件# 立即激活屏保(测试屏保效果)$ xset s activate $ xset s reset# 重置屏保计时器(从零开始)# ========== DPMS 显示器电源管理 ==========# 启用/禁用 DPMS$ xset +dpms# 启用节能$ xset-dpms# 禁用节能# 设置三个阶段的时间(秒)$ xset dpms300600900# 待机5分钟 → 挂起10分钟 → 关闭15分钟$ xset dpms60012001800# 待机10分钟 → 挂起20分钟 → 关闭30分钟# 立即控制显示器$ xset dpms force standby# 立即待机$ xset dpms forcesuspend# 立即挂起$ xset dpms force off# ==立即关闭显示器==$ xset dpms force on# 立即打开显示器# ========== 查询 DPMS 状态 ==========$ xset q|grep-A5DPMS DPMS(Energy Star): Standby:600Suspend:1200Off:1800DPMS is Enabled Monitor is On# ========== 演示/看电影时禁用一切中断 ==========$ xset s off# 关闭屏保$ xset-dpms# 禁用显示器节能$ xset s noblank# 屏保不空白# 恢复电影结束后$ xset s on# 开启屏保$ xset +dpms# 开启节能$ xset dpms6009001200# 恢复默认时间

示例 5:~/.xinitrc 完整配置示例

#!/bin/sh# ~/.xinitrc - X 会话启动时的自动化配置# 此文件由 startx 或 xinit 在启动窗口管理器前执行# ========== X 资源加载 ==========[-f~/.Xresources]&&xrdb-merge~/.Xresources# ========== 键盘配置 ==========# 关闭系统铃声(打扰他人)xset b off# 设置按键重复:延迟 250ms,速率 40 字符/秒xset r rate25040# 设置键盘布局(如果不在更早的阶段设置)# setxkbmap us# ========== 鼠标配置 ==========# 鼠标加速度:2x,阈值 4pxxset m24# 如果使用触摸板,可以用 synclient 或 libinput 配置# synclient TapButton1=1 TapButton2=3 2>/dev/null# ========== 屏幕保护配置 ==========# 10 分钟后启动屏保xset s600600# ========== DPMS 显示器节能 ==========# 启用 DPMSxset +dpms# 待机 10 分钟 → 挂起 15 分钟 → 关闭 20 分钟xset dpms6009001200# ========== 字体路径(如需要自定义字体)==========# xset +fp /usr/local/share/fonts/custom# xset fp rehash# ========== 设置壁纸(根据窗口管理器选择工具)==========# feh --bg-scale ~/Pictures/wallpaper.jpg # 使用 feh# nitrogen --restore # 使用 nitrogen# ========== 启动合成器(compositor,可选)==========# picom -b & # picom 合成器# ========== 启动面板/系统托盘(可选)==========# tint2 & # tint2 面板# ========== 启动窗口管理器(必须为最后一行)==========execi3# 或 exec dwm# 或 exec openbox-session# exec 是关键:替换当前 Shell,窗口管理器退出时 X 会话也结束

示例 6:自动控制显示器电源

#!/bin/bash# 显示器自动电源管理脚本# 场景:下载大文件/编译代码时关闭显示器节能,完成后恢复monitor_sleep_disable(){echo"禁用显示器自动关闭..."xset s off xset-dpmsecho"显示器将保持开启直到手动恢复"}monitor_sleep_enable(){echo"恢复显示器自动关闭..."xset s on xset +dpms xset dpms6009001200echo"显示器将在 20 分钟无操作后关闭"}monitor_off_now(){echo"立即关闭显示器..."xset dpms force offecho"显示器已关闭,按任意键或移动鼠标唤醒"}# 长时间任务的包装函数run_with_monitor_on(){localCMD="$*"echo"执行任务期间保持显示器开启:$CMD"monitor_sleep_disableeval"$CMD"localEXIT_CODE=$?monitor_sleep_enableecho"任务完成,退出码:$EXIT_CODE"return$EXIT_CODE}# 使用示例:# run_with_monitor_on "wget https://example.com/large_file.iso"# run_with_monitor_on "make -j$(nproc)"# monitor_off_now # 立即关闭显示器离开座位# 快捷键绑定示例(在 i3 配置中):# bindsym $mod+Shift+d exec monitor_sleep_disable # 禁用休眠# bindsym $mod+Shift+e exec monitor_sleep_enable # 启用休眠# bindsym $mod+Shift+o exec monitor_off_now # 立即关屏

⚠️ 注意

xset 与现代桌面环境的冲突

设置项xset 控制GNOME 接管KDE 接管
鼠标加速度xset mGNOME SettingsKDE System Settings
屏幕保护xset sGNOME PowerKDE Power Management
DPMSxset dpmsGNOME PowerKDE Power Management
按键重复xset rGNOME AccessibilityKDE Keyboard
铃声xset b已默认关闭已默认关闭

关键提示

  1. 在 GNOME/KDE 中使用 xset 可能被覆盖:桌面环境的设置守护进程会定期重新应用其自己的配置,xset 的设置可能是暂时的。
  2. xset设置不会跨会话持久化:重启 X 后所有设置恢复默认。持久化配置需写入~/.xinitrc~/.xprofile或桌面环境的自启动脚本。
  3. Wayland 不支持 xset:Wayland 合成器有自己的配置工具。使用gsettings(GNOME Wayland)或合成器配置文件。
  4. xset dpms force off是"软关闭":显示器进入节能模式(LED 指示灯闪烁或变橙),移动鼠标或按键盘会立即唤醒,不同于物理电源关闭。
  5. xset m的阈值单位是像素:阈值越小,加速越早介入。设为 0 意味着始终加速(线性速度模式下指针移动非常快)。

📚 相关命令

命令说明
xrandr屏幕分辨率、刷新率、多显示器管理
setxkbmap键盘布局设置
xmodmap键盘映射修改
xinput输入设备列表和属性管理
xrdbX 资源数据库管理
xdotoolX 自动化(模拟键盘/鼠标事件)
xsetroot设置根窗口属性(背景色、光标)
xhostX 访问控制
xauthX 认证管理

📝 总结

xset是 X11 用户偏好的统一配置入口,它将散落在 X 服务器各处的参数收拢到一个命令中:

  • 键盘:铃声开关(b on/off)、按键重复速率(r rate)——服务器和共享空间必备
  • 鼠标:加速度调优(m)——影响操作手感的隐形参数
  • 屏幕保护:超时和模式控制(s)——演示、观看视频时的关键设置
  • DPMS:显示器节能(dpms)——省电和延长显示器寿命的有效手段

在轻量级窗口管理器(i3/dwm/openbox)中,xset~/.xinitrc是定制桌面环境的核心组合。现代桌面用户虽然不直接使用它,但理解xset的工作方式有助于排查"显示器不自动关闭"或"鼠标速度异常"等问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 19:01:53

QY-ZF/F 双层不锈钢水面蒸发传感器的工作原理是什么

产品概述本文主要介绍的是一款以双层不锈钢结构从根源消除太阳直晒带来的蒸发测量偏差,是专为水面蒸发观测打造的专业设备,凭借高精度、高灵敏度、宽量程的核心优势,可快速完成单位面积水面蒸发量的精准测算。核心功能亮点双层不锈钢专属结构…

作者头像 李华
网站建设 2026/8/25 19:00:15

JVM逃逸分析实战:栈上分配、标量替换与锁消除优化详解

这次我们来看一个 JVM 性能优化的核心话题:逃逸分析。对于 Java 开发者来说,无论是应对面试还是进行线上调优,理解 JVM 的逃逸分析机制都至关重要。它直接关系到你的代码在运行时,对象是在堆上分配还是在栈上分配,进而…

作者头像 李华
网站建设 2026/8/25 18:51:33

AI工程化:Harness如何为Agent提供生产级可靠性与可观测性

1. 项目概述:重新认识Harness的定位最近在AI工程化领域,Harness这个词的热度突然飙升,但随之而来的误解也铺天盖地。很多人一看到“Harness”和“上下文(Context)”同时出现,就下意识地认为Harness是来解决…

作者头像 李华
网站建设 2026/8/25 18:50:07

硕士论文AI生成工具实测:AIBiye一周完成初稿

aibiye官网直达入口:https://www.aibiye.com/ 硕士论文写作季,大量研究生面临时间紧迫、写作任务繁重的现实压力。从开题报告到文献综述,从研究方法到结论讨论,每个环节都需要投入大量精力。本文对当前几款主流论文AI工具进行实测…

作者头像 李华
网站建设 2026/8/25 18:49:37

硕士论文AI生成工具实测:一周从大纲到初稿

硕士论文写作周期长、环节多,从大纲设计到最终定稿,每一步都卡时间。最近拿到aibiye的测试权限,干脆用一篇完整硕士论文当测试对象,验证它能不能在一周内走完全流程。 aibiye官网直达入口:https://www.aibiye.com/ 测…

作者头像 李华
网站建设 2026/8/25 18:41:28

2026年网络钓鱼防御实战:AI驱动攻击与云账户安全防护

1. 项目概述:一份来自前线的威胁情报速写如果你负责公司邮箱系统的安全,或者管理着几个云服务账户,最近几个月是不是感觉钓鱼邮件的“演技”又精进了?它们不再只是错别字连篇的“尼日利亚王子”,而是能精准叫出你的名字…

作者头像 李华