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

📅 2026/8/25 19:02:06
Linux命令-xset(X11 用户偏好设置)
Linux命令-xsetX11 用户偏好设置 简介 语法⚙️ 选项分类键盘Keyboard/Bell参数鼠标Mouse参数屏幕保护Screen Saver参数DPMSDisplay Power Management Signaling显示Display参数 示例示例 1查询当前状态示例 2键盘和铃声设置示例 3鼠标加速度调节示例 4屏幕保护和电源管理示例 5~/.xinitrc 完整配置示例示例 6自动控制显示器电源⚠️ 注意 相关命令 总结快速参考xset是X Window 系统的用户偏好设置工具用于控制键盘铃声、鼠标加速度、屏幕保护、显示器电源管理DPMS、字体路径等 X 服务器参数。它通常在~/.xinitrc或~/.xprofile中配置是传统 X11 桌面环境定制的核心命令。现代桌面环境GNOME/KDE通过各自的设置面板管理这些选项但xset在轻量级窗口管理器i3、dwm、openbox和自动化脚本中仍然不可或缺。 简介X 服务器维护一系列运行时参数影响用户与图形界面交互的体验。xset是修改这些参数的命令行工具覆盖四个主要领域键盘Keyboard按键音量、按键重复速率、铃声设置鼠标Mouse加速度阈值、加速度值屏幕Screen屏幕保护Screen Saver、DPMS 电源管理显示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、持续时间msc [on/off]控制按键点击音量开关c [音量]设置按键点击音量0-100r [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重置屏幕保护计时器DPMSDisplay Power Management Signaling参数说明dpms 选项控制能源之星电源管理dpms启用 DPMS-dpms禁用 DPMSdpms [待机] [挂起] [关闭]设置三个阶段的超时时间秒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/12倍阈值 4 像素# Screen Saver: 600 秒10分钟后启动屏保# DPMS: 待机 10 分钟 → 挂起 15 分钟 → 关闭 20 分钟示例 2键盘和铃声设置# 关闭系统铃声服务器环境必备$ xset b off# 验证$ xset q|grepbell percentbell percent:0bell pitch:400bell duration:100# 设置铃声参数 $ xset b on# 开启铃声$ xset b80800200# 音量 80%音高 800Hz持续 200ms# 测试铃声$ xset b onecho-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-A2Pointer ControlPointer 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|grepScreen 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 TapButton11 TapButton23 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执行任务期间保持显示器开启:$CMDmonitor_sleep_disableeval$CMDlocalEXIT_CODE$?monitor_sleep_enableecho任务完成退出码:$EXIT_CODEreturn$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 $modShiftd exec monitor_sleep_disable # 禁用休眠# bindsym $modShifte exec monitor_sleep_enable # 启用休眠# bindsym $modShifto exec monitor_off_now # 立即关屏⚠️ 注意xset 与现代桌面环境的冲突设置项xset 控制GNOME 接管KDE 接管鼠标加速度✅xset mGNOME SettingsKDE System Settings屏幕保护xset sGNOME PowerKDE Power ManagementDPMSxset dpmsGNOME PowerKDE Power Management按键重复xset rGNOME AccessibilityKDE Keyboard铃声xset b已默认关闭已默认关闭关键提示在 GNOME/KDE 中使用 xset 可能被覆盖桌面环境的设置守护进程会定期重新应用其自己的配置xset 的设置可能是暂时的。xset设置不会跨会话持久化重启 X 后所有设置恢复默认。持久化配置需写入~/.xinitrc、~/.xprofile或桌面环境的自启动脚本。Wayland 不支持 xsetWayland 合成器有自己的配置工具。使用gsettingsGNOME Wayland或合成器配置文件。xset dpms force off是软关闭显示器进入节能模式LED 指示灯闪烁或变橙移动鼠标或按键盘会立即唤醒不同于物理电源关闭。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的工作方式有助于排查显示器不自动关闭或鼠标速度异常等问题。