使用 Linux MLVWM 打造復古蘋果桌面
本文是 24 天 Linux 桌面特別系列的一部分。如果老式的蘋果電腦是用開源 POSIX 構建的呢?你可以通過構建 Macintosh 式的虛擬視窗管理器來實現。
想象一下穿越到另一段平行歷史,Apple II GS 和 MacOS 7 是基於開源 POSIX 構建的,它使用了與現代 Linux 相同的所有慣例,例如純文字配置檔案和模組化系統設計。這樣的作業系統將為其使用者帶來什麼?你可以使用 Macintosh 式的虛擬視窗管理器(MLVWM)來回答這些問題(甚至更多!)。
安裝 MLVWM
MLVWM 安裝並不容易,並且可能不在你的發行版軟體倉庫中。如果你有時間理解翻譯不佳的 README 檔案,編輯一些配置檔案,收集並調整一些舊的 .xpm 圖片,編輯一兩個 Xorg 選項,那麼你就可以體驗 MLVWM。不管怎麼說,這是一個新奇的視窗管理器,其最新版本可以追溯到 2000 年。
要編譯 MLVWM,你必須安裝 imake,它提供了 xmkmf
命令。你可以從發行版的軟體倉庫中安裝 imake,也可以直接從 Freedesktop.org 獲得。假設你已經有 xmkmf
命令,請進入包含 MLVWM 原始碼的目錄,然後執行以下命令進行構建:
$ xmkmf -a
$ make
構建後,編譯後的 mlvwm
二進位制檔案位於 mlvwm
目錄中。將其移動到你的 PATH 的任何位置:
$ mv mlvwm/mlvwm /usr/local/bin/
編輯配置檔案
現在已經安裝好 MLVWM,但是如果不調整幾個配置檔案並仔細放好所需的影象檔案,它將無法正確啟動。示例配置檔案位於你下載的原始碼的 sample_rc
目錄中。將檔案 Mlvwm-Netscape
和 Mlvwm-Xterm
複製到你的主目錄:
$ cp sample_rc/Mlvwm-{Netscape,Xterm} $HOME
將 Mlvwmrc
改名為 $HOME/.mlvwmrc
(是的,即使示例檔案的名稱看似是大寫字母,但你也必須使用小寫的 “m”):
$ cp sample_rc/Mlvwmrc $HOME/.mlvwmrc
開啟 .mlwmrc
並找到第 54-55 行,它們定義了 MLVWM 在選單和 UI 中使用的畫素圖的路徑(IconPath
):
# Set icon search path. It needs before "Style".
IconPath /usr/local/include/X11/pixmaps:/home2/tak/bin/pixmap
調整路徑以匹配你填充影象的路徑(我建議使用 $HOME/.local/share/pixmaps
)。MLVWM 不提供畫素圖,因此需要你提供構建桌面所需圖示。
即使你有位於系統其他位置的畫素圖(例如 /usr/share/pixmaps
),也要這樣做,因為你需要調整畫素圖的大小,你可能也不想在系統範圍內執行此操作。
# Set icon search path. It needs before "Style".
IconPath /home/seth/.local/share/pixmaps
選擇畫素圖
你已將 .local/share/pixmaps
目錄定義為畫素圖源路徑,但是該目錄和影象均不存在。建立目錄:
$ mkdir -p $HOME/.local/share/pixmaps
現在,配置檔案將影象分配給選單項和 UI 元素,但是系統中不存在這些影象。要解決此問題,請通讀配置檔案並找到每個 .xpm 影象。對於配置中列出的每個影象,將具有相同檔名的影象(或更改配置檔案中的檔名)新增到你的 IconPath 目錄。
.mlvwmrc
檔案的註釋很好,因此你可以大致瞭解要編輯的內容。無論如何,這只是第一步。你可以隨時回來更改桌面外觀。
這有些例子。
此程式碼塊設定螢幕左上角的圖示:
# Register the menu
Menu Apple, Icon label1.xpm, Stick
label1.xpm
影象實際上在原始碼的 pixmap
目錄中,但我更喜歡使用來自 /usr/share/pixmaps
的 Penguin.xpm
(在 Slackware 上)。無論使用什麼,都必須將自定義畫素圖放在 ~/.local/share/pixmaps
中,並在配置中更改畫素圖的名稱,或者重新命名畫素圖以匹配配置檔案中當前的名稱。
此程式碼塊定義了左側選單中列出的應用:
"About this Workstation..." NonSelect, Gray, Action About
"" NonSelect
"Terminal" Icon mini-display.xpm, Action Exec "kterm" exec kterm -ls
"Editor" Action Exec "mule" exec mule, Icon mini-edit.xpm
"calculator" Action Exec "xcal" exec xcalc, Icon mini-calc.xpm
END
通過遵循與配置檔案中相同的語法,你可以自定義畫素圖並將自己的應用新增到選單中(例如,我將 mule
更改為 emacs
)。這是你在 MLVWM GUI 中開啟應用的入口,因此請列出你要快速訪問的所有內容。你可能還希望包括指向 /usr/share/applications
資料夾的快捷方式。
"Applications" Icon Penguin.xpm, Action Exec "thunar /usr/share/applications" exec thunar /usr/share/applications
完成編輯配置檔案並將自己的影象新增到 IconPath 目錄後,必須將所有畫素圖的大小都調整為大約 16x16 畫素。(MLVWM 的預設設定不一致,因此存在變化空間。)你可以使用 ImageMagick 進行批量操作:
$ for i in ~/.local/share/mlvwm-pixmaps/*xpm ; do convert -resize '16x16^' $i; done
啟動 MLVWM
最簡單的執行 MLVWM 的方式是讓 Xorg 完成大部分工作。首先,你必須建立一個 $HOME/.xinitrc
檔案。我從 Slackware 複製了這個,它也是從 Xorg 拿來的:
#!/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi
# Start the window manager:
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
exec ck-launch-session /usr/local/bin/mlvwm
else
exec /usr/local/bin/mlvwm
fi
根據此檔案,startx
命令的預設操作是啟動 MLVWM。但是,你的發行版可能對於圖形伺服器啟動(或被終止以重新啟動)時會發生的情況有其他做法,因此此檔案可能對你沒有什麼幫助。在許多發行版上,你可以新增 .desktop 檔案到 /usr/share/xsessions
中,以將其列在 GDM 或 KDM 選單中,因此建立名為 mlvwm.desktop
的檔案並輸入:
[Desktop Entry]
Name=Mlvwm
Comment=Macintosh-like virtual window manager
Exec=/usr/local/bin/mlvwm
TryExec=ck-launch-session /usr/local/bin/mlvwm
Type=Application
從桌面會話登出並重新登入到 MLVWM。預設情況下,會話管理器(KDM、GDM 或 LightDM,具體取決於你的設定)將繼續登入到以前的桌面,因此在登入之前必須覆蓋它。
對於 GDM:
對於 SDDM:
強制啟動
如果 MLVWM 無法啟動,請嘗試安裝 XDM,這是一個輕量級會話管理器,它不會查詢 /usr/share/xsessions
的內容,而是執行經過身份驗證使用者的所有 .xinitrc
操作。
打造自己的復古蘋果
MLVWM 桌面未經打磨、不完美、模仿到位且充滿樂趣。你看到的許多選單項都是未實現的,但你可以使它們變得活躍且有意義。
這是一次讓你時光倒流、改變歷史,讓老式蘋果系列電腦成為開源堡壘的機會。成為一名修正主義者,設計你自己的復古蘋果桌面,最重要的是,它有樂趣。
via: https://opensource.com/article/19/12/linux-mlvwm-desktop
作者:Seth Kenlon 選題:lujun9972 譯者:geekpi 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 蘋果復古六色Logo即將回歸蘋果Go
- 在 Linux 下安裝復古終端Linux
- 使用 Lakka Linux 將你的舊 PC 變成復古遊戲主機Linux遊戲
- 《訊號》:兩位獨立遊戲人花了八年時間打造的一場復古盛宴遊戲
- 使用 FVWM 自定義 Linux 桌面Linux
- linux 使用 Xmanager 顯示桌面Linux
- 一週完成一年份的銷量,《星之海》如何打造現代化的復古遊戲遊戲
- 在 Linux 上使用 Window Maker 桌面Linux
- 萬古APP使用記錄APP
- 2D Pixel Perfect:使用Unity建立任天堂紅白機風格復古遊戲Unity遊戲
- 輕鬆使用 Linux Equinox 桌面環境LinuxUI
- 如何在 Linux 桌面新增使用者Linux
- 為什麼我在使用Linux桌面?Linux
- 中文Linux桌面使用者指南(轉)Linux
- AI神經網路可復原古希臘文字AI神經網路
- Ale Giorgini的復古幾何線條與浪漫
- win10桌面如何恢復常規桌面 win10恢復常規桌面的方法Win10
- 《鏟子騎士》:“復古遊戲”的集大成者遊戲
- 古樹茶專賣商城小程式:打造茶葉買賣平臺
- 教你如何在Linux 桌面新增使用者Linux
- 在 Linux 桌面中開始使用 LuminaLinux
- Linux/Unix 桌面趣事:讓桌面下雪Linux
- [譯]使用MVI打造響應式APP(六):恢復狀態APP
- 蘋果要把古希臘諸神名字承包了?雅典娜、宙斯、 美杜莎蘋果
- 數字活化百年古戲樓,火山引擎打造「虛擬直播間」
- 分析如何地對移動裝置設計復古遊戲遊戲
- 如何使用Pacifica圖示美化你的linux桌面Linux
- windows10桌面閃爍怎麼辦_windows10桌面閃爍無法使用修復方法Windows
- 復古畫素遊戲《星之海》釋出中文宣傳影片遊戲
- 我的linux桌面Linux
- 蘋果準備要把iCould打造成使用者的文件管理軟體蘋果
- win10介面怎麼恢復桌面_如何恢復win10桌面應用圖示Win10
- 使用python 下載全國曆代古詩Python
- 蘋果手機使用技巧:iPhone如何恢復出廠設定?蘋果iPhone
- 新桌面Linux標準問世 促進桌面Linux普及(轉)Linux
- 古詩解析
- 使用者體驗,使用Xfce Linux桌面環境的8個理由!Linux
- 開始使用 Budgie 吧,一款 Linux 桌面環境Linux