Harjoitus 4

Tehtävänanto:

Unelmien työpöytä. Konfiguroi graafinen ja komentirivikäyttöliittymä Puppetilla. Asenna tarvittavat ohjelmat ja niihin säädöt.

Linkki tehtävänantoon: http://terokarvinen.com/2017/aikataulu-linuxin-keskitetty-hallinta-3-op-vanha-ops-%e2%80%93-loppusyksy-2017-p5-puppet

18.44 : Esivalmistelut

Käynnistin koneeni (HP ProBook 6460b), jossa on asennettuna Xubuntu 16.04.3.

Samoin kuin edellisessä tehtävässä, poistin aikaisemmin asentamani ohjelmat, jotta voin aloittaa puhtaalta pöydältä. Poistin ohjelmat komennolla:

sudo apt-get -y purge puppet puppetmaster git vagrant virtualbox

Nyt tarpeettomat paketit, jotka olivat asentuneet yllä mainittujen mukana poistin komennolla:

sudo apt-get autoremove

18.54 : Komentoriviohjelman konfigurointi

Valitsin muokattavaksi käyttöjärjestelmän tutun ja turvallisen Terminalin. Päätin tehdä ensin muutokset käsin, sillä konfigurointi suoraan Puppetilla voisi olla haastavaa ja on muutenkin huono toimintamalli.

Ensin halusin lyhentää Terminalin näyttämän “user@host:workingdirectory$” rivin, sillä pitkät hakemistopolut saavat tämän näyttämään kohtuuttoman pitkältä. Tähän löytyykin yksinkertaiset ohjeet Tero Karvisen sivuilta: http://terokarvinen.com/2016/short-bash-prompt-export-ps1w

Eli käyttäjän kotihakemistossa täytyi muuttaa .bashrc tiedostoa. Avasin tiedoston komennolla:

nano .bashrc

Rivillä 60 on määritys PS1-muuttujalle, jonka kommentoin # -merkillä.

Loin sen alle seuraavanlaisen rivin, johon loin omat määritykset:

PS1=”\[\e[1;32m\]\u:\w\[\e[0m\]$ “

“\e” -alkuiset, hakasuluilla suljetut määreet ovat värimäärityksiä. Yllä oleva rivi siis lyhentää Terminalin oletusriviä näyttämällä sen muodossa “käyttäjä:workingdirectory”. Numero 1 ensimmäisessä värimäärityksessä tarkoittaa lihavointia, numero 32 taas vihreää väriä. Sillä näytetään sekä käyttäjän nimi että nykyinen kansio. Viimeinen värimääritys numerolla 0 tarkoittaa normaalia tekstiä ilman väriä, jotta Terminalin muu teksti ei muuttuisi myös vihreäksi.

Tämän lisäksi riviltä 46 täytyy ottaa risuaita pois seuraavan rivin edestä:

#force_color_prompt=yes

Tämä mahdollistaa ylipäätään värien käyttämisen PS1-määrityksissä.

Halusin lisätä myös taustakuvan Terminaliin. Tein sen ensin käsin, eli latasin https://unsplash.com/ sivustolta ilmaisen kuvan ja valitsin Terminalista Edit -> Preferences. Appearance välilehdeltä tein kuvan mukaiset asetukset:

terminalsettings

Kehotteen muokkaamisen ja taustakuvan lisäämisen jälkeen Terminal näytti nyt tältä:

terminalCustom

Kuvan lisäys muokkasi tiedostoa polussa:

/home/juha/.config/xfce4/terminal/terminalrc

Sisältö näytti nyt tältä:

[Configuration]
BackgroundMode=TERMINAL_BACKGROUND_IMAGE
ColorForeground=#b7b7b7
ColorBackground=#131926
ColorCursor=#0f4999
ColorSelection=#163b59
ColorSelectionUseDefault=FALSE
ColorBoldUseDefault=FALSE
ColorPalette=#000000;#aa0000;#44aa44;#aa5500;#0039aa;#aa22aa;#1a92aa;#aaaaaa;#777777;#ff8787;#4ce64c;#ded82c;#$
FontName=DejaVu Sans Mono 9
MiscAlwaysShowTabs=FALSE
MiscBell=FALSE
MiscBordersDefault=TRUE
MiscCursorBlinks=FALSE
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
MiscDefaultGeometry=80×24
MiscInheritGeometry=FALSE
MiscMenubarDefault=TRUE
MiscMouseAutohide=FALSE
MiscToolbarDefault=FALSE
MiscConfirmClose=TRUE
MiscCycleTabs=TRUE
MiscTabCloseButtons=TRUE
MiscTabCloseMiddleClick=TRUE
MiscTabPosition=GTK_POS_TOP
MiscHighlightUrls=TRUE
MiscScrollAlternateScreen=TRUE
TabActivityColor=#0f4999
BackgroundImageFile=/home/juha/Downloads/JTerminalTausta.jpg
BackgroundDarkness=0,000000
BackgroundImageStyle=TERMINAL_BACKGROUND_STYLE_CENTERED

19.54 : Graafisen käyttöliittymän konfigurointi

Päätin konfiguroida VLC Media Playerin haluamakseni.

Asensin VLC:n komennolla:

sudo apt-get -y install vlc

Asennuksen yhteydessä VLC loi asetustiedoston polkuun:

/home/juha/.config/vlc/vlcrc

Avasin tiedoston nanolla ja muutin alla näkyvät rivit seuraaviksi:

# Start in minimal view (without menus) (boolean)
qt-minimal-view=1

# Resize interface to the native video size (boolean)
qt-video-autoresize=1

Näin VLC avautuu oletuksena ilman valikoita ja mukauttaa kokonsa aina videon natiiviin kokoon.

Testinä, avasin VLC:n ja se näytti tältä:

vlcmin

Ei valikoita näkyvissä, asetus siis toimii.

21.14 : Konfigurointi Puppetilla

Nyt tiesin, mitä asetustiedostoja on muutettava, jotta haluamani muutokset tulisivat voimaan.

Hain ja ajoin GitHubistani setup.sh tiedoston komennolla:

wget -O – https://raw.githubusercontent.com/JuhaPit/Puppet/master/setup.sh | bash

Lisäsin Terminalin taustakuvan Git-repon juureen.

Lisäsin setup.sh skriptiin kuvan siirron käyttäjän Downloads kansioon:

sudo cp ./Puppet/JTerminalTausta.jpg /home/$(whoami)/Downloads

Tein Git-kansiossa olevaan puppet/modules hakemistoon uuden kansion nimeltä “desktop”.

Tähän hakemistoon loin “manifests” ja “templates” kansion.

Kopioin kaikki tarvitsemani asetustiedostot ollessani “templates”-kansiossa komennoilla:

cp /home/juha/.bashrc ./

cp /home/juha/.config/xfce4/terminal/terminalrc ./

cp /home/juha/.config/vlc/vlcrc ./

Siirryin “manifests” kansioon, johon loin init.pp tiedoston.

Tiedoston sisällöksi tuli tämä:

class desktop {
File { owner => ‘0’, group => ‘0’, mode => ‘0644’, }
Package { ensure => ‘installed’, allowcdrom => true, }
$userhome = ‘/home/juha’

package { ‘vlc’:}

file { “${userhome}/.bashrc”:
content => template(“desktop/.bashrc”),
}

file {“${userhome}/.config/xfce4/terminal/terminalrc”:
content => template(“desktop/terminalrc”),
}

file {“${userhome}/.config/vlc/vlcrc”:
content => template(“desktop/vlcrc”),
}
}

Puppet toimii root-käyttäjäoikeuksin, joten halutun käyttäjän kotihakemistoa on mahdotonta määrittää. Siksi tein itselleni muuttujan “userhome”, jossa on polku omaan kotihakemistooni.

Lisäsin puppet/manifests/site.pp tiedostoon rivin:

include desktop

Ajoin site.pp tiedoston komennolla:

sudo puppet apply /etc/puppet/manifests/site.pp

Tulokseksi sain:

Notice: Compiled catalog for juhamaster.home in environment production in 0.59 seconds
Notice: Finished catalog run in 0.12 seconds

Oletettavaa, että mitään ei tehty, sillä olen luonut Puppetin asettamat asetustiedostojen sisällöt tämän hetkisillä tiedostoilla. Huolestuttavaa pikemminkin olisi, jos jotain olisi tapahtunut. Moduuli kuitenkin toimii!

Tein pushin GitHubiin.

22.41 : Testaus

Poistin kaikki tekemäni muutokset koneelta, eli poistin kokonaan VLC:n, asetin Terminalin taustakuvan takaisin mustaksi ja poistin värimääritykset .bashrc tiedostosta.

Poistin myös git-kansion, joka luodaan setup.sh skriptissä.

Sen jälkeen hain ja ajoin setup.sh skriptin komennolla:

wget -O – https://raw.githubusercontent.com/JuhaPit/Puppet/master/setup.sh | bash

Skripti toimi juuri niin kuin pitikin, sillä VLC asennettiin haluamillani asetuksilla, Terminalin taustakuva vaihtui ja värimääritykset tulivat voimaan kun avasin Terminalin uudelleen.

LÄHTEET:

https://www.digitalocean.com/community/tutorials/how-to-customize-your-bash-prompt-on-a-linux-vps

http://terokarvinen.com/2016/short-bash-prompt-export-ps1w