labwc環境啓用wlogout

自從棄用 Gnome 後,一直都在使用 labwc 這個窗口管理器,加上一些其它桌面核心組件,算是自己打造了一個桌面環境。好處是什麼都可以自己控制,壞處是什麼都必須自己打造。這個過程有點類似抖音上面自己手搓汽車的視頻,算是自得其樂,同時能加深理解什麼是桌面環境。

老實說,如今 Linux 打造自己的桌面環境,比 10 年前好很多了,也沒什麼難度,個人覺得比直接使用 Gnome、KDE、Xfce 等要有意思。

如何爲 labwc 核心的桌面環境,我寫過系列文章,有興趣的讀者可以前往查看。

本文爲登出界面的一個補充,也很簡單直接,因爲中文世界信息還不多,簡單記錄方便後來者。

所謂登出界面(logout menu),就是你退出桌面環境時,彈出的一個選擇菜單,進入不同功能模式,比如關機、鎖屏、登出等。

默認的 labwc 配置是沒有給出這樣的菜單選擇,當你不小心點到 exit 時,直接就退出系統回到登錄界面了,可以說非常暴力。

所以,經過一段時間的使用後,個人覺得必須給裝上本文的主角 wlogout

1. 安裝 wlogout

直接包管理安裝,這種東西功能更新不頻繁。

1sudo apt install wlogout

安裝好後,命令即就緒。

1➜  ~ which wlogout
2/usr/bin/wlogout
3➜  ~ wlogout -v
41.1.1

要測試效果,可以直接運行 wlogut 命令,彈出的界面如下所示。

wlogout

2. 更改 labwc 的菜單配置

爲了真正使用 wlogout,得把它嵌入到 labwc 的 menu 中。

相比默認配置的變動如下:

wlogout-labwc-menu

簡單解釋就是用 wlogout 命令接管 退出關機 命令,當你在系統的右鍵菜單中選擇 Exit 或者 Poweroff 時,即彈出 wlogout 的菜單。

這樣的好處是,誤點的時候不會立即退出桌面環境,畢竟多了一層選擇,出錯的概率下降一個擋位。

3. wlogout 美化

請看相關配置

  1➜  ~ tree .config/wlogout/
  2.config/wlogout/
  3├── icons
  4│   ├── hibernate.svg
  5│   ├── lock.svg
  6│   ├── logout.svg
  7│   ├── reboot.svg
  8│   ├── shutdown.svg
  9│   └── suspend.svg
 10├── layout
 11└── style.css
 12
 132 directories, 8 files
 14➜  ~ cat .config/wlogout/layout
 15{
 16    "label" : "lock",
 17    "action" : "swaylock",
 18    "text" : "Lock",
 19    "keybind" : "l"
 20}
 21{
 22    "label" : "hibernate",
 23    "action" : "systemctl hibernate",
 24    "text" : "Hibernate",
 25    "keybind" : "h"
 26}
 27{
 28    "label" : "logout",
 29    "action" : "loginctl terminate-user $USER",
 30    "text" : "Logout",
 31    "keybind" : "e"
 32}
 33{
 34    "label" : "shutdown",
 35    "action" : "systemctl poweroff",
 36    "text" : "Shutdown",
 37    "keybind" : "s"
 38}
 39{
 40    "label" : "suspend",
 41    "action" : "systemctl suspend",
 42    "text" : "Suspend",
 43    "keybind" : "u"
 44}
 45{
 46    "label" : "reboot",
 47    "action" : "systemctl reboot",
 48    "text" : "Reboot",
 49    "keybind" : "r"
 50}
 51➜  ~ cat .config/wlogout/style.css
 52* {
 53  background-image: none;
 54}
 55window {
 56  background-color: rgba(0, 0, 0, 0.4);
 57}
 58button {
 59  color: #ffffff;
 60  background-color: #1e222a;
 61  border-style: solid;
 62  border-color: #33ccfe;
 63  border-width: 2px;
 64  border-radius: 3%;
 65  background-repeat: no-repeat;
 66  background-position: center;
 67  background-size: 25%;
 68  margin: 50px;
 69}
 70
 71button:focus,
 72button:active {
 73  background-color: #06b6d4;
 74  outline-style: none;
 75}
 76
 77button:hover {
 78  background-color: #353c4a;
 79}
 80
 81#lock {
 82  background-image: image(
 83    url("./icons/lock.svg"),
 84    url("/usr/share/wlogout/icons/lock.png"),
 85    url("/usr/local/share/wlogout/icons/lock.png")
 86  );
 87}
 88
 89#logout {
 90  background-image: image(
 91    url("./icons/logout.svg"),
 92    url("/usr/share/wlogout/icons/logout.png"),
 93    url("/usr/local/share/wlogout/icons/logout.png")
 94  );
 95}
 96
 97#suspend {
 98  background-image: image(
 99    url("./icons/suspend.svg"),
100    url("/usr/share/wlogout/icons/suspend.png"),
101    url("/usr/local/share/wlogout/icons/suspend.png")
102  );
103}
104
105#hibernate {
106  background-image: image(
107    url("./icons/hibernate.svg"),
108    url("/usr/share/wlogout/icons/hibernate.png"),
109    url("/usr/local/share/wlogout/icons/hibernate.png")
110  );
111}
112
113#shutdown {
114  background-image: image(
115    url("./icons/shutdown.svg"),
116    url("/usr/share/wlogout/icons/shutdown.png"),
117    url("/usr/local/share/wlogout/icons/shutdown.png")
118  );
119}
120
121#reboot {
122  background-image: image(
123    url("./icons/reboot.svg"),
124    url("/usr/share/wlogout/icons/reboot.png"),
125    url("/usr/local/share/wlogout/icons/reboot.png")
126  );
127}

上述配置文件都相當直白,分別控制圖標、功能塊相關、各種樣式,基本上想怎麼調整都可以。

通常這種定製漂亮界面的活,我都是去 github 搜索 xx theme 關鍵字解決,萬一對方是個設計師呢?

寫這個文章時,搜索 wlogout theme 只返回 2 個結果,第二個不錯: https://github.com/DreamMaoMao/wlogout-theme

按照對方的配置,替換後效果如下:

wlogout-custom

我機器上面操作後真實效果不好,text 文章位置不對,懶得截圖,估計要調整 style.css 文件,css 高手可以盡情發揮。

最後修改於: Wednesday, March 13, 2024

相關文章:

翻譯: