Arch Linux桌面特效(Xfce4)使用compiz
我前面写了文章介绍如何美化Xfce4(macOS like),本文将在之前基础之上更进一步,使用compiz窗口管理器实现桌面窗口的特效。
注意:使用和配置compiz可能会导致系统图形界面无法进入,一定要有足够的命令行经验以便在安装设置失败的情况下进行恢复。
安装compiz (from AUR)
这个是编译安装,时间可能稍微有点久,中间可能还会要求输入密码,所以要关注着点安装进程。终端执行以下命令:
yay -S compiz
配置compiz
在应用程序菜单搜索ccsm
compiz设置管理器并启动。在设置里面默认我们不需要修改任何东西,也不建议在这时修改里面的配置,等compiz正常运行后我们再修改。
有几个重要的插件提供基础功能,见下面(一些基础功能默认都会选中,所以如果不太清楚可以完全使用默认设置):
重要的插件:
- Window Decoration(窗口装饰) —— 提供窗口边框
- Move Window(窗口移动)
- Resize Window(窗口缩放)
- Place Windows(窗口放置) —— 设置关于窗口在屏幕上放置的选项
- Application Switcher(程序切换) —— 提供 Alt+Tab 开启的程序切换器(另外也有一些插件可以实现这个功能,而且具有不同的效果,比如 'Shift Switcher,' 'Static Application Switcher' 等等。并不是所有的切换器都是用 Alt+Tab 快捷键)。
想要在不同的虚拟桌面之间切换,需要激活以下其中一个插件:
- Desktop Cube(立体桌面)和Rotate Cube(旋转立体) —— 提供一个可以浮空的立方体,每个面都是一个视口(虚拟桌面)。
- Desktop Wall(桌面墙壁) —— 虚拟桌面全部并排陈列在一起
- Expo —— 当鼠标移动到屏幕左上角的时候,显示出全部的虚拟桌面和窗口。这个插件可以单独激活,或者是和前两个一起用不会冲突。
替换xfwm4
Xfce4默认使用xfwm4
窗口管理器,使用compiz将其替换。配置文件:
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml #单用户
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml #系统范围
根据需要修改上面配置文件,找到以下内容,将xfwm4
替换成compiz
即可。
<property name="Client0_Command" type="array">
<value type="string" value="xfwm4
"/>
</property>
快捷命令
对于单个用户可以使用终端命令快速设置:
xfconf-query -c xfce4-session -p /sessions/Failsafe/Client0_Command -a -s compiz
清除当前保存会话
Xfce通常会在logout时保存当前会话,以便下次登录时可以恢复之前打开的应用程序,当我们调整窗口管理器为compiz后,需要清除之前已经保存的会话,并在第一次注销时不保存当前会话。
打开设置管理器
打开Session and Startup(会话和启动),进入Saved Sessions(保存会话)项,点击Clear Saved Sessions(清除已保存的会话)
清除已保存的会话
快捷命令
rm -rf ~/.cache/sessions
重新登录
完成以上设置后,现在可以注销重新登录了。注销前需确保“保存会话”没有被勾选,否则刚才的上面的设置不会生效。 再次登录正常来说Compiz就会运行了(这时如果出现问请看后面的问题和恢复
)。当Compiz正常运行之后,可以重新钩上“保存会话”以保存之后的会话。
Compiz正常运行后就可以使用ccsm
compiz设置管理器,配置各种特效了,但要一定要注意特效的配置很容易导致图形界面崩溃,所以不清楚的一定不要乱点。
设置
如果按照我之前的Xfce4美化的文章设置过桌面环境,你可能会发现窗口按钮样式变得和macOS主题不一致了,并且窗口按钮到了右边,这是因为compiz默认使用了gtk-window-decorator
来装饰窗口,而这个窗口装饰器使用metacity
来支持主题样式,我之前推荐的主题是Xfce4专属的,没有metacity
支持,所以我们需要单独的设置。
窗口按钮
使用下面命令设置窗口显示哪些按钮,并且移动按钮到左边。
gsettings set org.gnome.desktop.wm.preferences button-layout "'close,minimize,maximize:menu'"
窗口主题
下载脚本compiz-gtk-decorator-theme-selector
,这是一个为窗口选择主题的脚本。运行后会打开一个主题选择界面,这里会显示所有支持metacity
装饰的主题,如果你的系统安装了支持metacity
的macOS样式的主题,选中点应用即可。
资源下载
链接: https://pan.baidu.com/s/1tbGqW4WwVuyNUa7X8bTqMA 提取码: 7rau
compiz-gtk-decorator-theme-selector
窗口装饰metacity
主题选择脚本,下载后chmod +x
给上可执行权限,直接运行即可。
macOS-WM
我自己制作的metacity
主题,解压到/usr/share/themes
目录。
我最爱的设置
设置虚拟桌面
compiz安装完成后,虚拟桌面默认是一行四个,我不太喜欢,改成两行两个桌面(你可以随便设置八个、九个,四个对于我足够用了)。
General->General Options->Desktop Size
启用Expo插件
Expo插件提供一个桌面预览效果,默认Super
+e
快捷键或者鼠标左上角热点触发,我不喜欢左上角,因为我的左上角有应用程序菜单,容易误触,改成左下角。
Desktop->Expo->Bindings->Expo Corner/Edge
启用Wobbly Windows(震颤窗口)
Effects->Wobbly Windows
启用该插件后,在窗口移动时会有动态效果。
启用Shift Switcher
Window Management -> Shift Switcher,Static Applicatoin Switcher的增强版并且何其不冲突,可以两个都打开。此插件提供立体切换效果,默认快捷键Super
+Tab
。
最小化效果
Effects->Animations->Minimize(最小化)/Unminimize(恢复)设置动画效果为Magic Lamp
,一个类似macOS的动画。
注意
再次强调一下,ccsm是一个高级compiz设置工具,里面一些设置如果不明白是什么不要随便点,容易把图形界面弄没。还有一些插件提供相同或者类似的功能是不能同时启用的。本文只介绍了我自己喜欢使用的几个插件,其他插件感兴趣的人可以自己摸索。像什么桌面立方体、火焰效果,水波纹效果,都可以尝试,但这些感觉不太实用,所以我也没提。
杂项
安装breeze主题,这是一个kde风格的主题,我主要喜欢它的光标主题样式,安装完成后可以在设置管理器->鼠标和触摸板设置界面更改光标主题。
sudo pacman -S breeze breeze-gtk
问题和恢复
如果想恢复之前的
xfwm4
窗口管理器,恢复前面替换xfwm4
里面提到的配置文件即可。
如果重新登录后窗口管理器失效,可以用命令恢复使用原来的窗口管理器,Ctrl
+Alt
+T
打开终端,输入以下命令。然后可以再恢复之前修改的配置文件。
xfwm4 --replace
如果终端也无法使用,这就悲催了,你需要进入tty模式Ctrl
+Alt
+F2
,强大的vim又派上用场了,编译以下文件,将compiz
再改回xfwm4
,然后reboot
重启。
vim ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
修改了太多compiz配置想恢复默认?
rm ~/.config/compiz-1/compizconfig/Default.ini