使用 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
- 復古車模擬,休閒打造
- 使用 Lakka Linux 將你的舊 PC 變成復古遊戲主機Linux遊戲
- 【Mac新手必看】蘋果macOS桌面桌布設定技巧Mac蘋果
- 蘋果iPhone XS分屏使用教程 蘋果iPhone怎麼分屏?蘋果iPhone
- 黑蘋果使用系列【一】蘋果
- 新手教程:蘋果電腦如何開啟多個桌面?蘋果
- 蘋果將使用本地大模型?蘋果大模型
- Android 翻頁效果加蘋果桌面應用抖動效果Android蘋果
- 使用 FVWM 自定義 Linux 桌面Linux
- [譯] 蘋果公司如何修復 3D Touch蘋果3D
- 蘋果電腦進入 Macos 恢復啟動蘋果Mac
- Linux 開發者“贏了”!研究稱 Linux 的漏洞修復速度比蘋果、微軟和谷歌都快Linux蘋果微軟谷歌
- 蘋果電腦安裝CentOS Linux的方法蘋果CentOSLinux
- 蘋果推出“蘋果邊緣快取”(蘋果企業簽名)蘋果快取
- 修復蘋果iOS 原生鍵盤遮擋input框蘋果iOS
- 在 Linux 上使用 Window Maker 桌面Linux
- 蘋果App Store涉嫌壟斷 美國iPhone使用者要求蘋果賠償蘋果APPiPhone
- 重燃火花的復古FPS
- 蘋果電腦黑屏按什麼鍵恢復 蘋果電腦黑屏喚醒不了的解決方法蘋果
- Linux之父:我就是覺得蘋果太沒意思!Linux蘋果
- 未來蘋果裝置將移植 Linux 系統蘋果Linux
- 把 Linux 移植到蘋果 M1 Mac 上Linux蘋果Mac
- 蘋果電腦分屏工作 macOS桌面視窗管理工具集合蘋果Mac
- 蘋果應用加密軟體如何使用蘋果加密
- 如何使用藍芽解鎖蘋果mac?藍芽蘋果Mac
- 蘋果mac應用:XMind for mac - 打造你的思維導圖神器蘋果Mac
- 蘋果iOS 12原生相簿使用教程 蘋果iOS 12原生相簿怎麼用?蘋果iOS
- 蘋果系列機資料恢復軟體:Disk Drill for Mac蘋果資料恢復Mac
- 如何在 Linux 桌面新增使用者Linux
- 輕鬆使用 Linux Equinox 桌面環境LinuxUI
- 在 Linux 桌面中開始使用 LuminaLinux
- 蘋果手機恢復出廠設定如何資料不丟失(蘋果企業開發者賬號)蘋果
- iPhone刪除的照片能恢復嗎?蘋果手機照片怎麼恢復iPhone蘋果
- 如何使用u盤重灌蘋果macos系統蘋果Mac
- 蘋果電腦怎麼使用pc鍵盤?蘋果
- 蘋果電腦如何使用Siri語音助手!蘋果
- Aiseesoft Mac FoneLab for Mac,蘋果電腦iOS資料恢復工具AIMac蘋果iOS資料恢復