Awesome

在 CentOS 7 上使用 Awesome 視窗管理器

  • December 10, 2018

Awesome 在 Fedora 19 上執行良好,所以它應該在 CentOS 7 上執行,對吧?好吧,我嘗試過但未能讓它工作。很長一段時間後,我設法從原始碼編譯它並將 GDM 設置為從~/.xinitrc. 然而,我得到的只是視窗管理器啟動,但沒有一個鍵綁定(鍵盤或滑鼠)在所有工作。

我正在尋找一個可用的分步安裝程序。

⚠ 這裡的所有答案都已過時,不應使用!!!


Awesome 可以從原始碼安裝,只需稍作調整

; cat /etc/centos-release                                                       
CentOS Linux release 7.6.1810 (Core)                                            
; awesome --version                                                             
awesome v4.2-dirty (Human after all)                                            
• Compiled against Lua 5.1.4 (running with Lua 5.1)                            
• D-Bus support: ✔                                                             
• execinfo support: ✔                                                          
• xcb-randr version: 1.6                                                       
• LGI version: 0.9.2    

對於初學者,我會刪除您編譯的原始碼,然後使用本文中的步驟添加 Fedora 的官方 YUM Repo。之後,由於您剛剛添加的 repo 包含 AwesomeWM,請使用 YUM 安裝它。見這裡


推理:幾乎不可能將基於源的包與基於二進制包的系統混合,因為您很容易造成版本不匹配。考慮以下:

  1. 二進制包版本 A 依賴且僅適用於依賴版本 B。依賴版本 B 使用庫 C。
  2. 連接 1 中的邏輯,二進制包版本 A,也隱含地依賴於庫 C。
  3. 您使用庫版本 D 建構了依賴版本 B(如果 C = 1.0,D = 1.1)
  4. 依賴版本 B 已成功建構,但二進制包版本 A 仍連結到庫版本 C,因此二進制包 A 現在載入未解析的符號,因為庫版本 C 中的符號已替換為版本 D 中的新符號。
  5. 庫版本 D,取代了庫版本 C,因此開發人員決定不將他的新版本 D 連結到版本 C。
  6. 為了解決這個問題,系統上鍊接到庫版本 C 的每個包都必須使用庫版本 D 重新編譯。

你被困在這裡是因為二進制系統上的所有包都是預先打包的,當從原始碼編譯時,它們中的一些或全部會損壞

您可以通過使用庫版本 D 查找所有軟體包的更新版本來解決此問題,但根據經驗,這不太可能,這就是我使用 Gentoo 的原因。


從已刪除的評論中更新

我被要求解釋如何處理過期的 repo,以及如果 repo 過期該怎麼辦,因為 CentOS 和 Fedora 的發佈時間表完全不同。

根據您在下面現已刪除的評論中的問題,添加儲存庫時:

  1. 如果對該儲存庫的支持結束,請添加取代它的儲存庫。即,Fedora 19 的 repo 將被 Fedora 20 取代。
  2. 更新到新儲存庫後,您必須作為使用者決定採用哪個方向,因為新儲存庫中的包之間的版本號不匹配。例如,CentOS 庫版本 A 將被 Fedora 中的庫版本 B 取代。將 Fedora 添加為儲存庫後,如果您想要的軟體包存在於 Fedora 中,但不在 CentOS 中,並且它要求更新版本的軟體包,您必須 a.) 查看 CentOS 測試儲存庫中是否存在相同的軟體包, 或 b.) 允許安裝從 Fedora 儲存庫安裝軟體包。這樣,您將擁有混合或混合安裝。如果您以與上面添加 Fedora 儲存庫相同的方式添加 CentOS 測試儲存庫,我相信 YUM 會詢問您要使用哪個軟體包,如果兩者中存在相同的軟體包。
  3. 如果 Fedora 中有一個穩定庫版本 B,而 CentOS 中有一個測試庫版本 B,請使用 CentOS 中的測試版本,因為該版本是您作業系統的“本地”版本。只要有可能,您就希望安裝作業系統的本機版本,即使它們處於測試階段。通過這樣做,如果包不工作,您向作業系統維護人員報告錯誤,以便包保持在測試中,直到錯誤被修復,然後才被移動到穩定

引用自:https://unix.stackexchange.com/questions/152258