fvwm窗口管理器:定制化你的桌面体验
Fvwm是一个高度定制化的窗口管理器,它可以允许用户完全控制桌面的外观、功能甚至是行为。而且Fvwm非常轻量级,能够充分优化你的系统,使其更加具有响应性和高效。
想象一下,你是一个拥有强烈个性化需求的用户,对于现有的桌面风格和外观无感,且对于Windows和macOS这样的主流操作系统不感兴趣。然而,你却发现自己的需求难以满足,因为大多数桌面环境和必要组件已经被预先安装好了,你需要解决的问题是,如何完全控制自己的桌面,从而让它适应你的工作流程和需要。
这时候,Fvwm窗口管理器便呼之欲出。它提供了一个基本框架,可以允许用户完全自由地配置桌面。如果你想把某个区域的桌面图标隐藏起来,用快捷键来代替这个区域,Fvwm允许你为此编写脚本。如果你希望创建一个个性化的菜单,Fvwm可以允许你编写菜单并开发插件,使它们与你的需要完全对应。
除了更多的控制权和定制化程度外,Fvwm还带来了一些性能优势。它是一个非常轻量级的桌面管理器。由于它允许放置更少的图形效果和小程序,所以不会造成系统性能问题,这可以让你从工作中解放出更多的资源。
接下来,我将介绍如何安装Fvwm并进行基本的配置。然后我们将一步一步地学习如何使用其强大的配置选项定制化自己的桌面环境。
安装Fvwm
要安装Fvwm,请打开终端并输入以下命令:
```
sudo apt-get update
sudo apt-get install fvwm
```
安装后,您会立即看到Fvwm以默认方式启动,并且您将在一个基本的桌面上运行。这里的桌面非常简单且不具有任何特定的模式或外观,但是我们可以使用自己的配置来定制它。
最简单的配置选项是在`.xinitrc`和`.xsession`文件中定义,这两个文件都位于您的家目录中,并控制着X环境的启动方式。如果您使用的是Ubuntu,则可以在终端中通过以下命令编辑它们:
```
nano ~/.xinitrc
nano ~/.xsession
```
这两个文件区别在于,`.xinitrc`是在启动X Window时直接运行的脚本,而`.xsession`是一个shell脚本,由桌面环境启动。
要在这些文件中添加Fvwm,我们需要首先确保`fvwm`命令位于`PATH`变量中。我们可以通过添加以下行来做到这一点:
```
export PATH=$PATH:/usr/bin/fvwm
```
接下来,我们需要在`~/.xinitrc`和`~/.xsession`文件中添加针对Fvwm的启动命令。如果您想使用Fvwm为默认桌面管理器,请使用以下命令:
```
exec fvwm
```
如果您希望使用Fvwm作为替代桌面管理器,则可以使用以下命令:
```
fvwm &
exec gnome-session
```
这命令首先启动Fvwm并放到后台,然后exec直接跳过X Window Manager的默认设置,将其替换为gnome-session。
然后保存更改并退出文本编辑器。现在,您可以使用以下命令关闭并重新打开X环境,以查看Fvwm的更改:
```
sudo service gdm3 stop
startx
```
然后,您应该已经可以看到Fvwm了。
配置Fvwm
安装和启动Fvwm后,可以使用自定义配置文件快速开始配置O。 Fvwm的配置文件称为.fvwmrc,可以从以下位置进行创建和编辑:
```
nano ~/.fvwm/.fvwmrc
```
通过在配置文件中添加以下内容并保存:
```
Style "*" NoTitle, NoHandles, BorderWidth 0, HandleWidth 0, BorderColorset 12
*Background: #121212
*Foreground: #c1c1c1
*Font: xft:Liberation Sans:size=12
```
这些选项定义了默认样式、背景、前景以及字体大小。由于Fvwm使用标准X资源配置语法进行定义,因此您可以使用所有标准的颜色和字体设置选项来自定义Fvwm。
下面是几个常用的配置选项:
#### 1. 数据库(Database)
Fvwm使用一个内部数据库,该数据库存储有关用户自定义样式、菜单和快捷键的信息。可以使用以下命令打开Fvwm数据库管理器:
```
fvwm-menu-desktop --create-menu-database
```
#### 2. 样式 (Style)
Fvwm是一个矢量窗口管理器,因此将窗口图形绘制成矢量图形而不是位图。此外,Fvwm还支持数百种不同的窗口风格,包括外观、窗口边框和标题栏的位置、按钮等等。要应用样式,请使用以下命令:
```
Style window_name style_definition
```
例如:
```
Style Firefox NoTitle, NoHandles, BorderWidth 0, HandleWidth 0, BorderColorset 12
```
这可以将Firefox浏览器的窗口样式更改为样式定义。
#### 3. 快捷键 (Key Bindings)
Fvwm可以按键的方式来解锁其真正的力量。快捷键可以用来触发特定的操作、菜单、应用程序等。快捷键定义的语法与X Window系统中使用的xmodmap命令相同。 Fvwm需要定义绑定,就像下面这样:
```
Key Combination FS
{
Exec firefox
}
```
这里的`FS`表示当您同时按下F和S键时执行Firefox浏览器。
#### 4. 标签页(Tabs)
Fvwm允许用户将标签页与任何选定的窗口关联起来。这使得管理并组织桌面变得非常容易。要在Fvwm中创建新标签,请使用以下命令:
```
ExecTab "Graphics" exec "gimp"
```
这将创建一个新标签页并指定其名称为“Graphics”,同时执行GIMP应用程序。
最后,让我们深入研究一下使用Fvwm的实际示例,以了解其真正的力量。
实际操作
接下来,让我们创建一个名为“myfvwm”的自定义桌面环境,并说明如何定制它以适合您自己的需求。
* 创建配置文件
首先,进入终端,打开文本编辑器并创建新文件:
```
mkdir ~/.fvwm
touch ~/.fvwm/myfvwm
nano ~/.fvwm/myfvwm
```
向该文件中添加以下内容:
```
##################################
# Setting up desktop environment #
##################################
# Setting up desktop position and size
DesktopSize 3x3
# Setting up default terminal window appearance
Style "Terminal" NoTitle, NoHandles, BorderWidth 0, HandleWidth 0, UseDecor off
# Setting up default menu appearance
MenuStyle "*" BorderColorset 13, ReliefStyle Raised, BorderWidth 1
# Setting up default font
*Font "xft:Liberation Sans:size=10"
# Setting up desktop background
InitFunction "I" exec ${FVWM_SCRIPTDIR}/backgrounds/backgrounds.sh
# Setting up the exit menu
AddToMenu ExitMenu "Exit"
+ "Logout" Transient $[fvwm_version] ("Are you sure you want to log out?" Quit)
```
这里的文件包含对桌面大小、终端和菜单外观、默认字体和背景的更改。此外,还添加了一个退出菜单。
#### 2. 设置桌面背景
为Fvwm设置桌面背景需要在配置文件中编写脚本,我们将在此例中通过调用backgrounds.sh 脚本来完成此操作。 background.sh脚本包含以下内容:
```
#!/usr/bin/env bash
##################
# Fvwm backgrounds
##################
if [ -n "$1" ]; then
case "$1" in
'bangladesh')
bg="/usr/share/wallpapers/wallpapers-powder-room/bangladesh.jpg"
feh --no-fehbg --bg-fill "$bg"
;;
'blue_arrows')
bg="/usr/share/wallpapers/wallpapers-euluc/blue_arrows.jpg"
feh --no-fehbg --bg-fill "$bg"
;;
*)
echo "no such background"
;;
esac
else
echo "Usage: $0 background_file"
fi
```
这个脚本使用`feh`命令设置桌面背景。 我们接下来要在 Fvwm 配置文件中使用此脚本。 在我们的配置文件中,我们添加以下代码:
```
InitFunction "I" exec ${FVWM_SCRIPTDIR}/backgrounds/backgrounds.sh 'bangladesh'
```
当您重启Fvwm并在登录时输入此命令时,就会出现Bangladesh作为你的默认背景。
#### 3. 添加新的App Launcher和菜单
接下来我们来看看如何添加新的App Lancher比如GIMP。
```
# adding Gimp to menu
AddToMenu Apps "Applications"
+ "Gimp" Exec exec gimp
# setting up Gimp's style
HiddenGimpDecor 1
Style Gimp NoTitle, NoHandles, BorderWidth 0, HandleWidth 0, UseDecor off
```
这里创建一个新菜单并添加了GIMP应用程序。设置样式,使Gimp的装饰关闭。现在,当你打开你的菜单并选择Gimp时,你会发现在GIMP的窗口上没有标题栏和菜单栏。
#### 4. 改变桌面菜单
Fvwm还允许用户定制主菜单和上下文菜单。通过打开.fvwmrc文件,输入以下代码并保存此代码,我们可以创建一个包含新菜单选项的新菜单:
```
AddToMenu MyMenu "My Menu"
+ "New Menu Item 1" Exec exec firefox
+ "New Menu Item 2" Exec exec gimp
+ "New Menu Item 3" Exec exec gnome-terminal
```
在这个菜单中,我们添加了三个新项,每个项都有不同的执行动作。
#### 5. 设置快捷键
好了,我们来了解一下如何在Fvwm的控制下使用快捷键调整程序,如何让您在使用计算机时的时间可以更加自由而不是被时间所限制。
```
# mod key definition
Key Left A M Scroll 1 0 # Move Left One Workspace
Key Right A M Scroll -1 0 # Move Right One Workspace
Key Up A M Scroll 0 1 # Move Up One Workspace
Key Down A M Scroll 0 -1 # Move Down One Workspace
# Bind mod key
Key A M A Menu MenuFvwmRoot
Key F M A Exec exec firefox
Key G M A Exec exec gimp
```
现在,您可以尝试使用`A +`方向`键`通过您的工作区间跳转。您还可以使用`A+F`组合键来启动Firefox,使用`A+G`组合键来启动Gimp。
#### 6. 添加动画
最后,您可以使用Fvwm的Xfce窗口管理器完全控制所有窗口行为。要在Fvwm中禁用整个窗口的动画效果,请在.fvwmrc文件中添加以下行:
```
SetAnimation Off
```
这将完全删除窗口效果,使您的桌面开发的更加站式。
总结
Fvwm(虚拟窗口管理器)提供了一种通过简化桌面管理和使用定制选项来优化计算机性能的方式。通过简单的编辑和编写几行脚本,您便可以全面掌控您的桌面和选项——性能和周边功能都不断扩展。
虽然Fvwm的定制可能非常深入,在很大程度上取决于用户的需求,但是一旦您开始以这种形式定制您的桌面,您将很快体验到量身定制桌面所带来的机会,将您的电脑实现您的想象。