使用Linux MLVWM构建复古的Apple桌面

想象一下进入另一个替代历史,在该历史中,Apple II GS和MacOS 7是基于开放源代码POSIX构建的,它使用了与现代Linux相同的所有约定,例如纯文本配置文件和模块化系统设计。 这样的操作系统将为其用户带来什么? 您可以使用类似Macintosh的虚拟窗口管理器(MLVWM)回答这些问题(甚至更多!

MLVWM running on Slackware 14.2

安装MLVWM

MLVWM并非容易安装,并且可能不在发行版的软件存储库中。 如果您有时间解密翻译质量较差的README文件,编辑一些配置文件,收集一些旧的.xpm映像并调整其大小以及编辑一两个Xorg首选项,那么您可以体验MLVWM。 否则,这是一个新颖的窗口管理器,其最新版本可以追溯到2000年。

要编译MLVWM,必须安装imake ,它提供xmkmf命令。 您可以从发行版的软件存储库中安装imake,也可以直接从Freedesktop.org获得它。 假设您具有xmkmf命令,请转到包含MLVWM源代码的目录,然后运行以下命令来构建它:


   
   
$ xmkmf -a
$ make

构建后,已编译的mlvwm二进制文件位于mlvwm目录中。 将其移动到路径中的任何位置进行安装:

 $  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目录定义为pixmap的源,但是该目录和图像都还不存在。 创建目录:

 $  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 (在Slackware上)使用Penguin.xpm 。 无论使用什么,都必须将自定义像素图放置在〜/ .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借来的,而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

建立自己的复古苹果

这是您时光倒流,更改历史记录以及使老式的Apple计算机产品线成为开源堡垒的机会。 成为修正主义者,设计自己的复古Apple台式机,最重要的是,玩得开心。

翻译自: https://opensource.com/article/19/12/linux-mlvwm-desktop

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值