ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Ubuntu 10.04 鼠标指针换装指南:gcursor 与 Compiz 配置实战

Ubuntu 10.04 鼠标指针换装指南:gcursor 与 Compiz 配置实战 1. 为什么 Ubuntu 10.04 换指针总是不生效Ubuntu 10.04 这个版本有点特殊它默认启用了 Compiz 桌面特效而 Compiz 对鼠标指针主题的接管方式和传统 GNOME 桌面不太一样。很多朋友在 gnome-look 上下载了漂亮的指针主题装完之后发现 Firefox 里变了桌面和文件管理器里却还是老样子甚至重启后完全没变化。这不是你操作错了而是系统里存在两套指针管理机制在打架。具体来说GNOME 的 gconf 配置项/desktop/gnome/peripherals/mouse/cursor_theme控制的是 GTK 程序使用的指针而 Compiz 在合成窗口时会通过 X11 的x-cursor-theme这个 alternatives 链接来加载指针。如果只改了 gconf 没改 alternatives或者只改了 alternatives 没改 gconf就会出现“部分程序生效、部分程序不生效”的尴尬局面。gcursor 这个工具虽然能帮你把主题装到~/.icons但它默认只更新 gconf不会动/etc/alternatives/x-cursor-theme这就是为什么很多人装了 gcursor 却感觉“没起作用”。这篇内容适合还在维护 Ubuntu 10.04 老系统、或者跑在虚拟机里做兼容测试的朋友。我会把 gcursor 安装、主题目录结构、gconf 设置、alternatives 替换、Compiz 兼容性验证这几个环节串起来给你一套可复制的命令流程。整个过程不需要联网下载额外脚本用系统自带工具就能完成。2. 前置准备gcursor 安装与主题目录规范在动手之前先把 gcursor 装上。Ubuntu 10.04 的官方源里就有这个包直接 apt 安装即可。如果你之前已经装过但没生效建议先 purge 掉再重装避免残留配置干扰。sudo apt-get update sudo apt-get install gcursor安装完成后先别急着打开图形界面。gcursor 的图形界面在旧版 GNOME 下偶尔会卡住我们直接用命令行操作更稳。接下来要确认主题目录结构这是整个流程里最容易出错的地方。指针主题必须放在~/.icons/下面而且目录层级有严格要求。假设你下载的主题叫MyCursor那么正确的结构应该是~/.icons/ └── MyCursor/ ├── index.theme └── cursors/ ├── left_ptr ├── hand2 ├── xterm ├── watch └── ...其他指针文件注意几个关键点~/.icons和cursors这两个目录名不能改MyCursor这个名字可以自定义但必须和后面 gconf 里填的名称完全一致。cursors目录下必须包含完整的指针文件集合不能只放一两个。如果主题包解压出来是MyCursor/cursors/这种结构直接整个文件夹拷进~/.icons就行如果解压出来多了一层比如MyCursor/MyCursor/cursors/那就要把内层挪出来。你可以用下面这条命令快速检查目录结构是否正确find ~/.icons/MyCursor -maxdepth 2 -type d正常输出应该能看到~/.icons/MyCursor和~/.icons/MyCursor/cursors两层。如果只看到一层说明主题包结构不对需要手动调整。提示有些主题包只提供 PNG 图片而没有编译好的 cursor 文件这种主题在 X11 下无法直接使用。判断方法是看cursors目录下有没有left_ptr这类无扩展名的文件如果全是.png那还需要用xcursorgen转换本文不展开。3. 可复制配置gconf 与 alternatives 双管齐下主题目录准备好之后进入核心配置环节。这里要同时改两个地方缺一不可。第一步用 gconftool-2 设置 GNOME 的指针主题。把MyCursor替换成你自己的主题文件夹名gconftool-2 --set /desktop/gnome/peripherals/mouse/cursor_theme --type string MyCursor执行完可以用 get 验证一下是否写入成功gconftool-2 --get /desktop/gnome/peripherals/mouse/cursor_theme如果返回MyCursor说明 gconf 这一层已经生效。第二步处理/etc/alternatives/x-cursor-theme。这个文件其实是一个符号链接指向实际的 cursor 主题目录。Compiz 和部分 X11 程序会读这个链接。先看看它当前指向哪里ls -l /etc/alternatives/x-cursor-theme你会看到类似- /usr/share/icons/IDM-White/cursors的输出。我们需要把它重新指向~/.icons/MyCursor/cursors。注意这里要用绝对路径而且因为涉及系统目录需要 sudosudo rm /etc/alternatives/x-cursor-theme sudo ln -s /home/你的用户名/.icons/MyCursor/cursors /etc/alternatives/x-cursor-theme把你的用户名换成实际的 home 目录名。做完之后再次ls -l确认链接指向正确。有些教程会让你直接 sed 替换/etc/alternatives/x-cursor-theme文件内容但那个文件本身是符号链接sed 操作容易把链接变成普通文件反而搞坏。用rm加ln -s更干净。第三步如果你用的是 Compiz还需要确认 Compiz 的指针插件没有覆盖设置。打开ccsmCompizConfig Settings Manager找到Mouse Position或者Move Window这类和指针相关的插件确保没有勾选强制使用内置指针的选项。Ubuntu 10.04 默认的 Compiz 配置一般不会强制覆盖但如果你之前折腾过建议检查一下。4. 验证请求注销重登与效果确认配置改完之后不需要重启整个系统但必须注销当前会话再重新登录。因为 X11 的 cursor 主题是在会话启动时加载的热切换在旧版 GNOME 下支持不完整。注销命令可以直接在终端执行gnome-session-save --logout重新登录后把鼠标移到桌面空白处、文件管理器窗口、Firefox 内容区、终端窗口这几个位置分别观察。正常情况下所有位置的指针样式应该统一变成新主题。如果桌面变了但 Firefox 没变说明 gconf 生效了但 Firefox 有自己的指针缓存关掉 Firefox 再开一次即可。如果 Firefox 变了但桌面没变说明 alternatives 没改对回去检查符号链接。你还可以用xrdb查询当前 X11 资源里记录的 cursor 主题名xrdb -query | grep -i cursor如果输出里有Xcursor.theme: MyCursor说明 X11 层面也认到了新主题。没有输出也不代表失败因为 Ubuntu 10.04 默认不一定把 cursor 主题写进 xrdb以实际视觉效果为准。实测下来注销重登是最可靠的方式。如果注销后仍然只有部分程序变化可以尝试在~/.Xresources里显式加一行Xcursor.theme: MyCursor然后执行xrdb -merge ~/.Xresources再注销重登。这个文件在旧版系统里对指针主题的优先级比较高能压住一些程序的默认行为。5. 本篇常见错排查问题一gcursor 里能看到主题但选中后没反应。这是因为 gcursor 只写了 gconf没动 alternatives。按第 3 节的步骤手动改/etc/alternatives/x-cursor-theme即可。另外确认主题是否真的在~/.icons下gcursor 有时会把主题装到/usr/share/icons而 gconf 读的是用户目录。问题二注销后指针变成默认的黑色大叉。说明 alternatives 链接指向了一个不存在的路径或者cursors目录下缺少left_ptr文件。用ls -l /etc/alternatives/x-cursor-theme检查链接目标再ls那个目标目录看文件是否完整。路径里如果有空格或中文也会导致加载失败建议主题文件夹名只用英文和数字。问题三Compiz 开启后指针闪烁或残影。这是 Compiz 的合成器和 cursor 主题的尺寸不匹配导致的。Ubuntu 10.04 默认指针尺寸是 24如果你的主题只提供了 32 或 48 的 cursor 文件Compiz 缩放时就会出问题。解决办法是在~/.icons/MyCursor/cursors里确认有 24 尺寸的文件或者用gconftool-2把指针大小调成主题支持的尺寸gconftool-2 --set /desktop/gnome/interface/cursor_size --type int 24问题四终端里指针正常一进桌面就变回旧样式。这通常是 GNOME 的gnome-settings-daemon在会话启动后期又覆盖了一次 gconf 设置。可以在系统 - 首选项 - 启动应用程序里检查有没有自定义的 cursor 设置脚本或者把 gconf 设置命令加到~/.config/autostart里让它在会话启动最后执行一次。问题五改了 alternatives 之后 sudo 命令报权限错误。/etc/alternatives目录普通用户没有写权限所有涉及该目录的操作都必须加sudo。另外rm和ln要分开执行不要用ln -sf直接覆盖旧版 coreutils 对符号链接的-f处理有时会失败。6. 后续调整与工具入口指针换好之后如果你还想在旧版系统里做更多桌面定制比如调整 GTK 主题、图标包、窗口边框思路和指针是一样的先确认配置文件位置再确认有没有第二套机制在覆盖。Ubuntu 10.04 的 GNOME 2 桌面里gconf 是主要配置源但 Compiz、Metacity、X11 各自有独立的读取路径遇到“改了没效果”时优先怀疑是不是只改了一处。对于需要频繁切换模型来查资料、对比配置方案的朋友可以试试 TaoToken 的模型对话功能把报错信息和配置文件贴进去让它帮你分析路径问题https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel_chat如果你是在做老系统兼容性开发需要长期跑代码验证Coding Plan 更适合这种场景https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding_plan接入相关的 API Key 管理和文档入口在这里https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi_keys 以及 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc最后提醒一句改/etc/alternatives之前最好先记下原始链接指向万一新主题有问题一条ln -s就能切回去。旧版系统的图形界面恢复能力有限命令行留好后路比什么都强。
返回列表