Installasjon av Motif
Installer en oppdatering for å fikse diverse problemer med kjøretid
og byggetid:
patch -Np1 -i ../motif-2.3.8-third_party_fixes-1.patch
Fjern automatisk genererte filer for å sikre en vellykket bygging:
rm -rvf tools/wml/{wmllex,wmluiltok}.c
Regenerer konfigurasjonsskriptene:
touch AUTHORS NEWS &&
autoreconf -fiv -I.
Angi flere miljøvariabler for å sikre en fungerende versjon:
export OLDLANG=$LANG &&
export LANG=C &&
export LEX=flex &&
export YACC=byacc
Installer Motif ved å kjøre følgende kommandoer:
sed -i '1 i\%option main' tools/wml/wmluiltok.l &&
CFLAGS+=" -std=gnu17" \
CXXFLAGS+=" -std=gnu17" \
./configure --prefix=/usr \
--with-x \
--disable-static \
--enable-utf8 \
--enable-xft \
--enable-jpeg \
--enable-png \
--enable-motif22-compatibility &&
make
Nå, som root bruker:
make install &&
make -C demos install-data
Fortsatt som root bruker, flytt
demoene til riktig sted:
rm -rvf /usr/share/doc/motif-2.3.8/demos &&
install -vdm755 /usr/share/doc/motif-2.3.8/demos &&
mv -v /usr/share/Xm/* /usr/share/doc/motif-2.3.8/demos &&
rmdir -v /usr/share/Xm
Fortsatt som root bruker, installer
noen hjelpefiler:
install -vDm644 /dev/stdin /usr/share/X11/app-defaults/Mwm << "EOF"
Mwm*fontList: variable
Mwm*iconClick: False
Mwm*iconPlacement: top left
Mwm*moveOpaque: True
Mwm*rootButtonClick: True
Mwm*foreground: #000000
Mwm*background: #B8B8C0
Mwm*enableThinThickness: True
Mwm*enableEtchedInMenu: True
Mwm*menu*fontList: -adobe-helvetica-medium-r-*--*-120-*-*-*-*-*-*
Mwm*client*title*fontList: -adobe-helvetica-bold-r-*--*-100-*-*-*-*-*-*
Mwm*icon*fontList: -adobe-helvetica-bold-r-*--*-80-*-*-*-*-*-*
Mwm*feedback*fontList: -adobe-helvetica-bold-r-*--*-100-*-*-*-*-*-*
Mwm*multiClickTime: 300
Mwm*useIconBox: True
EOF
install -vDm644 /dev/stdin /usr/share/xsessions/mwm.desktop << "EOF"
[Desktop Entry]
Name=MWM
Comment=The Motif Window Manager
Exec=/usr/bin/mwm
TryExec=/usr/bin/mwm
Type=Application
EOF
Notat
Ovennevnte install
command(er) trenger litt forklaring. Vanligvis i bøkene når
konfigurasjonsfiler opprettes, cat brukes. Den bruker en Bash
funksjon som heter «heredoc» som tar valgfritt flere linjer med
inndata inntil et gitt begrep, og videresender det til noe. I
cat kommandoen,
heredoc brukes til å mate inn /dev/stdin, og cat skriver fra /dev/stdin til den angitte filen.
Når det gjelder install, bruken er mer
dyptgående og har mye mer på gang. I utgangspunktet gjør den det
samme som cat
commands. Det heredocs til /dev/stdin og videresendes til en fil;
install gjør
skrivingen. På en enklere måte, kopierer den /dev/stdin til den angitte filen, som var fylt
ut av heredoc. Den har blitt brukt over cat slik at tillatelsene kan
angis og mappen filen må være i vil bli opprettet i prosessen.
Til slutt, fjern miljøvariablene som tidligere ble angitt:
export LANG=$OLDLANG &&
unset OLDLANG &&
unset LEX &&
unset YACC