Linux中國

使用 Linux MLVWM 打造復古蘋果桌面

想像一下穿越到另一段平行歷史,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-NetscapeMlvwm-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/pixmapsPenguin.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](/data/attachment/album/201912/27/204945bap879hdshhefzmh.jpg "MLVWM")

打造自己的復古蘋果

MLVWM 桌面未經打磨、不完美、模仿到位且充滿樂趣。你看到的許多菜單項都是未實現的,但你可以使它們變得活躍且有意義。

這是一次讓你時光倒流、改變歷史,讓老式蘋果系列電腦成為開源堡壘的機會。成為一名修正主義者,設計你自己的復古蘋果桌面,最重要的是,它有樂趣。

via: https://opensource.com/article/19/12/linux-mlvwm-desktop

作者:Seth Kenlon 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國