GNU/Linux >> Linux Esercitazione >  >> Linux

Costruisci un desktop Apple retrò con Linux MLVWM

Immagina di viaggiare in una storia alternativa in cui Apple II GS e MacOS 7 sono stati costruiti su POSIX open source, utilizzando tutte le stesse convenzioni del moderno Linux, come file di configurazione in testo normale e progettazione di sistemi modulari. Cosa avrebbe abilitato un tale sistema operativo per i suoi utenti? Puoi rispondere a queste domande (e molto altro!) con Virtual Window Manager (MLVWM) simile a Macintosh.

Installazione di MLVWM

MLVWM non è un'installazione facile e probabilmente non è nel repository del software della tua distribuzione. Se hai il tempo di decifrare un file README tradotto male, modifica alcuni file di configurazione, raccogli e ridimensiona alcuni vecchi .xpm immagini e modifica una o due preferenze di Xorg, quindi puoi provare MLVWM. Altrimenti, questo è un nuovo window manager con la sua ultima versione nel 2000.

Per compilare MLVWM, devi avere imake installato, che fornisce xmkmf comando. Puoi installare imake dal repository del software della tua distribuzione o scaricarlo direttamente da Freedesktop.org. Supponendo che tu abbia il xmkmf comando, passa alla directory contenente il codice sorgente MLVWM ed esegui questi comandi per compilarlo:

$ xmkmf -a
$ make

Dopo la creazione, il mlvwm compilato binario si trova in mlvwm directory. Spostalo in qualsiasi posizione nel tuo percorso per installarlo:

$ mv mlvwm/mlvwm /usr/local/bin/

Modifica dei file di configurazione

MLVWM è ora installato, ma non si avvia correttamente senza regolare diversi file di configurazione e disporre con cura i file immagine richiesti. I file di configurazione di esempio si trovano in sample_rc directory del codice sorgente scaricato. Copia i file Mlvwm-Netscape e Mlvwm-Xterm nella tua home directory:

$ cp sample_rc/Mlvwm-{Netscape,Xterm} $HOME

Sposta il Mlvwmrc file in $HOME/.mlvwmrc (sì, devi usare una "m" minuscola anche se il file di esempio inizia ingannevolmente con una lettera maiuscola):

$ cp sample_rc/Mlvwmrc $HOME/.mlvwmrc

Apri .mlwmrc e trova le righe 54–55, che definiscono il percorso (l'"IconPath") per le immagini pixmap che MLVWM utilizza nei suoi menu e nell'interfaccia utente:

# Set icon search path. It needs before "Style".
IconPath /usr/local/include/X11/pixmaps:/home2/tak/bin/pixmap

Regola il percorso in modo che corrisponda a una directory che riempirai con le tue immagini (suggerisco di utilizzare $HOME/.local/share/pixmaps ). MLVWM non fornisce pixmap, quindi spetta a te fornire icone pixmap per il desktop che stai creando.

Fallo anche se hai pixmap dislocate altrove sul tuo sistema (come /usr/share/pixmaps ), perché dovrai regolare la dimensione delle pixmap e probabilmente non vorrai farlo a livello di sistema.

# Set icon search path. It needs before "Style".
IconPath /home/seth/.local/share/pixmaps

Scelta delle pixmap

Hai definito .local/share/pixmaps directory come fonte di pixmaps, ma non esistono ancora né la directory né le immagini. Crea la directory:

$ mkdir -p $HOME/.local/share/pixmaps

In questo momento, il file di configurazione assegna le immagini alle voci di menu e agli elementi dell'interfaccia utente, ma nessuna di queste immagini esiste sul tuo sistema. Per risolvere il problema, leggi il file di configurazione e individua ogni .xpm Immagine. Per ogni immagine elencata nella configurazione, aggiungi un'immagine con lo stesso nome file (o cambia il nome del file nel file di configurazione) alla directory di IconPath.

Il .mlvwmrc il file è ben commentato, quindi puoi avere un'idea generale di ciò che stai modificando. Questo è solo un primo passaggio, comunque. Puoi sempre tornare e cambiare l'aspetto del tuo desktop in un secondo momento.

Ecco alcuni esempi.

Questo blocco di codice imposta l'icona nell'angolo in alto a sinistra dello schermo:

# Register the menu
Menu Apple, Icon label1.xpm, Stick

L'etichetta1.xpm l'immagine è effettivamente fornita nella pixmap del download del codice sorgente directory, ma preferisco usare Penguin.xpm da /usr/share/pixmaps (su Slackware). Qualunque cosa tu usi, devi posizionare la tua pixmap personalizzata in ~/.local/share/pixmaps e cambia il nome della pixmap nella configurazione o rinomina il file pixmap in modo che corrisponda a quello che è attualmente nel file di configurazione.

Questo blocco di codice definisce le applicazioni elencate nel menu a sinistra:

"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

Seguendo la stessa sintassi che vedi nel file di configurazione, puoi personalizzare le pixmap e aggiungere le tue applicazioni al menu (ad esempio, ho cambiato mule su emacs ). Questo è il tuo gateway per le tue applicazioni nella GUI MLVWM, quindi elenca tutto ciò a cui desideri accedere rapidamente. Potresti anche voler includere un collegamento al tuo /usr/share/applications cartella.

"Applications" Icon Penguin.xpm, Action Exec "thunar /usr/share/applications" exec thunar /usr/share/applications 

Una volta che hai finito di modificare il file di configurazione e di aggiungere le tue immagini alla tua directory IconPath, le tue pixmap devono essere tutte ridimensionate a circa 16x16 pixel. (MLVWM non è coerente nelle sue impostazioni predefinite, quindi c'è spazio per variazioni.) Puoi farlo come un'azione in blocco usando ImageMagick:

$ for i in ~/.local/share/mlvwm-pixmaps/*xpm ; do convert -resize '16x16^' $i; done

Avvio di MLVWM

Il modo più semplice per iniziare a utilizzare MLVWM è lasciare che Xorg faccia il grosso del lavoro. Innanzitutto, devi creare un $HOME/.xinitrc file. L'ho preso in prestito da Slackware, che l'ha preso in prestito da 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

Secondo questo file, l'azione predefinita per startx il comando è di avviare MLVWM. Tuttavia, la tua distribuzione potrebbe avere altre idee su cosa succede quando il tuo server grafico viene avviato (o viene ucciso per essere riavviato), quindi questo file potrebbe non farti bene. Su molte distribuzioni, puoi aggiungere un .desktop file in /usr/share/xsessions per averlo elencato nel menu GDM o KDM, quindi crea un file chiamato mlvwm.desktop e inserisci questo testo:

[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

Disconnettersi dalla sessione desktop e accedere nuovamente a MLVWM. Per impostazione predefinita, il tuo gestore di sessione (KDM, GDM o LightDM, a seconda della tua configurazione) continuerà ad accedere al tuo desktop precedente, quindi devi sovrascriverlo prima di accedere.

Con GDM:

Con SDDM:

Lancio con forza bruta

Se MLVWM non si avvia, prova a installare XDM, un gestore di sessioni leggero che non guarda /usr/share/xsessions e invece fa semplicemente qualsiasi cosa .xinitrc dell'utente autenticato vieta.

Costruisci la tua Apple retrò

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Il desktop MLVWM è grezzo, imperfetto, preciso e molto divertente. Molte delle opzioni di menu che vedi non sono implementate, ma puoi renderle attive e significative.

Questa è la tua occasione per fare un salto indietro nel tempo, cambiare la storia e rendere la linea di computer Apple della vecchia scuola un bastione dell'open source. Sii un revisionista, progetta il tuo desktop Apple retrò e, soprattutto, divertiti.


Linux
  1. Trova file e directory su Linux con il comando find

  2. Controlla lo stato del file su Linux con il comando stat

  3. Iniziare con il comando tac di Linux

  4. Copia e incolla nella riga di comando di Linux con xclip

  5. Come estendere le funzionalità del tuo desktop Linux con PlexyDesk

Impara Linux con Raspberry Pi

Introduzione al file system Linux

Come uccidere i processi sul desktop Linux con xkill

Comando Linux WC con esempi

Proteggi Linux con il file Sudoers

I 15 migliori software di condivisione file per desktop Linux