跳至內容

awesome

出自 Arch Linux 中文维基

來自awesome網站:

AwesomeXorg 下可高度定製的新一代窗口管理器,運行快捷、擴展性強。Awesome主要面向高級用戶、開發者和那些希望完美控制自己電腦的圖形界面的人。

安裝

安裝位於官方軟體倉庫的軟體包 awesome

注意:自2019年起,awesome 就沒有新的正式版本發布了。如果你遇到了任何問題或者想要缺失的特性,安裝 awesome-gitAUR

啟動

使用 xinit 運行 awesome。要使用其包括的 xsession 文件,參考顯示管理器頁面。

與GNOME一同使用

你可以設置 GNOME 使用 awesome 作為其窗口管理器,但必須讓 GNOME 在後台運行。詳見 awesome-gnomeAUR

XFCE

詳見 XFCE#使用不同的窗口管理器

配置

配置文件是一個lua腳本:~/.config/awesome/rc.lua

創建配置文件

創建配置文件所在的文件夾:

$ mkdir -p ~/.config/awesome/

編譯後,awesome會自動使用~/.config/awesome/rc.lua裡的所有配置。這個文件並不會自動創建,所以我們先要從模板複製一個過來:

$ cp /etc/xdg/awesome/rc.lua ~/.config/awesome

配置文件的語法會隨著Awesome的版本升級而變化,所以當你升級了之後遇到問題時,重複上面的步驟,或者你得手動修改配置文件。

要獲得關於配置Awesome的更多信息,請看Awesome wiki的配置部分

例子

注意:Awesome配置文件語法有時會變化,所以你可能得動手修改下載的配置文件。

擴展

下列擴展對 awesome 來說是可用的:

E 功能 版本
顯示所有已打開客戶端的視圖 Awesome 3.5+
動態標籤 Awesome 3.5
彈出通知 Awesome 3.5+
額外的 widgets Awesome 3.5

自動啟動

要實現 XDG 自動啟動規範,安裝 xorg-xrdbdex,並將以下行添加到 ~/.config/awesome/rc.lua

~/.config/awesome/rc.lua
awful.spawn.with_shell(
    'if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi;' ..
    'xrdb -merge <<< "awesome.started:true";' ..
    'dex --environment Awesome --autostart --search-paths "${XDG_CONFIG_HOME:-$HOME/.config}/autostart:${XDG_CONFIG_DIRS:-/etc/xdg}/autostart";'
    )

尤其是對於沒有托盤圖標的守護進程,使用自動啟動目標的 systemd 用戶單元是一個有趣的替代方案,因為它們可以被配置為保持運行狀態,即被監控並在意外停止後自動重啟。

最後, 也可以創建 autorun.sh 然後插入下列文字:

~/.config/awesome/autorun.sh
#!/bin/sh

run() {
  if ! pgrep -f "$1" ;
  then
    "$@"&
  fi

然後,讓它可執行

要添加自啟動程序, 只需要向 autorun.sh 添加 run "program [some arguments]"run 函數檢查是否已經有一個帶著一些參數的 program 實例,並且只在沒有該實例時運行 program。你可以通過運行你的 autorun.sh 來檢查它:

$ ~/.config/awesome/autorun.sh

如果配置成功, 將以下行添加到 rc.lua

~/.config/awesome/rc.lua
awful.spawn.with_shell("~/.config/awesome/autorun.sh")

或者,添加你希望運行的命令(包括設置環境變量)到 xinitrc(或 xprofile,當使用顯示管理器時)。

改變鍵盤布局

有許多方法配置鍵盤布局。

setxkbmap 配置方法

Awesome的默認配置已經激活了鍵盤布局 widget。

要暫時設置多鍵盤布局,運行

$ setxkbmap -layout "us,de"

點擊 widget 將改變鍵盤布局。如果你想要一個組合鍵來改變鍵盤布局,你可用加上 -option "grp:alt_shift_toggle"。這是一個通過按 Shift+Alt 改變鍵盤布局的例子,完整的命令如下:

$ setxkbmap -layout "us,de" -option "grp:alt_shift_toggle"

設置帶有音標的英語和俄語鍵盤布局:

$ setxkbmap -model pc105 -option "grp:shifts_toggle,compose:sclk" "us,ru(phonetic_YAZHERTY)"

其中

  • Compose key is 設為 "Scroll Lock" ,語言切換鍵設為左 Shift + 右 Shift。
  • 鍵盤上有105個鍵。

如果使用 LightDM 開啟會話,添加上述命令到 .xprofile 文件。

rc.lua 配置方法 (自 v.4 版本開始可用)

你可以使用 awesome 自身來切換鍵盤布局 (自 v.4 版本開始可用)。要通過按 Shift+Alt 改變鍵盤布局, 添加這兩行到 globalkeys:

~/.config/awesome/rc.lua
-- Key bindings
globalkeys = gears.table.join(
    -- ...
    awful.key({ "Shift" }, "Alt_L", function () mykeyboardlayout.next_layout(); end),
    awful.key({ "Mod1" }, "Shift_L", function () mykeyboardlayout.next_layout(); end)
)

這需要你提前通過 setxkbmap 命令或 X 配置文件設置你想要切換的鍵盤布局。

當你找到了設置你的鍵盤布局的適合方法,添加到 #自啟動

Xorg 配置方法

詳見 Xorg/鍵盤配置英語Xorg/Keyboard configuration

主題

Beautiful 是一個允許你使用外部文件給 awesome 配置主題的 lua 庫,可以讓你非常容易地動態地改變背景圖片和顏色主題,而不需要改變 rc.lua

默認的主題文件在 /usr/share/awesome/themes/default。把它複製到 ~/.config/awesome/themes/default(可選複製其他所有主題)然後修改一下 rc.lua 中的 theme_path

 -- beautiful.init(gears.filesystem.get_configuration_dir() .. "/themes/default/theme.lua")
 local theme_path = string.format("%s/.config/awesome/themes/%s/theme.lua", os.getenv("HOME"), "default")
 beautiful.init(theme_path)

如果你同時也複製了其他主題,你可以把 "default" 替換為 "sky","gtk" 或 "zenburn" 來容易地切換主題,並且本地主題文件可以被學習、修改和用於測試。額外的主題配置選項參考這裡。例如要添加一個 useless gap,添加

beautiful.useless_gap = 5

到你的 rc.lua 的主題配置部分。

注意:Awesome 不支持點陣字體,如果你的系統上只安裝了點陣字體,字體渲染將損壞。

設置牆紙

Beautiful 可以設置牆紙,所以你就不用在 .xinitrc 或者 .xsession 中自己設置了。這允許你給每個主題配一個牆紙。

有兩種方式設置牆紙:

  • theme.lua 中:
    -- 绝对路径
    theme.wallpaper = "/path/to/wallpaper.png"
    
    -- 相对于主题目录的相对路径
    theme.wallpaper = theme_path .. "path/to/wallpaper.png"
    
  • 或在 rc.lua 中,位於 beautiful.initlocal function set_wallpaper 之間:
    -- 绝对路径
    beautiful.wallpaper = "/path/to/wallpaper.png"
    
    -- 相对于主题目录的相对路径
    beautiful.wallpaper = awful.util.get_configuration_dir() .. "path/to/wallpaper.png"
    

要設置隨機牆紙,添加這個rc.lua(v3.5+)。要從一個特點目錄自動獲取牆紙,使用這個

小技巧

顯示/隱藏wibox

從 awesome 4.0 開始:

awful.key({ modkey }, "b",
          function ()
              myscreen = awful.screen.focused()
              myscreen.mywibox.visible = not myscreen.mywibox.visible
          end,
          {description = "toggle statusbar"}
),

在 awesome 中,只在按下 Modkey 時顯示 wibox(或執行其他操作)是不可能的,但這裡有一個 Python 腳本實現了這個功能:autohidewibox

截圖

設置鍵盤輸入,確保 PrtSc 鍵被正確綁定了。然後安裝一個截圖工具,例如 scrot

在配置文件中的 globalkeys 中輸入並保存:

 awful.key({ }, "Print", function () awful.util.spawn("scrot -e 'mv $f ~/screenshots/ 2>/dev/null'") end),

這裡的 ~/screenshots/ 可以改成你截圖想要保存的地方。

移除窗口間隔

自 awesome 3.4 起,移除創建之間的小間隔是可能的。在 awful.rules.rules 表格中的 properties 章節添加:

 size_hints_honor = false

透明度

參見合成器

在 awesome 3.5 中, 窗口透明度可以用信號動態設置。例如,rc.lua 可以包含下列內容:

client.add_signal("focus", function(c)
                              c.border_color = beautiful.border_focus
                              c.opacity = 1
                           end)
client.add_signal("unfocus", function(c)
                                c.border_color = beautiful.border_normal
                                c.opacity = 0.7
                             end)

Conky

本文或本章節可能需要合併到Conky

附註: 請提供模板的second參數以more detailed indications。(在 Talk:Awesome 中討論)

當使用 conky 時,你必須設置它讓它創建自己的窗口,而不是使用桌面。為此,編輯 ~/.conkyrc以包含

own_window yes
own_window_transparent yes
own_window_type desktop

否則你可能會看到奇怪的表現,比如所有的窗口都變得完全透明。注意由於 conky 將會在你的桌面上創建一個透明窗口,所有定義於 rc.lua 的動作在 conky 所在的位置都不會工作。

wiboxes

Wiboxes具有內置的偽透明功能。要啟用它,在主題文件中的顏色後附加2位十六進制數字(例如~/.config/awesome/themes/default/theme.lua, 通常為 /usr/share/awesome/themes/default/theme.lua 的複製品),如下所示:

theme.bg_normal = "#000000AA"

其中 "AA" 為透明度。

To change transparency for the actual selected window by pressing Modkey + PgUp/PgDown you can also use transset-dfAUR and the following modification to your rc.lua:

globalkeys = gears.table.join(
    -- your keybindings
    [...]
    awful.key({ modkey }, "Next", function (c)
        awful.util.spawn("transset-df --actual --inc 0.1")
    end),
    awful.key({ modkey }, "Prior", function (c)
        awful.util.spawn("transset-df --actual --dec 0.1")
    end),
    -- Your other key bindings
    [...]
)

Widget 間隔

默認 rc.lua 在一個 wibox 裡放置包括鍵盤布局和時鐘等所有 widgets,widgets 之間只有很小的間隔。使用 spacing 屬性在 widgets 之間增加額外的間隔是可能的:

       { -- Right widgets
       layout = wibox.layout.fixed.horizontal,
       spacing = 10,
       mykeyboardlayout,
       ...

ImageMagick

本文或本章節可能需要合併到Xorg#合成

附註: 請提供模板的second參數以more detailed indications。(在 Talk:Awesome 中討論)

如果你用 ImageMagick 的 display 命令來設置你的牆紙,可能會遇到 xcompmgr 效果不好的問題。請注意 awsetbg 可能會用 display 如果它沒有其他選項。安裝 habak,feh,hsetroot 或者其他的包應該會解決這個問題。(grep -A 1 wpsetters /usr/bin/awsetbg 來看你有哪些選項)

使用 awesome-client 給文本插件傳遞信息

只需要創建一個新的插件,就可以很容易的傳遞信息。

mywidget = widget({ type = "textbox", name = "mywidget" })
 mywidget.text = "initial text"

使用 awesome-client 從外部更新「initial text":

echo -e 'mywidget.text = "new text"' | awesome-client

不要忘記把插件增加到 wibox。

使用其他任務欄

如果你喜歡 awesome 既輕量又強大的功能,但又不喜歡默認那個任務欄的外觀,你可以安裝其他的,比如 xfce4-panel

然後要把它添加到配置文件 rc.lua自動啟動部分,你可以注釋掉配置文件中給每個桌面創建 wiboxes 的那部分(開頭是mywibox[s] = awful.wibox({ position = "top", screen = s })),但不是必要的。檢查配置文件沒有錯誤之後就可以執行命令生效:

$ awesome -k rc.lua

另外你還需要改變 modkey+R 的快捷鍵綁定,來用一些其他的應用啟動器替代awesome自帶的啟動器。別忘了添加

properties = { floating = true } },
    { rule = { instance = "$yourapplicationlauncher" },

到你的 rc.lua

菜單欄中的應用程式目錄

Awesome 軟體包含有 menubar(默認情況下,按下 Mod+p 會在屏幕上方打開一個類似於 dmenu 的應用程式菜單)。它搜索位於$XDG_DATA_DIRS/applications$XDG_DATA_HOME/applications/ 目錄下的 .desktop 文件。

通過修改 menubar.menu_gen.all_menu_dirs,你可以擴充或取代這些目錄:

~/.config/awesome/rc.lua
table.insert(menubar.menu_gen.all_menu_dirs, "/path/to/custom/applications/")

注意每次 awesome 啟動都會重新讀取 .desktop 文件,因此文件過多會拖慢 Awesome 的啟動速度。如果你更喜歡使用其他方式來運行程序,可以通過在 rc.lua 移除 local menubar = require("menubar") 及其它涉及到 menubar 的變量來禁用菜單欄。

應用菜單

自 awesome 3 以來,默認提供了一個簡單的菜單,簡化了自定義菜單。如果你想要一個freedesktop.org的菜單,可以查看awesome-freedesktop

如果想要在點擊Awesome圖標,或者在桌面空白處右鍵點擊時,看到較傳統模式的應用菜單,可以參照Xdg-menu#Awesome的說明。但應用菜單不會在安裝或卸載程序時進行更新。所以,確保運行類似如下的命令,更新應用菜單:

 xdg_menu --format awesome --root-menu /etc/xdg/menus/arch-applications.menu >~/.config/awesome/archmenu.lua

標題欄

你可以很容易地在配置文件中rule把 titlebars_enabled 設置為 true 來啟用標題欄。

   { rule_any = {type = { "normal", "dialog" }
     }, properties = { titlebars_enabled = true }
   },

如果想要切換標題欄的顯示與否,可以把以下代碼加入配置文件中鍵位綁定部份的clientkeys部份中間位置(因為這段代碼是以逗號結尾,請不要放在 clientkeys 的最後),然後通過按 modkey + Ctrl + t 來切換。

   -- working toggle titlebar
   awful.key({ modkey, "Control" }, "t", function (c) awful.titlebar.toggle(c)         end, 
             {description = "Show/Hide Titlebars", group="client"}),

如果想默認情況下隱藏標題欄,僅需要在配置文件中標題欄創建後(即在 "manage" 信號處理器內)加入以下代碼:

awful.titlebar.hide(c)

電池通知

參考這篇博文以向 rc.lua 添加一個簡單的電池通知。注意它需要 naughty 用來通知(3.5 版本起默認安裝)。Awesome wiki 上也有其他的參考案例。

媒體控制

使用 amixer(1)(通過 alsa-utils 安裝)和 playerctl 的組合控制音量和媒體播放是可能的。下列代碼可以被添加到你的 rc.lua 配置文件中與快捷鍵相關的章節:

   -- Volume Keys
   awful.key({}, "XF86AudioLowerVolume", function ()
     awful.util.spawn("amixer -q -D pulse sset Master 5%-", false) end),
   awful.key({}, "XF86AudioRaiseVolume", function ()
     awful.util.spawn("amixer -q -D pulse sset Master 5%+", false) end),
   awful.key({}, "XF86AudioMute", function ()
     awful.util.spawn("amixer -D pulse set Master 1+ toggle", false) end),
   -- Media Keys
   awful.key({}, "XF86AudioPlay", function()
     awful.util.spawn("playerctl play-pause", false) end),
   awful.key({}, "XF86AudioNext", function()
     awful.util.spawn("playerctl next", false) end),
   awful.key({}, "XF86AudioPrev", function()
     awful.util.spawn("playerctl previous", false) end),

Steam 鍵盤

可通過 Steam 控制器激活的屏幕Steam鍵盤在嘗試輸入一個字符後似乎會凍結。這是因為本應接收輸入的客戶端必須處於焦點狀態才能接收輸入,而鍵盤會等待輸入成功發送。手動將焦點切換到另一個客戶端會將輸入發送到此客戶端,並再次解凍鍵盤,直到輸入下一個字符。

讓鍵盤正常工作的訣竅在於防止它獲得焦點。請將以下信號添加到您的配置中(或與現有的客戶端焦點信號合併):

client.connect_signal("focus", function(c)
    if awful.rules.match(c, { name = "^Steam Keyboard$" }) then
        awful.client.focus.history.previous()
    end
end)

每當鍵盤獲得焦點時,焦點將返回至上一個客戶端。由於鍵盤輸入是由 Steam 客戶端處理的,因此不需要焦點,現在輸入文本將正常工作。

故障排除

調試 rc.lua

Xephyr 允許你在一個 X 客戶端窗口內運行另一個 X。用這種方式可以在不破壞現有桌面的情況下對 rc.lua 進行測試。首先把 rc.lua 複製到一個新文件(例如 rc.lua.new),接著進行修改。然後在 Xephyr 中運行新的 awesome 實例,使用 rc.lua.new 作為配置文件,就像這樣:

$ Xephyr -ac -br -noreset -screen 1152x720 :1 &
$ DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new

這種方式的巨大優勢在於如果你弄壞了 rc.lua.new,你不至於把現有的 awesome 桌面弄得一團糟,並且很可能還會把 XWindow 弄崩潰了,沒保存的工作全部丟失。一旦你覺得新的配置文件不錯,就用 rc.lua.new 代替 rc.lua,然後重啟 awesome。

自動重載

作為上述方法的補充,你可以使用 inotify-tools 以在更新 ~/.config/awesome 目錄下的配置文件時,在 Xephyr 內自動重載 awesome 實例 :

#!/usr/bin/env bash

Xephyr :1 -ac -br -noreset -screen 1920x1080 -dpi 96 &
sleep 1
DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new &
instance=$!

while inotifywait -r -e close_write ~/.config/awesome; do
	kill -s SIGHUP $instance
done

使用 awmtt

awmttAUR (Awesome WM Testing Tool) 是一個基於 Xephyr 的易於使用的腳本。默認情況下,它會測試 ~/.config/awesome/rc.lua.test 。如果該文件不存在,它會測試當前使用的 rc.lua 。也可以指定要測試的配置文件所在路徑:

$ awmtt start -C ~/.config/awesome/rc.lua.new

當測試完成後,使用以下命令關閉窗口:

$ awmtt stop

或者通過以下命令立即查看變化:

$ awmtt restart

aawmtt

aawmttAUR (Another Awesome WM Testing Tool) 是 awmttAUR 的另一種實現,默認包含Live-Reload功能。它與 awmtt-ng 類似,但針對 Xorg 顯示檢測問題做了一些修復,因為 awmtt-ng 在某些機器上無法正常檢測 Xorg 顯示。它與 awmtt 的不同之處在於,它不會先嘗試運行測試文件,而是直接運行默認配置。

要打開一個已加載 awesome 的 Xephyr 窗口,請運行:

$ aawmtt

現在,awesome 的輸出將列印到您的終端,並且當您更改配置文件夾中的任何文件時,awesome 將重新加載。

如果你想修改被監視以檢測文件更改的目錄,或者配置文件的位置,只需運行:

$ aawmtt --config "location_of_config_file" --watch "directory_to_watch_for_changes"

默認情況下,會被監視以檢測更改的目錄是配置文件的父目錄,因此默認情況下,該目錄將是「~/.config/awesome」。

日誌文件

如果你正在使用 LightDM, awesome 會將日誌記錄到 `$HOME/.xsession-errors`。如果你使用 .xinitrc 啟動 awesome, awesome FAQ 中的 "Where are logs, error messages or something?" 也許是有用的資源。

Mod4 鍵

本文或本章節可能需要合併到Xorg/鍵盤配置

附註: 請提供模板的second參數以more detailed indications。(在 Talk:Awesome 中討論)

Awesome建議重新映射 mod4 鍵,該鍵默認應為超級鍵或「Windows」鍵。如果由於某種原因它未被映射到 mod4,請使用 xmodmap 來找出其映射情況。要更改映射,請使用 xev 來查找要映射的鍵的鍵碼和名稱。然後在 ~/.xinitrc 中添加類似以下的內容

xmodmap -e "keycode 115 = Super_L" -e "add mod4 = Super_L"
exec awesome

此案例中的問題是,某些 Xorg 安裝能夠識別鍵碼115,但錯誤地將其識別為「選擇」鍵。上述命令明確地將鍵碼115重新映射到正確的「Super_L」鍵。

要使用 setxkbmap 重新映射 mod4(與 xmodmap 衝突)參見:

tail -50 /usr/share/X11/xkb/rules/evdev

要將 caps lock 鍵設為 mod4,添加下列內容到 ~/.xinitrc

setxkbmap -option caps:hyper

修復 Java (GUI 只顯示灰色)

參見 Java#灰色窗口,應用程式不隨窗口管理器調整大小,菜單立即關閉這篇文檔

Eclipse: 不能調整或移動主窗口

如果你遇到卡頓,無法移動或調整主窗口大小(使用 mod4 鍵 + 滑鼠左/右鍵),請編輯 workbench.xml 文件,將 fullscreen/maximized 設置為 false(如果已設置),並將寬度和高度減小到小於你的單屏桌面區域的值。

注意:workbench.xml 可以在這個位置找到:<eclipse_workspace>/.metadata/.plugins/org.eclipse.ui.workbench/ 需要編輯的行是 <window height="xx" maximized="true" width="xx" x="xx" y="xx">.

Netbeans: 代碼預測出現在錯誤的屏幕上

如果你有兩個顯示器,同時使用 Netbeans 的代碼預測(Ctrl + Space),代碼預測可能會出現在錯誤的屏幕。下列代碼能修復問題:

.config/awesome/rc.lua
awful.rules.rules = {
        ...
	{
		rule_matches = { -- Fix Netbeans
			class = {
				"sun-awt-X11-XWindowPeer", "NetBeans IDE 8.2"
			},
			name = {
				"win1"
			}
		}, properties = { screen = 1 } -- even with screen 1 here, this still works on the seccond screen, too (do not know why).
	},
        ...

IntelliJ: 菜單出現在錯誤的位置,一些窗口打不開

本文或本節內容已經過時。

原因: 這個 issue 已經關閉了,請重新測試,如果不再需要,刪除這個章節。 (在Talk:Awesome討論)

參見 GitHub issue #2204。下列代碼能解決問題:

.config/awesome/rc.lua
clientbuttons_jetbrains = gears.table.join(
    awful.button({ modkey }, 1, awful.mouse.client.move),
    awful.button({ modkey }, 3, awful.mouse.client.resize)
)

...

awful.rules.rules = {
        ...
	{
            rule = {
                class = "jetbrains-.*",
            }, properties = { focus = true, buttons = clientbuttons_jetbrains }
        },
        {
            rule = {
                class = "jetbrains-.*",
                name = "win.*"
            }, properties = { titlebars_enabled = false, focusable = false, focus = true, floating = true, placement = awful.placement.restore }
        },
        ...
}

scrot: 無法使用鍵盤快捷鍵進行滑鼠選區的截圖

使用 scrot 時,在為滑鼠選擇選項分配鍵盤快捷鍵時,你可能會遇到問題(形式上是 scrot -s)。要修復它,向你的 rc.lua 添加下列內容:

awful.key( { modkey,	 }, <shortcut>, nil, function () awful.spawn("scrot -s") end)

注意 nil 被傳送到 awful.keypress 參數。相反,回調函數作為第四個參數傳遞,該參數名為 release。.

YouTube: 全屏出現在背景

參見此處。如果在全屏模式下,YouTube 視頻出現在你的瀏覽器下層,添加這些到你的 rc.lua

   { rule = { instance = "plugin-container" },
     properties = { floating = true } },

如果你使用 Chromium 瀏覽器,添加:

   { rule = { instance = "exe" },
     properties = { floating = true } },

或:

{ rule = { role = "_NET_WM_STATE_FULLSCREEN" },
  properties = { floating = true } },

參見此處

防止滑鼠滾輪更改標籤

在你的 rc.lua 中,修改滑鼠綁定為下列內容:

-- {{{ Mouse bindings
root.buttons(gears.table.join(
    awful.button({ }, 3, function () mymainmenu:toggle() end)
))
-- }}}

Xdg-menu 生成重複菜單項

如果你將 /usr/share/applications 中的桌面文件複製到 ~/.local/share/applications,Xdg-menu將會生成重複條目,儘管直接覆蓋原始文件可能更可取,例如為特定應用程式使用不同的主題。解決這個問題的一種方法是使用awk過濾生成的輸出,以刪除與前一條目名稱相同的條目。

 xdg_menu --format awesome --root-menu /etc/xdg/menus/arch-applications.menu | awk -F, '{if (a!=$1) print $a; a=$1}' >~/.config/awesome/archmenu.lua

Xfce4 中部分快捷鍵因按鍵重疊而失效

檢查你的

$ xfce4-keyboard-settings

關於像「Super L」這樣的重疊鍵或應由 awesome 運行的組合鍵。

內存洩漏

有些用戶即使沒有進行任何操作也會遇到內存洩漏問題。當使用大量小部件時,內存洩漏的速度可能高達每分鐘5 MB。為了緩解這一問題,您可以通過在 ~/.config/awesome/rc.lua 文件中添加以下內容來強制執行更頻繁的垃圾收集:

-- Run garbage collector regularly to prevent memory leaks
gears.timer {
       timeout = 30,
       autostart = true,
       callback = function() collectgarbage() end
}

額外連結