IceWM
根据 Wikipedia
- IceWM 是一个用于 X Window System 图形基础设施的窗口管理器,由 Marko Maček 编写。它完全使用 C++ 编写,并根据 GNU Lesser General Public License 的条款发布。它在内存和 CPU 使用方面相对轻量级,并带有主题,使其能够模仿 Windows 95、OS/2、Motif 和其他图形用户界面的 UI。
安装
启动
使用 xinit 运行 icewm
,或 icewm-session
以同时运行 icewmbg 和 icewmtray。
icewm-session
是 startup
脚本工作所必需的。配置
默认配置的更改可以在系统范围内(在 /etc/icewm/
中)或在用户特定的基础上(在 ~/.config/icewm/
中)进行。
要更改您的 icewm 配置使其与默认配置不同,请将默认配置文件从 /usr/share/icewm/
复制到 ~/.config/icewm/
,例如
$ cp -r /usr/share/icewm/ ~/.config/icewm/
preferences
是 IceWM 的核心配置文件。menu
控制 IceWM 应用程序菜单的内容。keys
允许用户自定义键盘快捷键。toolbar
任务栏上的启动器图标行。winoptions
单个应用程序的行为。theme
主题路径/名称。startup
启动时执行的脚本或命令(必须是可执行的)。shutdown
关闭时执行的脚本或命令。
自动启动
startup
脚本不是由 icewm 软件包提供的,因此您需要创建它,添加您希望在 IceWM 会话启动时运行的程序的命令,并使其可执行。
sleep 1 &&
开头,否则 IceWM 将创建一个难看的黑色窗口,阻止其退出;在这种情况下,请在任务栏上使用 xkill。以下是 IceWM 启动脚本的示例,它在 IceWM 会话中启动 network-manager-applet 和 XScreenSaver
~/.config/icewm/startup
#!/bin/sh # start network manager sleep 1 && nm-applet & # enable bluetooth applet sleep 1 && blueman-applet & # enable screensaver xscreensaver -nosplash & # start redshift redshift & # allow notifications /usr/lib/notification-daemon-1.0/notification-daemon & # enable lockscreen exec xautolock -detectsleep -time 15 -locker "i3lock -n -i /home/user/lockscreen.png" -killtime 20 -killer "systemctl suspend" #lock after inactivity and then sleep
来自官方仓库的 menumaker 是一个 Python 脚本,它可以根据系统中安装的内容自动填充您的应用程序菜单。虽然这可能会导致菜单中填充许多不需要的应用程序,但它仍然可能比手动编辑菜单配置文件更可取。运行 MenuMaker 时,使用 -f 标志覆盖现有菜单文件
$ mmaker -f icewm
您可以通过使用 mmaker 命令运行以下开关来避免使用基于终端的应用程序(如 alsamixer)填充菜单:--no-legacy
和 --no-debian
。例如
$ mmaker -f --no-legacy --no-debian icewm
或者,您可以使用 xdg-menu 生成菜单。请参阅 xdg-menu#IceWM 部分。
主题
少量主题包含在 icewm 软件包中。这些主题可以通过 icewm-extra-themesAUR 软件包中提供的主题进行补充。更多主题可以从 box-look.org 下载。
桌面图标
文件管理器(如 PCManFM 或 roxAUR)可以管理壁纸并添加桌面图标。或者,您可以安装 Idesk,这是一个也可以向桌面添加图标的小程序。
技巧与窍门
合成
IceWM 不是一个合成窗口管理器。如果您需要在 IceWM 中使用合成,您可以选择使用独立的合成管理器,如 Xcompmgr 或 Picom。
故障排除
如果您正在使用带有 Intel 显卡的 IceWM,您可能会发现任务栏中的开始菜单没有图标。这是由于 xf86-video-intel 驱动程序最近的更改造成的,这意味着默认情况下使用新的但相当不稳定的 SNA 加速后端。要解决开始菜单问题(和其他可能的图形故障),您需要切换回旧的 UXA 后端。请参阅以下文章:Intel graphics#AccelMethod。
PCManFM 管理桌面时无法注销
如果您使用 PCManFM 来管理桌面,您可能会发现 IceWM 注销按钮不再工作。作为一种解决方法,您可以定义一个注销命令。这应该允许您在 PCManFM 管理桌面时注销。要执行此操作,请取消注释 LogoutCommand
~/.config/icewm/preferences
LogoutCommand="pkill -u username"
- 已定义注销命令
如果已定义注销命令,则关机和重启命令将被忽略。如果您希望注销菜单中有关机和重启选项,则您不得定义注销命令。
- 未定义注销命令
如果您已定义关机和重启命令(如 systemctl poweroff
和 systemctl reboot
),并且您未定义注销命令,但您仍然发现注销菜单中没有关机或重启选项,请更新到 icewm 1.3.8-2
。有关更多信息,请参阅 FS#37884。
参见
- IceWM 官方网站
- IceWM – 酷炫的窗口管理器 – OSNews 上的详细介绍,2004 年
- IceWM – Windows 移民的桌面 – 来自 polishlinux.org 的概述和教程,存档于 2010 年
- IceWM 在 25 年后达到版本 3 – Liam Proven 为 The Register 撰写,2022 年 10 月