「LXDE」- Lightweight X Desktop Environment

是Linux下的轻量级桌面环境,使用资源少、基于组件的设计、操作简单、社区活跃。
组件列表
参考 LXDE 在 SourceForge 的项目主页:

lxdm 显示管理器(Display Manager)
LXTerminal 终端
GPicView 图片查看器
LXMusic 音乐播放器
LXTask 任务管理器
menu-cache
LXAppearance
LXHotkey
LXPanel 桌面面板
lxmenu-data
LXAppearance
lxde-common
LXSession
LXRandR
LXInput
LXDE
LXLauncher
LXPolkit
LXShortcut
LXSession
LXNM
GtkNetCat
LXSession

共计23个。
参考文档
访问LXDE主页 获取LXDE源码[……]

READ MORE

「LXDE」- 安装

(05/01/2019) Kali Linux
How to install/remove LXDE Desktop Environment in Kali Linux ArchWiki/LXDE

# 安装
apt-get install lxde-core lxde kali-defaults kali-root-login desktop-base

# 启动
startx startlxde # 从命令行(TTY)启动

# 卸载
apt-get remove lxde-core lxde

# 如果启动失败:
# 可能是因为~/.config/lxsession/中的配置存在问题
# 重命名该文件以备份,然后重新启动:startx startlxde

Ubuntu 20.04
LXDE – Community Help Wiki

apt-get install lxde

apt-get install lxdm[……]

READ MORE

「LXDE」- 杂记

# 显示器的设置
「lxpanel moved to external monitor」 使用lxrandr(1)设置显示器,并保存后,会生成$HOME/.config/autostart/lxrandr-autostart.desktop文件。也就是说在开机启动时,自动设置显示器。
也可以使用arandr(1)命令设置显示器。
如果你发现显示器的分辨率不对(比如你的显示器是1920×1080的),即选择分辨率的时候没有你期望的分辨率,或者没有应该有的分辨率。那出现这个问题通常是/etc/X11/xorg.conf文件配置不对,没有识别出正确的模式。可以「使用xrandr –addmode命令添加模式」(临时)或者「使用Xorg :1 -configure命令重新生成xorg.conf文件」(持久)。重新生成的xorg.conf文件可以自动识别显示器支持的模式。[……]

READ MORE

「LXDM」

LXDM,LXDE桌面环境的轻量级“显示管理器”(Display Manager,简称DM)。LXDM的界面由GTK+2实现。 显示管理器(或者叫登录管理,就是常见的系统登录界面)有很多的实现,比如:GDM、KDM、LightDM、XDM等等。
LXDM Version 0.5.3,从sourceforge上看,最后一次的更新时间是2016-11-29。
章节列表

界面简介
相关程序及配置文件
LXDM配置及lxdm.conf配置文件
使用技巧和小方法
主题获取与定制

界面简介
下面是 LXDM 的截图:

当从“Session列表”中选择“Default”时,会加载默认的“Session”。什么意思呢?这里的Session列表就是界面中的“Desktop”,而“Session”指的是“窗口管理器”(Window Manager,比如FVWM、Fluxbox、Openbox等)。默认的“窗口管理器”可以在lxdm.conf中设置。关于lxdm.conf配置文件下面会有介绍。注意:用户设置优先于全局设置。
相关程序及配置文件
LXDM相关的一些文件如下(这其中省略了一些.mo、图片等不重要的文件): /etc/init.d/lxdm /etc/insserv.conf.d/lxdm /etc/logrotate.d/lxdm /etc/lxdm-environment /etc/lxdm:保存了LXDM相关的配置文件

LoginReady,shell脚本,当LXDM准备好显示“登录窗口”时,以root权限执行改脚本。
PreLogin,shell脚本,在登录用户之前,以root身份运行。
PostLogin,shell脚本,在登录后,立即以登录用户的权限运行。
PostLogout,shell脚本,在退出后,立即以退出用户的权限运行。
PreReboot,shell脚本,重启LXDM之前运行。
PreShutdown,shell脚本,退出LXDM之前运行。
Xsession,系统范围的X session配置文件,通常不需要编辑,也没有必要除非你知道自己在做什么。
lxdm.conf,主配置文件,在它的注释中很好解释了各个参数。

/etc/pam.d/lxdm /lib/systemd/system/lxdm.service /usr/bin/lxdm-config, /usr/lib/lxdm/lxdm-greeter-gdk /usr/lib/lxdm/lxdm-greeter-gtk /usr/lib/lxdm/lxdm-numlock /usr/lib/lxdm/[……]

READ MORE

「LXDM」- 主题开发

LXDM wiki 上关于主题开发的内容比较少,只有默认主题中的gtkrc和greeter.ui文件的简单介绍。
相关的文件
LXDM中的主题/usr/share/lxdm/themes下。下面是/usr/share/lxdm文件夹的介绍(其中省略了一些无关的图片文件): . ├── config.ui ├── lxdm.glade └── themes

└── Industrial

├── greeter-gtk3.ui
├── greeter.ui
├── gtk.css
├── gtkrc
├── index.theme
└── imgs

config.ui: 配置工具lxdm-config的界面布局文件 lxdm.glade: 没有找到相关的说明,根据内容猜测,可能是备用(设置的主题未找到)的布局文件。 themes: 用于存放所有的主题。 Industrial: 某个主题的目录,包含了主题相关的文件。 greeter-gtk3.ui: 主界面的布局文件。针对GTK+ 3 greeter.ui: 主界面的布局文件。针对GTK+ 2 gtk.css: 样式表,定义了一些样式 gtkrc: 包含了样式定义和控件创建命令 index.theme: 主题描述说明信息 imgs: 图片文件
greeter.ui
https://wiki.lxde.org/en/Greeter.ui
greeter.ui文件定义了LXDM界面的布局及其包含的小部件。
gtkrc
https://wiki.lxde.org/en/Gtkrc
gtkrc 文件由两部分组成: 1)样式定义 2)gtk小部件创建命令
样式定义
第一个部分的样式,描述了LXDM如何绘制背景。通过修改file=attribute来修改背景图:

style “back”
{
engine “pixmap”
{
image
{
function = FLAT_BOX
shadow=NONE
state = NORMAL
file=”wave.svg”
stretch=TRUE
detail = “base”
}
}
}

本小节,通过描述time显示格式和登录/密码prompt来定义time和prompt的样式(在greeter.ui文件中建立为对象):

# 编辑fg[normal]=attribute来更改相应的文本颜色。
# 编辑font_name=attribute来更改字体/大小

style “time”
{
fg[NORMAL]=”#ffffff”[……]

READ MORE

「LXDE」- LXPanel

安装服务

# Kali GNU/Linux Rolling
apt-get install lxpanel

安装的可执行程序
lxpanel,桌面面板程序。
lxpanelctl,lxpanel的控制程序。用于重启、执行命令、显示菜单等等。
相关配置文件
~/.config/lxpanel/PROFILE/,config files directory, can be edited by preference dialog. ~/.config/lxpanel/PROFILE/gtkrc,optional GTK+ 2.0 RC file to alterate appearance, can be used to create custom panel style.
参考文献
dpkg -L lxpanel | grep bin[……]

READ MORE

「LXDE」- PCManFM

问题描述
本文将介绍在LXDE中的PCManFM的相关内容。它是一个文件管理器,非常的轻量级。
相关杂记
# 设置图标对齐
-「How to align desktop icons to grid in LXDE/Openbox?」 -「New to mate – align desktop icons?」
You highlight the icons you want, then you right click on one of them and you select from the menu that is popping to “Align to grid” and automatically they will align to grid.
在我的版本中是「Snap to Grid」按钮。
# 修改桌面图标大小
-「How can I change the icon size on lubuntu’s desktop?」
因为,在LXDE中,桌面图标由PCManFM进行管理的,所以在PCManFM中进行设置,Menu → Edit → Preferences → Display,即可。[……]

READ MORE

「LXDE」- 常见错误汇总

#1 启动lxde桌面时,“黑屏”
「How to install gail and atk-bridge?」 「Introducing ATK, AT-SPI, GAIL and GTK+」
# 问题描述 这种问题没法描述,它就是黑屏了,但是没有退出,桌面任何反应都没有
# 问题原因 原因找到了:在$HOME/.gtkrc-2.0中的gtk-modules=”gail:atk-bridge”配置行导致的。
(没有找到相关的日志。最后只能使用排除法,重命名$HOME/的配置文件后,正常启动。然后,逐步恢复配置文件,直到找出导致问题的配置文件。)
# 解决办法 注释掉导致问题的配置行。
「ATK – Accessibility Toolkit」 ATK提供“由其他工具包和应用程序实现”的一组可访问性接口。使用ATK接口,「辅助功能工具」可以完全访问查看和控制正在运行的应用程序。屏幕阅读器、放大镜、输入设备等工具使用ATK,以通过其他方式与桌面进行丰富的交互。
「GAIL – GNOME Accessibility Implementation Library」 它为「GTK+控件」实现了ATK接口,在「GTK+应用」运行时动态加载。一旦加载,应用程序中使用标准GTK+控件的部分就可以拥有基本的辅助功能,也就是说不需要修改应用程序。换句话说:「GAIL」在「GTK库」的层面是实现了「辅助功能」,因此「应用程序」不需要要修改代码也可以支持「辅助功能」。[……]

READ MORE

「Unity」- 是 GNOME 桌面环境的图形外壳

Unity 是 GNOME Shell 的替代,是为了替代 GNOME 2 界面(并不是为了替代 GNOME 2 桌面),在 Ubuntu 11.04 中首次发布。
随后(2017)Ubuntu 迁移到 GNOME 3 桌面,并结束 Unity 的开发。在 Ubuntu 17.04 中,引入 GNOME 3 桌面。
Saraswat 又继续 Unity 的开发。如果还希望使用 Unity 桌面,能够下载 Ubuntu Unity 20.04 LTS 发行版进行体验。
Unity 配置工具
compizconfig-settings-manager dconf-editor unity-control-center unity-tweak-tool Unity Tweak Tool
我们的基础配置
移动 Launcher 位置
从 Ubuntu 11.04 中首次发布 Unity 以来,它就一直被固定在系统左侧。
但从 Ubuntu 16.04 开始,用户已经可以手动选择将 Unity 栏放在桌面左侧或是底部显示,目前还没办法将其移动到顶部或右侧。

gsettings set com.canonical.Unity.Launcher launcher-position Bottom

安装Gnome的经典主题

apt-get install gnome-session-flashback

Unity界面添加经典菜单

add-apt-repository ppa:diesch/testing
apt-get update
apt-get install classicmenu-indicator

使Windows的Menu始终显示(取消鼠标浮动显示)

Dash最大化:默认Dash不是最大化的,后来在Ask Ubuntu上

Ubuntu 16.04 TLS root登录无法调整声音:因为pulseaudio没有启动

参考文献
Unity (user interface) – Wikipedia Ubuntu Unity – Wikipedia Ubuntu 16.04 LTS安装好需要设置的15件事(喜欢新版本) Ubuntu 14.04下安装Gnome经典桌面 ClassicMenu Indicator : 为 Unity 界面添加经典菜单 相关小程序[……]

READ MORE

「LightDM」- Light Display Manager

Homepage: https://launchpad.net/lightdm Wikipedia/LightDM: https://en.wikipedia.org/wiki/LightDM
配置工具
lightdm-gtk-greeter-settings Homepage: https://launchpad.net/lightdm-gtk-greeter-settings
相关配置教程及文档
https://wiki.archlinux.org/index.php/LightDM
常见问题处理
This session is locked
问题描述:LightDM 有时候会出现 This session is locked. 的提示。 解决方案:如果不需要功能可以关闭或卸载 light-locker:apt-get purge light-locker[……]

READ MORE

「LINUX-DESKTOP」- 构建自己的 Linux Desktop 环境

[……]

READ MORE

「Dispay Manager」- 显示管理器(“登录界面”)

[……]

READ MORE

「SDDM」- Simple Desktop Display Manager

Display Manager,显示管理器,我们将其称之为 “登录界面”。
在 lubuntu(Ubuntu 20.04 LTS) 中,使用 SSDM 作为显示管理器,因此我们整理该笔记,记录 SSDM 的某些设置。
设置用户自动登录
SDDM – ArchWiki/Autologin

mkdir -pv /etc/sddm.conf.d/
cat > /etc/sddm.conf.d/autologin.conf <<EOF
[Autologin]
User=k4nz
Session=Lubuntu.desktop
EOF

其中:User 为自动登录的用户名;Session 为窗口管理器,值为在 /usr/share/xsessions/ 中的某个 .desktop 文件,用于启动窗口管理器(如果使用 Wayland 环境,则参考 /usr/share/wayland-sessions/ 目录)。
我们要自动登录 k4nz 用户,而在 lubuntu(Ubuntu 20.04 LTS) 中使用 Lubuntu.desktop 窗口管理器(我们查看进程,并与 .desktop 文件 Exec 对比,推测出应该使用 Lubuntu.desktop 文件),因此设置如上。
在重新启动系统时,用户可以自动登录,表示设置成功。[……]

READ MORE

「XDM」- X Display Manager

配置会话
与其他显示管理器(GDM、LightDM)不同,XDM不会从/usr/share/xsessions/中的.desktop文件中获取可用会话。因此,XDM没有“会话菜单”。
相反 XDM 将执行 $HOME/.xsession 文件。例如,要在登录时启动 xfce 桌面,则 $HOME/.xsession 内容应为:

startxfce4

然后设置文件为 700 权限:chmod 700 ~/.xsession
其他的设置
其他的设置,比如主题、壁纸等等,可以参考 ArchLinux 中的 XDM 页面。
参考文献
ArchLinux/XDM[……]

READ MORE

「Windows Manager」- 窗口管理器

窗口管理器
FVWM
XMonad
i3wm
Emacs X Window Manager
窗口管理工具
ssokolow/quicktile 现有 X11 窗口管理器的键盘驱动窗口平铺,通过该工具,我们能够快速调整窗口位置和大小。
参考文献
Metacity – Wikipedia[……]

READ MORE

「Desktop」- Compositing Window Manager

第一次接触「合成窗口管理器」是因为ScreenKey这个工具的背景无法透明。ScreenKey支持背景透明(Opacity),但是需要安装并运行“compton”、“unagi”、“xcompmgr”等等合成窗口管理器之一。
第二次接触“合乘窗口管理器”是因为Kazma截图时,桌面背景无法透明。自然而然的想到了它,然后运行了xcompmgr,然后Kazma截图时,桌面背景可以透明显示。
已知的合乘窗口管理器:“compton”、“unagi”、“xcompmgr”
参考文献
Wikipedia/Compositing window manager[……]

READ MORE

「FVWM」- Fvwm,X11窗口管理器(The F(?) Virtual Window Manager)

FVWM,是X Window系统的一个非常强大的、符合ICCCM兼容的多虚拟桌面窗口管理器。FVWM什么样子呢?这个很难说,它可以是任何样子,因为它的高度可定制性,决定它的千变万化,相关的「ScreenShot」可以参考官网中的列表,项目位于在「GitHub」托管。
Fvwm是X11的窗口管理器,旨在最大限度地减少内存消耗,并为窗口边框提供3D外观和虚拟桌面等功能。
Fvwm提供了一个大型的虚拟桌面(Vitrual Desktop)和多个分离的桌面(Disjoint Desktops),可以单独使用或者一起使用。虚拟桌面允许你假装你的屏幕很大,你可以在桌面上滚动。多个分离的桌面允许你假装有几个工作屏幕,但每个屏幕是完全无关的,等同于Linux下的Desktop Pager。
Fvwm提供的键盘快捷键允许您使用键盘快捷键进行窗口管理(移动、调整窗口大小、操作菜单等)。
Fvwm还克服了大多数窗口管理器中的配置命令和动作命令之间的区别。通常情况下,配置命令通常用于设置字体、颜色、菜单内容、键和鼠标功能绑定,而操作命令则用于升高、降低窗口。Fvwm没有这样的区别,并允许任何时候改变任何东西。
fvwm和其他X11窗口管理器之间的另一个差异是引入了SloppyFocus和NeverFocus方法来处理焦点。焦点策略可以为不同的窗口组分别进行指定。使用SloppyFocus的Windows获取焦点时,当指针进入它们并保持焦点,直到其他窗口获得它。当指针移动到根窗口时,这样的窗口不会失去焦点。NeverFocus策略通常针对无输入类型的窗口(例如xclock,oclock,xbiff,xeyes,tuxeyes),如果SloppyFocus窗口具有焦点,将指针移到有NeverFocus的窗口上时,NeverFocus的窗口不会剥夺焦点。
请注意,有几个窗口管理器名称中有“fvwm”。过去,fvwm的2.x版本通常被称为fvwm2,与之前的1.x版本(fvwm甚至fvwm1)区分开来。由于很久以前1.x版本已经被版本2.x所取代,所以我们在本文档中简单地调用2.x版本和所有版本fvwm,而可执行程序被命名为fvwm。有一个叫做fvwm95的fvwm后代,它大多是fvwm-2.0.43的补丁版本。 fvwm95的主要目标是提供Windows 95的外观和感觉。从那以后,fvwm得到了很大的提升,fvwm几乎可以实现所有fvwm95的功能。
桌面截图
#1 在面板中嵌入一个终端…… http://www.fvwm.org/screenshots/2005-02-17_Thomas_Adam-desk-1280×960/screenshot.png
#2 以某些日志或者软件为桌面背景 http://www.fv[……]

READ MORE

「FVWM」- 参考手册

http://www.fvwm.org/documentation/manpages/fvwm.html[……]

READ MORE

「FVWM」- 窗口的组成

窗口的四个组成部分
在FVWM中,大多数应用窗口的周围会被放置装饰性的边框。
应用窗口由以下几部分组成:

术语
别名
属于
描述

BAR
SIDE-BARS
BORDER
每侧都存在的「条」。四条边,每条变各一个。

L-SHAPED SECTION
FRAME
BORDER
每个角落都存在的「L形部分」。四个角,每个角各一个。

TITLE-BAR BUTTON
 
 
共计10个位于标题栏的「标题栏按钮」。

TITLE-BAR
 
 
用于显示窗口的名称位于顶部的「标题栏」。

其中BAR和L-SHAPED SECTION是BORDER的组成部分。
# 在这四个部分可以执行的操作
如果使用FVWM内置的最小配置:

调整大小:点击FRAME或SIDE-BAR并拖动「鼠标按钮1(左键)」,将执行窗口的调整大小操作。

移动窗口:点击FRAME或SIDE-BAR并拖动「鼠标按钮2(中键)」,将执行窗口的移动操作。

升降操作:单击「BORDER」可以用于窗口的提高(Raise)/降低(Lower)操作。「TITLE-BAR」也是如此。

关于标题栏按钮
最多可以有十个「TITLE-BAR BUTTON」,功能完全可以自定义。

一个流行的配置是:使用左侧的一个按钮,用来调出窗口选项列表;另外再使用右侧的两个按钮,用于图标化和最大化窗口。

另一个流行配置是:在右侧添加了一个关闭按钮。

标题栏按钮的使用数量取决于它们绑定了哪些鼠标动作(只有绑定了才会显示)。相关介绍可以参阅「Mouse」指令。[……]

READ MORE

「FVWM」- 虚拟桌面(让你桌面比屏幕更大)

在FVWM中,为用户提供了「虚拟桌面」的功能。
什么是「虚拟桌面」?
「屏幕」是在一个「桌面」上的一个视口,「桌面」可能大于「屏幕」。
可以访问多个不同的「桌面」(概念:当「视图」应用程序不同时,每个项目一个「桌面」,或每个应用程序一个「桌面」)。
由于每个「桌面」可以大于物理显示器,每个桌面被分为「m*n」个「页」,每个「页」的大小等于物理屏幕的大小,可以轻松查看大于屏幕的窗口或一大组相关窗口。
「虚拟桌面」的大小?
虚拟桌面的大小(m*n,「页」个数)可以使用DesktopSize命令控制。所以的虚拟桌面的大小必须相同。
不同桌面的总数不需要指定,但总数约为40亿。
可以在「FvwmPager」中查看各种「桌面」上的所有「窗口」,「FvwmPager」是「桌面」的微缩视图。「FvwmPager」是一个称为模块的附件程序,对于「窗口管理器」来说,它不是必需的。
可以在窗口列表中列出窗口(连同它们的「几何形状」),可以作为弹出菜单访问,也可以作为单独的窗口列出,称为「FvwmWinList」(另一个模块)。
窗口的层级
在FVWM中,以分层堆叠顺序将桌面保持在桌面上;较低层中的窗口永远不会遮挡较高层中的窗口。
可以使用Layer指令更改窗口的「层」。「层」的概念是旧版FVWM的StaysOnTop标志的概括。在Style选项中的StaysOnTop和StaysPut现在通过将窗口放在合适的图层中来实现,并且添加了之前缺少的StaysOnBottom选项。
粘贴性窗口
“粘贴(Sticky)窗口”是通过“粘在屏幕玻璃”上而越出「虚拟桌面」的窗户。他们总是留在屏幕上。使用诸如xclock和xbiff之类的东西很方便,所以你只需要运行一个这样的小工具,它总是显示在屏幕上。如果需要,也可以使「图标」粘在屏幕上。
窗口图形和窗口位置
# 控制窗口几何和位置
@@@ 「窗口几何」是相对于当前视口指定的。例如:

xterm -geometry +0+0

在屏幕的可见部分的左上角创建一个窗口。
@@@ 允许指定一种「窗口几何」来将窗口放置在虚拟桌面上,但不在当前可见的屏幕区域上。例如,如果可见屏幕为1000×1000像素,桌面大小为3×3,并且当前视口位于桌面的左上角,则调用:

xterm -geometry +1000+1000

将一个窗口放在屏幕右下角,可以通过将鼠标移动到屏幕的右下角并等待它滚动到视图中来找到它。
@@@ 「窗口几何」指定为:

xterm -geometry -5-5

将窗口的右下角放置在距“屏幕可见部分”右[……]

READ MORE

「FVWM」- 使用多屏幕显示

如果未给出-s命令行参数,则FVWM会自动在指定DISPLAY的每个屏幕上启动。
在FVWM启动后,每个屏幕都会被独立处理。
如果要重新启动FVWM,则需要在每个屏幕上单独执行。
多屏幕显示时,强烈推荐使用EdgeScroll 0 0指令。
您可能需要在每个屏幕上执行退出,以完全退出X会话。
这不能与Xinerama的支持相混淆。[……]

READ MORE

「Linux」- 安装FVWM窗口管理器

从发行版的源中直接安装

# Debian-based
apt-get install fvwm

安装的可执行程序
fvwm2,FVWM,窗口管理器,主程序文件;
FvwmCommand
fvwm-bug
fvwm-config
fvwm-convert-2.6
fvwm-menu-desktop
fvwm-menu-directory
fvwm-menu-headlines
fvwm-menu-xlock
fvwm-perllib
fvwm-root
xpmroot
参考文献
dpkg -L fvwm | grep bin/ | awk -F’/’ ‘{print $4}'[……]

READ MORE

「FVWM」- 杂记

官方文档
FVWM 的手册。突然有一天 www.fvwm.org 无法访问了(大概是这个页面的创建时间),到现在依旧不能访问(01/07/2018),已经很久了,所以我从Linux的手册中导出了手册,以备不时之需。
CDE LIKE
https://www.reddit.com/r/unixporn/comments/9at3i8/fvwm_cde_like_theme_on_freebsd/
命令及模块
「FVWM/Man Page Index」
命令:可以在命令行中直接调用
fvwm – 窗口管理器 fvwm-bug fvwm-config fvwm-convert-2.6 fvwm-menu-desktop fvwm-menu-directory fvwm-menu-headlines fvwm-menu-xlock fvwm-perllib fvwm-root
模块:必须使用Module指令调用
FvwmIconMan 图标管理器。可以实现任务栏的功能。 FvwmAnimate 窗口动画 FvwmAuto FvwmBacker FvwmBanner FvwmButtons FvwmCommand FvwmConsole FvwmConsoleC.pl FvwmCpp FvwmEvent FvwmForm FvwmIdent FvwmM4 FvwmPager FvwmPerl FvwmProxy FvwmRearrange FvwmScript[……]

READ MORE

「FVWM的初始化」

在初始化过程中,首先fvwm会搜索配置文件,及其他的东西。Fvwm首先使用该命令搜索配置文件

Read config

这将在$FVWM_USERDIR和$FVWM_DATADIR变量指定的目录中查找文件配置,如“Read”中所述的。如果读取失败,FVWM将执行一些向后兼容性的操作来读取配置文件,以下是在默认安装中配置文件的查找顺序,但是仅使用第一个找到的文件:

$HOME/.fvwm/config
/usr/local/share/fvwm/config

$HOME/.fvwm/.fvwm2rc
$HOME/.fvwm2rc
/usr/local/share/fvwm/.fvwm2rc
/usr/local/share/fvwm/system.fvwm2rc
/etc/system.fvwm2rc

最后五个已经不再推荐使用了。
如果没有找到配置文件,则在根窗口上的鼠标左键、帮助、F1键会显示用于创建启动配置文件的菜单和表单。
Fvwm设置两个由其子代继承的环境变量:$DISPLAY,描述了运行fvwm的显示器。$DISPLAY可能是unix:0.0或者0.0,当通过ssh传递给另一台机器时,可能无法正常工作,所以$HOSTDISPLAY被设置为网络就绪的显示描述。 $HOSTDISPLAY总是使用TCP/IP传输协议(即使是本地连接),所以$DISPLAY应该用于本地连接,因为它使用更快的Unix域套接字。
如果你想用fvwm启动一些应用程序或模块,你可以简单的在配置文件中试用

Exec app

或者

Module FvwmXxx

,但是不推荐这么做,除非你知道这么做的含义。读完整个配置文件后,再启动应用程序或模块通常是很重要的,因为它包含可能影响窗口外观和功能的样式或模块配置。
在fvwm启动时,启动应用程序或模块的标准方法是将它们添加到初始化函数(通常为StartFunction或InitFunction),这样它们只有在fvwm完成读取、执行配置文件后才会启动。
Fvwm有三个特殊的初始化函数:

StartFunction,在启动和重新启动时执行;
InitFunction和RestartFunction,它们执行在StartFunction后面,分别在启动和从新启动时执行。

这些函数可以使用AddToFunc命令(稍后介绍)在用户的配置文件中进行自定义,以启动相应的模块、xterms、其他的希望由fvwm启动的任何内容。
Fvwm还有一个特殊的退出函数:Exi[……]

READ MORE

「Colorsets」

Colorsets are a powerful method to control colors. Colorsets create appearance resources that are shared by fvwm and its modules. When a colorset is modified all parts of fvwm react to that change. A colorset includes a foreground color, background color, shadow and highlight color (often based on the background color), background face (this includes images and all kinds of gradients). There is a way to render background face and specify other color operations.
In the 2.4.x versions a special module FvwmTheme was introduced to manage colorsets. Starting with the 2.5.x beta version, the FvwmTheme functionality was moved to the core fvwm, so this module became obsolete. In 2.6.7 the FvwmTheme module was removed.
新旧语法对应
The old syntax:

DestroyModuleConfig FvwmTheme: *
*FvwmTheme: Colorset 0 fg black, bg rgb:b4/aa/94
*FvwmTheme: Colorset 1 fg black, bg rgb:a1/b2/c8

corresponds to the new syntax:

CleanupColorsets
Colorset 0 fg black, bg rgb:b4/aa/94
Colorset 1 fg black, bg rgb:a1/b2/c8

Colorset num [options]

Creates or modifies colorset num. Colorsets are identified by this number. The number can start at
zer[……]

READ MORE

「FVWM中的字体FONTS」

字体名与字体加载(Font names and font loading)
字体用于窗口标题、图标标题、菜单、窗口文本,可以通过Style中Font和IconFont样式设置,或者MenuStyle中的Font,以及DefaultFont命令来指定。另外,所有使用文本的模块都有配置字体的命令。所有这些样式和命令都以字体名称作为参数。本节介绍fvwm中的字体名称和fvwm加载的字体。
首先,可以使用我们可以称之为通常字体名(usual font name),例如:

-adobe-courier-bold-r-normal–10-100-75-75-m-60-ISO8859-1
-adobe-courier-bold-r-normal–10-*
-*-fixed-medium-o-normal–14-*-ISO8859-15

也就是说,可以使用X逻辑字体描述(简称XLFD,X Logical Font Description)。然后加载并使用匹配描述的“第一个”字体,这里的“第一个”字体取决于你的字体路径和你的语言环境。匹配语言环境字符集的字体按优先级顺序加载。例如,使用

-adobe-courier-bold-r-normal–10-*

。如果本地的字符集是ISO8859-1,fvwm会优先加载匹配

-adobe-courier-bold-r-normal–10-*-ISO8859-1

的字体。如果本地的字符集是ISO8859-15,fvwm会优先加载匹配

-adobe-courier-bold-r-normal–10-*-ISO8859-15

的字体。字体名称可以作为扩展的XLFD给出。下面是简单的XLFD字体名称列表,使用逗号分隔:

-adobe-courier-bold-r-normal–14-*,-*-courier-medium-r-normal–14-*

每个简单的字体名称都会进行尝试查找,直到找到与语言环境设置的字符集匹配的字体。如果失败,则尝试每个简单的字体名称,而不再受不受字符集限制。
有关XLFD的更多详细信息,请参见X手册页,XLFD约定文档、XLoadFont、XCreateFontSet手册页。常用的一些有用的XLFD字体工具有:xlsfonts,xfontsel,xfd,xset。
如果支持Xft,可以使用前缀为“xft:”的TrueType字体的Xft字体名,例如:

“xft:Luxi Mono”
“xft:Luxi Mono:Medium:Roman:size=14:encod[……]

READ MORE

「FVWM」- FvwmBacker(控制 FVWM 的桌面背景)

模块调用语法
Module FvwmBacker
注意事项

该模块不支持模块别名。
FvwmBacker模块只能由fvwm产生。从命令行调用FvwmBacker是无效的。

模块的初始化
初始化期间,FvwmBacker会读取FVWM的模块配置数据库(即配置文件中与FvwmBacker有关的配置)。下面的部分会介绍相关选项。
如何加载该模块?
FvwmBacker可以在初始化期间由fvwm加载,通过在配置文件中加入如下行:

AddToFunc StartFunction I Module FvwmBacker

在fvwm运行期间,可以使用Module FvwmBacker命令来启用FvwmBacker。使用KillModule FvwmBacker命令停止FvwmBacker模块。
为了使FvwmBacker模块能够被fvwm执行,FvwmBacker必须在fvwm的ModulePath选项列出的目录中,有关ModulePath命令的介绍其他文章。
配置选项
以下的选项可以放在FVWM的配置文件中:
*FvwmBacker: Command (Desk <d>, Page <x> <y>) <command>
当视口在桌面<d>上且页面坐标为<x> <y>时,执行命令<command>。
<d>、<x>、<y>这三个参数中的任何一个或全部都可以用星号(*)替换,以表示匹配任何值。在这种情况下,可以省略Desk或Page部分,但省略Desk和Page时FvwmBacker的行为与使用星号又有所不同。具体的情形如下:

如果Page被省略,只使用了Desk *,则仅在切换桌面时执行<command>。
如果Desk被省略,只使用了Page *,则仅在切换页面时执行<command>。
如果Desk与Page都被省略,那么<command>只在模块启动时执行一次,切换时不会再执行<command>。
如果使用Desk *, Page *,则在桌面或页面更改时,总是执行<command>;

如果<command>是-solid,则FvwmBacker将-solid后的参数视为X数据库中的颜色,并将背景设置为该颜色,而不生成对xsetroot的系统调用(只有单个字的颜色名称可能使用)。
如果<command>是Colorset,FvwmBacker为给定的[……]

READ MORE

「FVWM」- FvwmBanner(u)

FvwmBanner,FVWM的LOGO的横幅。并不是什么极度有用的模块,如图:
模块启动语法
Module FvwmBanner
该模块只能由fvwm产生,即使用FVWM的命令。无法直接从命令行调用。
模块描述
在当前屏幕的中央显示一个FVWM的LOGO,默认显示3秒。
加载该模块
FvwmBanner可以通过调用的Module FvwmBanner命令来启动。也可以在配置文件中绑定在一个菜单或按键上,但更多人可能会绑定在StartFunction或InitFunction上,例如:

AddToFunc InitFunction “I” Module FvwmBanner

也可以给它一个可选的file参数,如“FvwmBanner doomface.xpm“,或通过配置选项(见下面”*FvwmBanner: Pixmap”)指定一个默认的位图。Fvwm将搜索ImagePath指定的路径来找到图像,或者可以使用绝对路径指定图像。
配置选项
*FvwmBanner: NoDecor
告诉FvwmBanner创建窗口时,不显示窗口标题栏,只显示光秃秃的LOGO。
*FvwmBanner: Pixmap file
指定file为显示的LOGO,代替默认的位图。
*FvwmBanner: Timeout sec
指定显示的时间,默认三秒。单位为秒。
参考文献
FVWM/FvwmBanner[……]

READ MORE

「FVWM」- FvwmButtons

FvwmButtons,FVWM的按钮盒子。可以在其中创建各种按钮,也可以”吞并“(Swallow)各种窗口。所谓吞并就是把某个程序窗口包含在FvwmButtons中。如下截图:

上面的截图中,包含了几个普通的按钮,还吞并了任务栏窗口
模块语法格式
Module FvwmButtons [-g geometry] [-transient | -transientpanel] [name [configfile]]
模块描述
FvwmButtons只能由fvwm产生,命令行调用FvwmButtons模块是无效的。
FvwmButtons模块提供了一个按钮窗口,这个窗口可以包含很多的按钮,位于X的根窗口上的。用户可以随时按下按钮,并由窗口管理器触发用户指定的命令调用。FvwmButtons仅在使用fvwm作为窗口管理器时才有效。
buttonbox可以是任何配置和形状,并可以用单色或彩色图标来表示将被调用的动作,甚至其他应用程序也可以被按钮栏“吞并”,即包含到按钮栏中。
在点击按钮时打开面板也是可以的。有关详细信息,请参阅创建面板(CREATING PANELS)部分。
选项
-g 该选项指定主窗口的几何形状。命令行选项优先于配置文件中的其他几何设置。
-transient 告诉FvwmButtons在遇到子面板已关闭、收到第一个键或按钮按下、重新生成的情况下,关闭自己,但为了打开子面板而按下的不算。 这对于想要选择单个按钮并自动关闭的子面板特别有用。它可以用来创建二维图形菜单。由于-transient是一个选项,不是一个配置命令,你可以使用相同的配置暂时和非暂时的按钮栏。
-transientpanel 与-transient选项大致相同,但不是关闭整个按钮栏,而是隐藏窗口。如果按钮栏作为另一个按钮栏的子面板启动,这非常有用,因为它避免了在选择某些按钮时它必须重新启动。
调用(INVOCATION)
FvwmButton必须由fvwm产生,在命令行直接运行是无效的。可以通过在配置文件中使用’Module FvwmButtons OptionalName’来调用FvwmButtons。如果FvwmButtons在fvwm的初始化过程中产生,这应该放在StartFunction中。 也可以绑定到一个菜单或鼠标按钮或手势来自动。
当使用OptionalName参数调用时,OptionalName用于查找配置命令。例如:

AddToFunc StartFunction Module FvwmButtons MyButtonBox

FvwmButtons将只使用以“*MyButtonBox”开头的行,而不是默认的“*Fvwm[……]

READ MORE

「FVWM」- FvwmConsole

FvwmConsole,FVMW的控制台,FVWM的命令输入接口,可在FvwmConsole中直接执行FVWM的配置命令。如图:
模块调用语法(SYNOPSIS)
Module FvwmConsole [options]
FvwmConsole模块只能由fvwm产生。从命令行直接调用该模块是无效的。
模块描述(DESCRIPTION)
FvwmConsole允许用于交互式的输入FVWM的配置命令,并立即执行。在测试新配置或者用于环境的临时功能时,非常有用。
模块调用(INVOCATION)
FvwmConsole只能做为一个模块由fvwm产生。FvwmConsole支持xterm(1)的所有选项。
可以在配置文件中使用’Module FvwmConsole’来启动FvwmConsole。如果想在FVWM的初始化期间启动FvwmConsole,可以将’Module FvwmConsole’放在配置文件中的单独一行。也可以绑定到菜单、鼠标按钮、按键来调用它。
配置选项(CONFIGURATION OPTIONS)
FvwmConsole uses xterm(1). All resources set for xterm are inherited unless overridden by command line options.

Module FvwmConsole -g 40×10 -fg black -bg green3

A different terminal emulator can be specified with the -terminal option. However, only terminal programs that understand the options -name, -title and -e can be used.

Module FvwmConsole -terminal rxvt

Previous versions of FvwmConsole supported a -e option to choose a different front-end. Although this option is still provided for backwards compatibility its use is discouraged unless you know exactly what you are doing.

Module FvwmConsole -e FvwmConsoleC.pl[……]

READ MORE