Awesome 是 Linux 桌面的窗口管理器。“窗口管理器”是一个图形界面,主要(如果不是完全)只管理窗口的绘制和排列。实际上,即使是最基本的窗口管理器实际上也提供的不仅仅是绘制窗口的能力。大多数还提供一个弹出菜单,以便您可以启动应用程序,有些提供一个停靠栏或面板,以便您可以在运行的不同应用程序之间切换。它们止步于提供桌面便利功能,例如在屏幕背景中绘制壁纸、挂载和卸载设备、提供系统托盘等等。窗口管理器假定您可以使用其他应用程序来构建您自己喜欢的桌面体验,因此它专注于管理窗口。Awesome 窗口管理器采用“平铺”方式,这意味着您启动的每个窗口都会根据您打开的窗口数量占据桌面的一部分。

(Seth Kenlon,CC BY-SA 4.0)
我的 Linux 桌面就是终端
当您是系统管理员时,您往往会花费大量时间在终端窗口中。它是与您的本地机器、远程机器、网络、互联网以及其他一切的直接而高效的接口,因此它通常是以最简单和最明智的方式一次对多台计算机执行许多操作。
坦白地说,对于您 80% 的任务来说,答案通常是否。然而,现代计算的现实情况是,有些应用程序通过图形界面使用起来更容易。例如,即使存在问题跟踪系统(如开源 Bugzilla),它们提供终端命令作为界面,但有时您所在的团队使用问题跟踪器(通常不是开源的),该跟踪器仅提供 Web 应用程序。不管您喜不喜欢,您都需要一个 Web 浏览器来与票务系统交互。即使您可能使用像 AsciiDoc 这样完全合理的标记语言,您也可能会收到文字处理器文档,虽然您可以使用 Pandoc 将文档转换为 AsciiDoc,然后再转换回 Office 文档,但这可能会在转换过程中丢失一些内容。不管您喜不喜欢,您都需要一个办公套件。
底线是,无论您是否喜欢,您都需要一个桌面。或者至少是一个窗口管理器。
平铺窗口
Awesome 理解您的困境。使用 Awesome,您的“主要”桌面可以是您的终端。当您首次启动它时,您的终端窗口是全屏的,就像您真正希望在登录时看到的文本控制台一样。但是,当您真正需要 Web 浏览器时,您可以启动它,Awesome 会通过将屏幕分成两半来为它腾出空间。您的终端在一侧,Web 浏览器在另一侧。
如果您需要打开第三个应用程序,您可以启动它,Awesome 会通过将屏幕分成三分之一来为它腾出空间。

(Seth Kenlon,CC BY-SA 4.0)
当您完成一个应用程序后,Awesome 会再次调整您的布局,直到最终您回到全屏终端,就像您喜欢的那样。
Lua 配置
Awesome 使用 Lua 脚本语言进行配置。Lua 的理念与 Awesome 类似。它是一种简单的语言,一旦您理解了一些基本概念,就会非常直观。
最简单的概念,也是最重要的概念,是 Lua 表结构。Lua 将信息存储在它称为“表”的东西中,这意味着 Lua 中的大多数事物都具有结构化的层次结构。例如,这将创建一个 Lua 表
zombie = {}
zombie.apocalypse = true
zombie.defeat = false
现在,当您需要知道是否存在活跃的僵尸末日时,您可以“调用”僵尸表并查询 apocalypse
值
> print(zombie.apocalypse)
true
apocalypse
和 defeat
值都是 zombie
表的“子项”,这使得它们每个都与 alien
表的 apocalypse
和 defeat
值不同。
这是一个简单的数据分类系统,您可以在 Awesome 配置中看到多个表的使用
-- Table of layouts
awful.layout.layouts = {
awful.layout.suit.floating,
awful.layout.suit.tile,
awful.layout.suit.tile.left,
awful.layout.suit.tile.bottom,
awful.layout.suit.tile.top,
awful.layout.suit.fair,
awful.layout.suit.fair.horizontal,
awful.layout.suit.spiral,
awful.layout.suit.spiral.dwindle,
awful.layout.suit.max,
awful.layout.suit.max.fullscreen,
awful.layout.suit.magnifier,
awful.layout.suit.corner.nw,
}
您可能无法从阅读配置文件本身中了解有哪些选项可用,但了解选项被分组到 Lua 表中意味着您知道在 Awesome 文档中查找什么。
当然,如果您不想阅读文档,您也可以注释掉选项并查看会发生什么变化。Lua 中的注释是两个破折号,如本代码段的第一行所示
-- Create a launcher widget and a main menu
myawesomemenu = {
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
{ "manual", terminal .. " -e man awesome" },
{ "edit config", editor_cmd .. " " .. awesome.conffile },
{ "restart", awesome.restart },
{ "quit", function() awesome.quit() end },
}
Lua 是一种一致且逻辑的语言。您从配置 Awesome 中获得的任何 Lua 知识都可以用于实际的 Lua 脚本编写。如果您准备好从基本的 Bash 脚本编写升级,您可以考虑 Lua。
调整平铺
当您在 Awesome 的分屏中工作时,您可能会发现需要调整比例。要以图形方式执行此操作,请右键单击要调整的窗口的交点,然后拖动所有窗口边框以适合您的偏好。
当您学习足够的 Lua 以真正擅长配置 Awesome 时,您可以配置默认首选项。
浮动窗口
有些应用程序永远不适合作为平铺窗口。您的 Linux 发行版提供的 Awesome 配置可能有一些示例设置
-- Floating clients.
class = {
"Blueman-manager",
"Kruler",
"MessageWin",
"Tor Browser",
"Wpa_gui"},
},
组装您自己的 Linux 桌面
使用窗口管理器而不是桌面意味着您可以选择用于您想用计算机做的其他一切的组件。您可以从 Plasma 桌面启动 KDE 应用程序,或者使用 XFCE 的位和片段(例如面板、网络管理器等),或者您可以完全避开桌面模型,而使用特别强大的文件管理器和您熟悉和喜爱的终端命令。
评论已关闭。