IceWM
- IceWM 是一个 X Window System 图形基础设施的窗口管理器,由 Marko Maček 编写。它使用 C++ 从头开始编写,并在 GNU Lesser General Public License 条款下发布。它在内存和 CPU 使用方面相对轻量级,并配有主题,可以模仿 Windows 95、OS/2、Motif 和其他图形用户界面的 UI。
安装
安装 icewm 包。
启动
使用 xinit 运行 icewm,或运行 icewm-session 来同时运行 icewmbg 和 icewmtray。
startup 脚本需要 icewm-session 才能正常工作。配置
默认配置的更改可以在系统范围内(在 /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(1))添加到菜单中:--no-legacy 和 --no-debian。例如:
$ mmaker -f --no-legacy --no-debian icewm
或者,您可以使用 xdg-menu 生成菜单。请参阅 xdg-menu#IceWM 部分。
Themes
icewm 包中包含少量主题。这些可以通过 icewm-extra-themesAUR 包中提供的主题进行补充。可以在 box-look.org 下载更多主题。
桌面图标
像 PCManFM 或 roxAUR 这样的文件管理器可以管理壁纸并添加桌面图标。或者,您可以安装 Idesk,这是一个也可以在桌面上添加图标的小程序。
技巧与提示
合成器
IceWM 不是一个合成窗口管理器。如果您需要与 IceWM 一起进行合成,您可以选择使用独立的合成管理器,例如 Xcompmgr 或 Picom。
故障排除
无开始菜单图标(Intel显卡)
如果您在使用 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 – The Cool Window Manager – OSNews 上的详细介绍,2004 年
- IceWM – A desktop for Windows emigrants – polishlinux.org 上的概述和教程,存档于 2010 年
- IceWM reaches version 3 after a mere 25 years – Liam Proven for The Register, October 2022